86036c43af5c966dbaaeaefe09b8c2a4e5fe6f9e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-11-05  Dan Bernstein  <mitz@apple.com>
2
3         Remove the unused deletion UI feature
4         https://bugs.webkit.org/show_bug.cgi?id=138442
5
6         Rubber-stamped by Alexey Proskuryakov.
7
8         * Resources/deleteButton.png: Removed.
9         * Resources/deleteButton@2x.png: Removed.
10         * Resources/deleteButtonPressed.png: Removed.
11         * Resources/deleteButtonPressed@2x.png: Removed.
12
13         * WebCore.xcodeproj/project.pbxproj: Removed references to removed files.
14
15         * dom/ContainerNode.cpp:
16         (WebCore::ContainerNode::cloneChildNodes): Folded the below helper function into this member
17         function, after removing the deleteButtonContainerElement parameter.
18         (WebCore::cloneChildNodesAvoidingDeleteButton): Deleted.
19
20         * editing/CompositeEditCommand.cpp:
21         (WebCore::EditCommandComposition::unapply): Removed use of
22         DeleteButtonControllerDisableScope.
23         (WebCore::EditCommandComposition::reapply): Ditto.
24         (WebCore::CompositeEditCommand::apply): Ditto.
25
26         * editing/DeleteButton.cpp: Removed.
27         * editing/DeleteButton.h: Removed.
28         * editing/DeleteButtonController.cpp: Removed.
29         * editing/DeleteButtonController.h: Removed.
30
31         * editing/EditCommand.cpp:
32         (WebCore::EditCommand::EditCommand): Removed use of
33         Editor::avoidIntersectionWithDeleteButtonController.
34
35         * editing/Editor.cpp:
36         (WebCore::Editor::Editor): Removed initialization of m_deleteButtonController.
37         (WebCore::Editor::rangeForPoint): Removed use of avoidIntersectionWithDeleteButtonController.
38         (WebCore::Editor::editorUIUpdateTimerFired): Removed call to DeleteButtonController function.
39         (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted.
40         (WebCore::Editor::deviceScaleFactorChanged): Deleted.
41
42         * editing/Editor.h:
43         (WebCore::Editor::deleteButtonController): Deleted.
44         (WebCore::Editor::avoidIntersectionWithDeleteButtonController): Deleted.
45
46         * editing/MarkupAccumulator.cpp:
47         (WebCore::MarkupAccumulator::serializeNodes): Removed nodeToSkip parameter.
48         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Ditto.
49
50         * editing/MarkupAccumulator.h:
51
52         * editing/markup.cpp:
53         (WebCore::createMarkupInternal): Removed updateRange parameter, which had become identical
54         to the range parameter, and changed to use the latter everywhere instead.
55         (WebCore::createMarkup): Don’t compute and pass separate updateRanage parameter.
56
57         * loader/EmptyClients.h: Removed shouldShowDeleteInterface override.
58         * page/EditorClient.h: Removed shouldShowDeleteInterface.
59
60         * page/Page.cpp:
61         (WebCore::Page::setDeviceScaleFactor): Removed call to Editor::deviceScaleFactorChanged.
62
63         * page/PageSerializer.cpp:
64         (WebCore::PageSerializer::serializeFrame): Updated for MarkupAccumulator::serializeNodes change.
65
66         * testing/Internals.cpp:
67         (WebCore::Internals::findEditingDeleteButton): Deleted.
68         * testing/Internals.h:
69         * testing/Internals.idl:
70
71 2014-11-04  David Hyatt  <hyatt@apple.com>
72
73         Descendant ends up in wrong flow thread with nested columns and spans.
74         https://bugs.webkit.org/show_bug.cgi?id=137273
75
76         Reviewed by Simon Fraser.
77
78         Unskipped the two problematic span tests.
79
80         * rendering/RenderMultiColumnFlowThread.cpp:
81         (WebCore::isValidColumnSpanner):
82         Remove the guard and comment and added the assertion back in.
83
84         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
85         Changed to no longer use handleSpannerRemoval. Because the spanner was removed from the flow thread's map,
86         handleSpannerRemoval was a no-op. So instead I just removed the placeholder by hand.
87
88         The second fix was to stop destroying the placeholder. Since the placeholder can just have been inserted, you
89         can't delete it, since otherwise code further up the stack will access the deleted object. For now, we just
90         leak the placeholder.
91
92         The third fix is to make sure the subtreeRoot is properly updated to be the new placeholder.
93
94 2014-11-05  Andreas Kling  <akling@apple.com>
95
96         RenderBlock shouldn't need a pre-destructor hook.
97         <https://webkit.org/b/138430>
98
99         Reviewed by Antti Koivisto.
100
101         All that was interesting in RenderBlock::willBeDestroyed() has migrated
102         to RenderBlockFlow. removeFromUpdateScrollInfoAfterLayoutTransaction()
103         can be called from the plain destructor, so just move it there.
104
105         We don't have to worry about destroyLeftoverChildren(), since RenderElement
106         will take care of that for us.
107
108         * rendering/RenderBlock.cpp:
109         (WebCore::RenderBlock::~RenderBlock):
110         (WebCore::RenderBlock::willBeDestroyed): Deleted.
111         * rendering/RenderBlock.h:
112
113 2014-11-05  Chris Dumez  <cdumez@apple.com>
114
115         Remove 2 unnecessary virtual functions on InputType
116         https://bugs.webkit.org/show_bug.cgi?id=138433
117
118         Reviewed by Andreas Kling.
119
120         Remove 2 unused virtual functions on InputType:
121         - valueAttributeChanged()
122         - updateClearButtonVisibility()
123
124         No new tests, no behavior change.
125
126         * html/HTMLInputElement.cpp:
127         (WebCore::HTMLInputElement::parseAttribute):
128         (WebCore::HTMLInputElement::updateClearButtonVisibility): Deleted.
129         * html/HTMLInputElement.h:
130         * html/InputType.cpp:
131         (WebCore::InputType::valueAttributeChanged): Deleted.
132         (WebCore::InputType::updateClearButtonVisibility): Deleted.
133         * html/InputType.h:
134
135 2014-11-05  Chris Dumez  <cdumez@apple.com>
136
137         Re-evaluate if a repetitive timer should be throttled upon firing
138         https://bugs.webkit.org/show_bug.cgi?id=138339
139
140         Reviewed by Gavin Barraclough.
141
142         Re-evaluate if a repetitive timer should be throttled upon firing in
143         case the plugin observability state has changed:
144         - It used to be visible but now isn't and thus the timer can be throttled
145         - It used to play audio but now doesn't and thus the timer can be throttled
146
147         We already stopped throttling if the plugin became observable. However,
148         we didn't start throttling if the plugin became non-observable.
149
150         * page/DOMTimer.cpp:
151         (WebCore::DOMTimer::updateThrottlingStateIfNecessary):
152
153 2014-11-03  Dean Jackson  <dino@apple.com>
154
155         Add ENABLE_FILTERS_LEVEL_2 feature guard.
156         https://bugs.webkit.org/show_bug.cgi?id=138362
157
158         Reviewed by Tim Horton.
159
160         Add a new feature define for Level 2 of CSS Filters.
161         http://dev.w3.org/fxtf/filters-2/
162
163         * Configurations/FeatureDefines.xcconfig:
164
165 2014-11-05  Chris Dumez  <cdumez@apple.com>
166
167         Move text-align CSS property to the new StyleBuilder
168         https://bugs.webkit.org/show_bug.cgi?id=138398
169
170         Reviewed by Antti Koivisto.
171
172         Move text-align CSS property from DeprecatedStyleBuilder to the new
173         StyleBuilder so that it is now generated from CSSPropertyNames.in.
174         This patch adds a TextAlign Converter to support this.
175
176         No new tests, no behavior change.
177
178         * css/CSSPropertyNames.in:
179         * css/DeprecatedStyleBuilder.cpp:
180         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
181         (WebCore::ApplyPropertyTextAlign::applyValue): Deleted.
182         (WebCore::ApplyPropertyTextAlign::createHandler): Deleted.
183         * css/StyleBuilderConverter.h:
184         (WebCore::StyleBuilderConverter::convertTextAlign):
185
186 2014-11-05  Sanghyup Lee  <sh53.lee@samsung.com>
187
188         Fix build warning in SVGMarkerElement.cpp
189         https://bugs.webkit.org/show_bug.cgi?id=138407
190
191         Reviewed by Darin Adler.
192
193         Build warning in debug cause 'comparison of unsigned expression >= 0 is always true [-Wtype-limits]'
194
195         * svg/SVGMarkerElement.cpp:
196         (WebCore::SVGMarkerElement::orientType): Removed useless condition in ASSERT.
197
198 2014-11-05  Chris Dumez  <cdumez@apple.com>
199
200         Stop special-casing the empty string in HTMLInputElement.type setter
201         https://bugs.webkit.org/show_bug.cgi?id=138403
202
203         Reviewed by Ryosuke Niwa.
204
205         Stop special-casing the empty string in HTMLInputElement.type setter.
206         Previously, if input.type is set to "", we would remove the type
207         attribute. This is inconsistent with the specification and the behavior
208         of other browsers (tested Firefox 33 and Chrome 38). Instead, we should
209         set the attribute to the empty string.
210
211         Also stop treating null as a null string to align with the
212         specification and other browsers (tested Firefox 33 and Chrome 38).
213
214         Finally, update HTMLInputElement::setType() to take an AtomicString in
215         argument instead of a String as it ends up calling setAttribute(), and
216         thus needing an AtomicString.
217
218
219         Test: fast/dom/HTMLInputElement/input-type-attribute.html
220
221         * html/FileInputType.cpp:
222         (WebCore::UploadButtonElement::UploadButtonElement):
223         * html/HTMLInputElement.cpp:
224         (WebCore::HTMLInputElement::setType):
225         * html/HTMLInputElement.h:
226         * html/HTMLInputElement.idl:
227
228 2014-11-05  peavo@outlook.com  <peavo@outlook.com>
229
230         [WinCairo] Compile error, missing guard.
231         https://bugs.webkit.org/show_bug.cgi?id=138421
232
233         Reviewed by Brent Fulgham.
234
235         There is missing a guard for CSS_SELECTORS_LEVEL4 in CSSParserValues.cpp.
236
237         * css/CSSParserValues.cpp:
238
239 2014-11-05  Antti Koivisto  <antti@apple.com>
240
241         REGRESSION(r175601): Assertion failures in SimpleLineLayout
242         https://bugs.webkit.org/show_bug.cgi?id=138422
243
244         Check for end.
245
246         * rendering/SimpleLineLayout.cpp:
247         (WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter):
248         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
249
250 2014-11-05  Andreas Kling  <akling@apple.com>
251
252         Simple line layout: support text-transform: lowercase|uppercase|capitalize
253         <https://webkit.org/b/138406>
254
255         Reviewed by Antti Koivisto.
256
257         Expand the simple line layout coverage to include all text-transform values.
258         Since the property works on the text string level, it's really only a matter
259         of removing the short-circuit.
260
261         Test: fast/text/simple-lines-text-transform.html
262
263         * rendering/SimpleLineLayout.cpp:
264         (WebCore::SimpleLineLayout::canUseFor):
265
266 2014-11-05  Jer Noble  <jer.noble@apple.com>
267
268         [EME][Mac] Allow the client to specify FPS protocol versions in the keySystem type field.
269         https://bugs.webkit.org/show_bug.cgi?id=138380
270
271         Reviewed by Eric Carlson.
272
273         Parse out the requested FPS protocol version of the keySystem type string and pass it to
274         AVStreamDataParser as an options dictionary.
275
276         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
277         (WebCore::validKeySystemRE): Added, match comma-separated version suffixes.
278         (WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Call above.
279         (WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Parse out the version numbers
280             and pass into the session as a vector.
281         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
282         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
283         (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Take a vector of
284             protocol version numbers.
285         (WebCore::CDMSessionMediaSourceAVFObjC::update): Create an NSArray and pass into
286             the key request creation method in an options dictionary.
287
288 2014-11-05  Antti Koivisto  <antti@apple.com>
289
290         Move HTTPHeaderMap encoding to the class
291         https://bugs.webkit.org/show_bug.cgi?id=138412
292
293         Reviewed by Andreas Kling.
294
295         * platform/network/HTTPHeaderMap.h:
296         (WebCore::HTTPHeaderMap::encode):
297         (WebCore::HTTPHeaderMap::decode):
298
299             Use generic encoding for the uncommon header map. Common headers still require custom code due to the enum class.
300
301 2014-11-04  Beth Dakin  <bdakin@apple.com>
302
303         Un-anchor data detector popovers on scroll
304         https://bugs.webkit.org/show_bug.cgi?id=138385
305         -and corresponding-
306         rdar://problem/18869345
307
308         Reviewed by Tim Horton.
309
310         * platform/spi/mac/DataDetectorsSPI.h:
311
312 2014-11-04  Chris Dumez  <cdumez@apple.com>
313
314         Avoid double hash table lookup in SpaceSplitStringData::create()
315         https://bugs.webkit.org/show_bug.cgi?id=138396
316
317         Reviewed by Ryosuke Niwa.
318
319         Avoid double hash table lookup in SpaceSplitStringData::create() by
320         calling HashMap::add() and using the AddResult, instead of calling
321         HashMap::get() then HashMap::add().
322
323         No new tests, no behavior change.
324
325         * dom/SpaceSplitString.cpp:
326         (WebCore::SpaceSplitStringData::create):
327
328 2014-11-04  Zalan Bujtas  <zalan@apple.com>
329
330         Simple line layout: Abstract out content iteration and text handling in general.
331         https://bugs.webkit.org/show_bug.cgi?id=138346
332
333         Reviewed by Antti Koivisto.
334
335         Add a class that can act as the primary iterator/fragment handling interface to the line parser.
336         This helps adding support multiple renderer elements without changing the parser logic.
337         Currently it operates strictly on the first child of the RenderBlockFlow.  
338
339         Covered by existing tests.
340
341         * rendering/SimpleLineLayout.cpp:
342         (WebCore::SimpleLineLayout::FlowContentIterator::FlowContentIterator):
343         (WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition):
344         (WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition):
345         (WebCore::SimpleLineLayout::FlowContentIterator::textWidth):
346         (WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter):
347         (WebCore::SimpleLineLayout::FlowContentIterator::isEndOfContent):
348         (WebCore::SimpleLineLayout::FlowContentIterator::style):
349         (WebCore::SimpleLineLayout::computeLineLeft):
350         (WebCore::SimpleLineLayout::TextFragment::TextFragment):
351         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
352         (WebCore::SimpleLineLayout::initializeNewLine):
353         (WebCore::SimpleLineLayout::splitFragmentToFitLine):
354         (WebCore::SimpleLineLayout::nextFragment):
355         (WebCore::SimpleLineLayout::createLineRuns):
356         (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
357         (WebCore::SimpleLineLayout::createTextRuns):
358         (WebCore::SimpleLineLayout::create):
359         (WebCore::SimpleLineLayout::skipWhitespace): Deleted.
360         (WebCore::SimpleLineLayout::textWidth): Deleted.
361         * rendering/SimpleLineLayout.h:
362
363 2014-11-04  Jeremy Jones  <jeremyj@apple.com>
364
365         Fix build after r138351
366         https://bugs.webkit.org/show_bug.cgi?id=138401
367
368         Ureviewed. Make return type match.
369
370         * platform/ios/WebCoreSystemInterfaceIOS.mm:
371
372 2014-11-04  Tim Horton  <timothy_horton@apple.com>
373
374         Add bundle SPI allowing PageOverlay to customize the action menu
375         https://bugs.webkit.org/show_bug.cgi?id=138388
376         <rdar://problem/18875579>
377
378         Reviewed by Anders Carlsson.
379
380         * page/PageOverlayController.h:
381         Expose the list of all overlays.
382
383 2014-11-03  Jeremy Jones  <jeremyj@apple.com>
384
385         Add button and enable optimized fullscreen.
386         https://bugs.webkit.org/show_bug.cgi?id=138351
387
388         Reviewed by Eric Carlson.
389
390         Added optimizedFullscreenButton to js media element controls. Remove #if conditional 
391         and use optimizedFullscreenSupported to enable feature at runtime
392
393         * Modules/mediacontrols/MediaControlsHost.cpp:
394         (WebCore::MediaControlsHost::enterFullscreenOptimized): enable
395         (WebCore::MediaControlsHost::optimizedFullscreenSupported): added
396         * Modules/mediacontrols/MediaControlsHost.h: add optimizedFullscreenSupported
397         * Modules/mediacontrols/MediaControlsHost.idl: ditto
398         * Modules/mediacontrols/mediaControlsApple.css:
399         (audio::-webkit-media-controls-optimized-fullscreen-button): added
400         * Modules/mediacontrols/mediaControlsApple.js:
401         (Controller.prototype.createControls): add button
402         (Controller.prototype.handleReadyStateChange): update button
403         (Controller.prototype.updateOptimizedFullscreenButton): added
404         * Modules/mediacontrols/mediaControlsiOS.css:
405         (audio::-webkit-media-controls-optimized-fullscreen-button): added
406         (video::-webkit-media-controls-optimized-fullscreen-button): added
407         (video::-webkit-media-controls-optimized-fullscreen-button:active): added
408         * Modules/mediacontrols/mediaControlsiOS.js:
409         (ControllerIOS.prototype.createControls): listen for events from optimizedFullscreenButton
410         (ControllerIOS.prototype.configureInlineControls): add button for non-audio when supported.
411         (ControllerIOS.prototype.handleBaseGestureChange): 2-finger double-tap gesture for optimized fullscreen
412         (ControllerIOS.prototype.handleWrapperTouchStart): ditto
413         (ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): added
414         (ControllerIOS.prototype.handleOptimizedFullscreenTouchStart): added 
415         (ControllerIOS.prototype.handleOptimizedFullscreenTouchEnd): added
416         (ControllerIOS.prototype.handleOptimizedFullscreenTouchCancel): added
417         (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart): fix typo
418         (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd): fix typo
419         (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel): fix typo
420         * WebCore.exp.in:
421         * platform/ios/WebCoreSystemInterfaceIOS.h: added wkIsOptimizedFullscreenSupported
422         * platform/ios/WebCoreSystemInterfaceIOS.mm: added wkIsOptimizedFullscreenSupported
423         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
424         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
425         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): enable feature
426         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): enable feature
427         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): only request exit when entered and not requested exit
428         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
429
430 2014-11-04  Joseph Pecoraro  <pecoraro@apple.com>
431
432         Web Inspector: Pause on exceptions should show the actual exception
433         https://bugs.webkit.org/show_bug.cgi?id=63096
434
435         Reviewed by Timothy Hatcher.
436
437         * inspector/InspectorInstrumentation.cpp:
438         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
439         Pass assertion message on.
440
441 2014-11-04  Reza Abbasian  <rabbasian@apple.com>
442
443         [iOS] Fix incorrect interface orientation that can be caused by fullscreen video dismissal.
444         https://bugs.webkit.org/show_bug.cgi?id=137930.
445
446         Reviewed by Jer Noble.
447
448         When a fullscreen video gets dismissed programmatically, for instance for removing
449         a webview from the view hierarchy, it can put the device in an incorrect orientation.
450         Make sure we retain the window of parentView when we attempt to go to fullscreen and use
451         the retained window for putting the device in correct orientation after dismissal.
452
453         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
454         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
455         (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
456         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
457         (WebVideoFullscreenInterfaceAVKit::invalidate):
458
459 2014-11-04  Andreas Kling  <akling@apple.com>
460
461         Remove two unused ScrollingCoordinator methods.
462         <https://webkit.org/b/138377>
463
464         Reviewed by Chris Dumez.
465
466         These appear to be leftovers from the now-defunct chromium port.
467
468         * page/scrolling/ScrollingCoordinator.cpp:
469         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea): Deleted.
470         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea): Deleted.
471         * page/scrolling/ScrollingCoordinator.h:
472
473 2014-11-04  Chris Dumez  <cdumez@apple.com>
474
475         Add ptr() method to Ref class
476         https://bugs.webkit.org/show_bug.cgi?id=138361
477
478         Reviewed by Darin Adler.
479
480         Use the new Ref::ptr() method.
481
482         No new tests, no behavior change.
483
484         * accessibility/AccessibilityMenuList.cpp:
485         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
486         * bindings/js/JSHTMLAllCollectionCustom.cpp:
487         (WebCore::getNamedItems):
488         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
489         (WebCore::getNamedItems):
490         * css/CSSStyleRule.h:
491         * css/CSSStyleSheet.cpp:
492         (WebCore::CSSStyleSheet::insertRule):
493         * css/CSSValueList.h:
494         (WebCore::CSSValueList::item):
495         (WebCore::CSSValueList::itemWithoutBoundsCheck):
496         * css/InspectorCSSOMWrappers.cpp:
497         (WebCore::InspectorCSSOMWrappers::collect):
498         * dom/ChildListMutationScope.cpp:
499         (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator):
500         (WebCore::ChildListMutationAccumulator::childAdded):
501         * dom/ChildNodeList.cpp:
502         (WebCore::ChildNodeList::namedItem):
503         * dom/ContainerNode.cpp:
504         (WebCore::ContainerNode::removeChild):
505         * dom/CurrentScriptIncrementer.h:
506         (WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
507         (WebCore::CurrentScriptIncrementer::~CurrentScriptIncrementer):
508         * dom/MutationRecord.cpp:
509         * dom/NodeRareData.h:
510         (WebCore::NodeListsNodeData::ensureChildNodeList):
511         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
512         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
513         * dom/Range.cpp:
514         (WebCore::Range::setDocument):
515         * dom/ScriptElement.cpp:
516         (WebCore::ScriptElement::requestScript):
517         (WebCore::ScriptElement::executeScript):
518         * dom/StaticNodeList.cpp:
519         (WebCore::StaticNodeList::item):
520         (WebCore::StaticElementList::item):
521         * editing/CompositeEditCommand.cpp:
522         (WebCore::CompositeEditCommand::moveRemainingSiblingsToNewParent):
523         * editing/DictationCommand.cpp:
524         (WebCore::DictationCommand::insertText):
525         * editing/DictationCommand.h:
526         * editing/Editor.cpp:
527         (WebCore::Editor::insertTextWithoutSendingTextEvent):
528         * editing/ReplaceNodeWithSpanCommand.cpp:
529         (WebCore::swapInNodePreservingAttributesAndChildren):
530         * editing/SimplifyMarkupCommand.cpp:
531         (WebCore::SimplifyMarkupCommand::doApply):
532         * editing/markup.cpp:
533         (WebCore::hasOneChild):
534         (WebCore::hasOneTextChild):
535         (WebCore::replaceChildrenWithFragment):
536         (WebCore::replaceChildrenWithText):
537         * html/HTMLFormControlElement.cpp:
538         (WebCore::HTMLFormControlElement::checkValidity):
539         * html/HTMLFormElement.cpp:
540         (WebCore::HTMLFormElement::getNamedElements):
541         * html/HTMLLinkElement.cpp:
542         (WebCore::HTMLLinkElement::shouldLoadLink):
543         * inspector/InspectorStyleSheet.cpp:
544         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
545         (WebCore::InspectorStyleSheet::buildObjectForRule):
546         (WebCore::InspectorStyleSheet::revalidateStyle):
547         * loader/FrameLoader.cpp:
548         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
549         * page/FocusController.cpp:
550         (WebCore::FocusController::setFocusedElement):
551         * page/PageSerializer.cpp:
552         (WebCore::PageSerializer::retrieveResourcesForRule):
553         * page/PageSerializer.h:
554         * page/animation/AnimationController.cpp:
555         (WebCore::AnimationController::updateAnimations):
556         * platform/graphics/ca/TileCoverageMap.cpp:
557         (WebCore::TileCoverageMap::platformCALayerPaintContents):
558         * rendering/ClipPathOperation.h:
559         * rendering/RenderBlock.cpp:
560         (WebCore::styleForFirstLetter):
561         (WebCore::RenderBlock::updateFirstLetterStyle):
562         (WebCore::RenderBlock::createFirstLetterRenderer):
563         * rendering/RenderBlockFlow.cpp:
564         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
565         * rendering/RenderBlockFlow.h:
566         * rendering/RenderBox.cpp:
567         (WebCore::RenderBox::styleDidChange):
568         * rendering/RenderElement.cpp:
569         (WebCore::RenderElement::setStyle):
570         (WebCore::RenderElement::styleDidChange):
571         * rendering/RenderNamedFlowFragment.cpp:
572         (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
573         * rendering/RenderTextControl.cpp:
574         (WebCore::RenderTextControl::adjustInnerTextStyle):
575         * rendering/RenderTextControl.h:
576         * rendering/RenderTextControlMultiLine.cpp:
577         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
578         * rendering/RenderTextControlSingleLine.cpp:
579         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
580         * rendering/style/DataRef.h:
581         (WebCore::DataRef::get):
582         (WebCore::DataRef::access):
583         (WebCore::DataRef::operator==):
584         (WebCore::DataRef::operator!=):
585         * rendering/style/RenderStyle.cpp:
586         (WebCore::RenderStyle::changeRequiresLayout):
587         (WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
588         (WebCore::RenderStyle::changeRequiresLayerRepaint):
589         (WebCore::RenderStyle::changeRequiresRepaint):
590         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
591         (WebCore::RenderStyle::changeRequiresRecompositeLayer):
592         (WebCore::RenderStyle::diff):
593         (WebCore::RenderStyle::diffRequiresLayerRepaint):
594         * rendering/style/RenderStyle.h:
595         * rendering/style/StyleGeneratedImage.cpp:
596         (WebCore::StyleGeneratedImage::cssValue):
597         * rendering/style/StyleGeneratedImage.h:
598         * style/StyleResolveForDocument.cpp:
599         (WebCore::Style::resolveForDocument):
600         * style/StyleResolveTree.cpp:
601         (WebCore::Style::determineChange):
602         (WebCore::Style::resolveLocal):
603         (WebCore::Style::resolveTree):
604         * style/StyleResolveTree.h:
605
606 2014-11-04  Chris Dumez  <cdumez@apple.com>
607
608         Move -webkit-text-emphasis-position to the new StyleBuilder
609         https://bugs.webkit.org/show_bug.cgi?id=138359
610
611         Reviewed by Andreas Kling.
612
613         Move -webkit-text-emphasis-position from DeprecatedStyleBilder to the
614         new StyleBuilder so that it is now generated from CSSPropertyNames.in.
615         A new TextEmphasisPosition Converter was added to support this.
616
617         No new tests, no behavior change.
618
619         * css/CSSPropertyNames.in:
620         * css/DeprecatedStyleBuilder.cpp:
621         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
622         (WebCore::valueToEmphasisPosition): Deleted.
623         (WebCore::ApplyPropertyTextEmphasisPosition::applyValue): Deleted.
624         (WebCore::ApplyPropertyTextEmphasisPosition::createHandler): Deleted.
625         * css/StyleBuilderConverter.h:
626         (WebCore::StyleBuilderConverter::valueToEmphasisPosition):
627         (WebCore::StyleBuilderConverter::convertTextEmphasisPosition):
628
629 2014-11-04  Andreas Kling  <akling@apple.com>
630
631         RenderBox shouldn't need a pre-destructor hook.
632         <https://webkit.org/b/138367>
633
634         Reviewed by Antti Koivisto.
635
636         Move teardown logic from willBeDestroyed() to the regular ~RenderBox()
637         destructor since none of it depends on being in-tree or having a fully
638         constructed vtable.
639
640         * rendering/RenderBox.cpp:
641         (WebCore::RenderBox::~RenderBox):
642         (WebCore::RenderBox::willBeDestroyed): Deleted.
643         * rendering/RenderBox.h:
644
645 2014-11-04  Myles C. Maxfield  <mmaxfield@apple.com>
646
647         [OSX] CJK characters styled with font-family: cursive are italicized
648         https://bugs.webkit.org/show_bug.cgi?id=138328
649         rdar://problem/18801907
650
651         Reviewed by Simon Fraser.
652
653         FontCache::createFontPlatformData doesn’t set the oblique flag if
654         the requested font isn’t oblique, but
655         FontCache::systemFallbackForCharacters() does. This patch simply
656         adopts this behavior in both places.
657
658         Test: fast/text/font-cursive-italic-cjk.html
659
660         * platform/graphics/mac/FontCacheMac.mm:
661         (WebCore::FontCache::systemFallbackForCharacters):
662
663 2014-11-04  Benjamin Poulain  <bpoulain@apple.com>
664
665         When computing the specificity of selectors, use saturated arithmetic per component
666         https://bugs.webkit.org/show_bug.cgi?id=138336
667
668         Reviewed by Andreas Kling.
669
670         The code handling overflow in CSSSelector::specificity() was assuming that the value
671         returned by specificityForOneSelector() can only overflow one field at a time.
672
673         That assumption is no longer correct with the extended :not(). It is now possible to have
674         a complex selector saturating multiple fields inside a single :not().
675
676         This patch solves the problem by considering each field independently.
677
678         Test: fast/selectors/specificity-overflow-2.html
679
680         * css/CSSSelector.cpp:
681         (WebCore::CSSSelector::specificity):
682
683 2014-11-04  Zalan Bujtas  <zalan@apple.com>
684
685         Windows build fix after r175565.
686
687         MSVC requires default c'tor even if it's never called. -0 length array.
688
689         * rendering/SimpleLineLayout.h:
690         (WebCore::SimpleLineLayout::Run::Run):
691
692 2014-11-04  Zalan Bujtas  <zalan@apple.com>
693
694         Simple line layout: Cleanup line initialization and line closing.
695         https://bugs.webkit.org/show_bug.cgi?id=138273
696
697         Reviewed by Antti Koivisto.
698
699         This is in preparation to support multiple render elements.
700
701         Move line start and line end activities to dedicated functions.
702
703         Covered by existing tests.
704
705         * rendering/SimpleLineLayout.cpp:
706         (WebCore::SimpleLineLayout::LineState::LineState): Add lineStartRunIndex to be more explicit
707         about whether a line advanced with new runs. Rename a few members. Introduce LineState::oveflowedFragment
708         so that line closing can handled separately.
709         (WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
710         (WebCore::SimpleLineLayout::LineState::addUncommitted):
711         (WebCore::SimpleLineLayout::LineState::jumpTo):
712         (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): Deleted. : Remove redundant function.  
713         (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
714         (WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace):
715         (WebCore::SimpleLineLayout::removeTrailingWhitespace): Add resetTrailingWhitespace()
716         so that all trailing whitespace handling is in one function.
717         (WebCore::SimpleLineLayout::initializeNewLine): Separate line start and line end initialization/reset.
718         (WebCore::SimpleLineLayout::createLineRuns):
719         (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns): This function manages all line ending activities.
720         (WebCore::SimpleLineLayout::createTextRuns):
721         (WebCore::SimpleLineLayout::create):
722         (WebCore::SimpleLineLayout::initializeLine): Deleted.
723         * rendering/SimpleLineLayout.h:
724         (WebCore::SimpleLineLayout::Run::Run): Deleted.
725
726 2014-11-04  Tim Horton  <timothy_horton@apple.com>
727
728         Implement yellow highlight over data detected items
729         https://bugs.webkit.org/show_bug.cgi?id=138340
730         <rdar://problem/18840102>
731
732         Reviewed by Anders Carlsson.
733
734         * platform/spi/mac/DataDetectorsSPI.h:
735         Add completionHandler SPI.
736
737 2014-11-04  Darin Adler  <darin@apple.com>
738
739         Eliminate ResourceBuffer and use SharedBuffer directly instead
740         https://bugs.webkit.org/show_bug.cgi?id=138174
741
742         Reviewed by Antti Koivisto.
743
744         Refactoring, with test coverage across many existing tests.
745
746         * CMakeLists.txt: Deleted ResourceBuffer.cpp.
747
748         * WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol
749         for one function that used to take a PassRefPtr but now takes a reference instead.
750
751         * WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h.
752         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
753         * WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h.
754
755         * bindings/objc/DOMUIKitExtensions.mm:
756         (-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly.
757         * editing/ios/EditorIOS.mm:
758         (WebCore::Editor::writeImageToPasteboard): Ditto.
759         * editing/mac/EditorMac.mm:
760         (WebCore::Editor::writeImageToPasteboard): Ditto.
761
762         * html/ImageDocument.cpp:
763         (WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and
764         also pass a reference only if non-null rather than passing a pointer.
765         (WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check.
766
767         * inspector/InspectorPageAgent.cpp:
768         (WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly.
769         (WebCore::InspectorPageAgent::mainResourceContent): Ditto.
770         * inspector/InspectorResourceAgent.cpp:
771         (WebCore::InspectorResourceAgent::didFinishLoading): Ditto.
772         (WebCore::InspectorResourceAgent::didFailLoading): Ditto.
773
774         * loader/DocumentLoader.cpp:
775         (WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly,
776         and use the copy function rather than a hand-written alternative.
777         (WebCore::DocumentLoader::maybeCreateArchive): Ditto.
778         (WebCore::DocumentLoader::mainResource): Ditto.
779         (WebCore::DocumentLoader::subresource): Ditto.
780         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto.
781
782         * loader/DocumentLoader.h: Changed mainResourceData to return a
783         PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&,
784         but it currently returns a newly created buffer when there is substitute
785         data and can also return null, even though many callers assume it will not!
786
787         * loader/MediaResourceLoader.cpp:
788         (WebCore::MediaResourceLoader::dataReceived): Removed call to unused client
789         function bufferReceived.
790         (WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer
791         argument to client function loadFinished.
792
793         * loader/ResourceBuffer.cpp: Removed.
794         * loader/ResourceBuffer.h: Removed.
795
796         * loader/ResourceLoader.cpp:
797         (WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly.
798
799         * loader/ResourceLoader.h:
800         (WebCore::ResourceLoader::resourceData): Use SharedBuffer.
801
802         * loader/SubresourceLoader.cpp:
803         (WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer.
804         (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto.
805
806         * loader/TextTrackLoader.cpp:
807         (WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer.
808         * loader/appcache/ApplicationCacheGroup.cpp:
809         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto.
810         * loader/archive/cf/LegacyWebArchive.cpp:
811         (WebCore::LegacyWebArchive::create): Ditto.
812
813         * loader/cache/CachedCSSStyleSheet.cpp:
814         (WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer.
815         * loader/cache/CachedCSSStyleSheet.h: Ditto.
816         * loader/cache/CachedFont.cpp:
817         (WebCore::CachedFont::finishLoading): Ditto.
818         (WebCore::CachedFont::ensureCustomFontData): Ditto.
819         * loader/cache/CachedFont.h: Ditto.
820
821         * loader/cache/CachedImage.cpp:
822         (WebCore::CachedImage::didAddClient): Use SharedBuffer.
823         (WebCore::CachedImage::didRemoveClient): Ditto.
824         (WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take
825         a reference rather than a pointer.
826         (WebCore::CachedImage::addDataBuffer): Ditto. Also added call through
827         to base class and changed to take a reference rather than a pointer.
828         (WebCore::CachedImage::addData): Ditto. Also added call through to base class.
829         (WebCore::CachedImage::finishLoading): Ditto.
830         * loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields
831         to be unsigned instead of unsigend char.
832
833         * loader/cache/CachedRawResource.cpp:
834         (WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer.
835         (WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take
836         a reference rather than a pointer.
837         (WebCore::CachedRawResource::addData): Ditto.
838         (WebCore::CachedRawResource::finishLoading): Ditto.
839         (WebCore::CachedRawResource::canReuse): Ditto.
840         * loader/cache/CachedRawResource.h: Ditto.
841
842         * loader/cache/CachedResource.cpp:
843         (WebCore::CachedResource::CachedResource): Reordered data members due to change
844         in header.
845         (WebCore::CachedResource::addDataBuffer): Changed argument type.
846         (WebCore::CachedResource::finishLoading): Ditto.
847         (WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash
848         table lookup by using the return value from the remove function.
849         (WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead
850         of using a function named "schedule" to allocate the callback object.
851         (WebCore::CachedResource::Callback::Callback): Changed function and data member
852         name.
853         (WebCore::CachedResource::Callback::cancel): Ditto.
854         (WebCore::CachedResource::Callback::timerFired): Ditto.
855         (WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&.
856
857         * loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most
858         data members and one function member private instead of protected. Also renamed the
859         CachedResource::CachedResourceCallback function CachedResource::Callback and moved
860         its definition out of the CachedResource class definition.
861
862         * loader/cache/CachedResourceClient.h: Removed unneeded include.
863
864         * loader/cache/CachedSVGDocument.cpp:
865         (WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer.
866
867         * loader/cache/CachedSVGDocument.h: Ditto. Made data members private.
868
869         * loader/cache/CachedScript.cpp:
870         (WebCore::CachedScript::finishLoading): Use SharedBuffer.
871         * loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded
872         forward declaration.
873
874         * loader/cache/CachedTextTrack.cpp:
875         (WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not
876         call addDataBuffer.
877         (WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData.
878         (WebCore::CachedTextTrack::finishLoading): Ditto.
879         * loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the
880         destructor. Updated for above changes.
881
882         * loader/cache/CachedXSLStyleSheet.cpp:
883         (WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer.
884         * loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything
885         private rather than protected. Added an explicit virtual constructor so we can
886         compile without knowing how to ref/deref TextResourceDecoder.
887
888         * loader/cf/SubresourceLoaderCF.cpp:
889         (WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer
890         and to call addDataBuffer only if there is a new data buffer.
891
892         * loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr.
893         * loader/cocoa/DiskCacheMonitorCocoa.mm:
894         (WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto.
895         (WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto.
896
897         * loader/icon/IconLoader.cpp:
898         (WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of
899         RefPtr<ResourceBuffer>.
900
901         * loader/mac/ResourceBuffer.mm: Removed.
902
903         * loader/mac/ResourceLoaderMac.mm:
904         (WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer.
905
906         * platform/SharedBuffer.cpp:
907         (WebCore::SharedBuffer::clear): Use a modern for loop.
908         (WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since
909         this never returns null. Use modern for loops.
910         (WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop.
911
912         * platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr.
913         Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than
914         a pointer.
915
916         * platform/cf/SharedBufferCF.cpp:
917         (WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference
918         instead of a pointer.
919
920         * platform/graphics/PlatformMediaResourceLoader.h: Removed unused function
921         bufferReceived and unneeded buffer argument from loadFinished. Also marked the
922         constructor explicit.
923
924         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
925         Removed include of ResourceBuffer.h.
926         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
927         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use
928         SharedBuffer directly.
929
930         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
931         (CachedResourceStreamingClient::loadFinished): Updated for change to
932         PlatformMediaResourceLoaderClient.
933
934         * platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h.
935
936         * platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded
937         tryReplaceContentsWithPlatformBuffer function.
938
939 2014-11-04  Chris Dumez  <cdumez@apple.com>
940
941         Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses
942         https://bugs.webkit.org/show_bug.cgi?id=138345
943
944         Reviewed by Andreas Kling.
945
946         Use SPECIALIZE_TYPE_TRAITS_*() macro for StyleRuleGroup subclasses
947         instead of old-fashion toXXX() functions.
948
949         No new tests, no behavior change.
950
951         * css/CSSMediaRule.cpp:
952         (WebCore::CSSMediaRule::mediaQueries):
953         * css/CSSSupportsRule.cpp:
954         (WebCore::CSSSupportsRule::conditionText):
955         * css/StyleRule.h:
956         (isType):
957         (WebCore::toStyleRuleMedia): Deleted.
958         (WebCore::toStyleRuleSupports): Deleted.
959         (WebCore::toStyleRuleRegion): Deleted.
960         * css/WebKitCSSRegionRule.cpp:
961         (WebCore::WebKitCSSRegionRule::cssText):
962
963 2014-11-04  Andreas Kling  <akling@apple.com>
964
965         RenderQuote shouldn't need a pre-destructor hook.
966         <https://webkit.org/b/138352>
967
968         Reviewed by Antti Koivisto.
969
970         The willBeDestroyed() hook in RenderQuote came from the time when it was
971         potential unsafe to access the RenderView from a renderer destructor.
972
973         Move the code to the plain ol' destructor instead.
974
975         * rendering/RenderQuote.cpp:
976         (WebCore::RenderQuote::~RenderQuote):
977         (WebCore::RenderQuote::willBeDestroyed): Deleted.
978         * rendering/RenderQuote.h:
979
980 2014-11-04  Csaba Osztrogonác  <ossy@webkit.org>
981
982         Fix the !ENABLE(VIDEO) build after r175380
983         https://bugs.webkit.org/show_bug.cgi?id=138322
984
985         Reviewed by Benjamin Poulain.
986
987         * html/HTMLImageLoader.cpp:
988         (WebCore::HTMLImageLoader::dispatchLoadEvent):
989
990 2014-11-03  Philippe Normand  <pnormand@igalia.com>
991
992         [LEAK] [GStreamer] Removing video element will not free assigned memory
993         https://bugs.webkit.org/show_bug.cgi?id=46560
994
995         Reviewed by Eric Carlson.
996
997         Moved the ::extraMemoryCost() implementation to the
998         MediaPlayerPivateInterface base class. This default implementation
999         is now shared between the various MediaPlayerPrivate backends,
1000         excepted the AVF MediaSource player which still reports no extra
1001         memory cost.
1002
1003         * platform/graphics/MediaPlayerPrivate.h:
1004         (WebCore::MediaPlayerPrivateInterface::totalBytes): Make
1005         totalBytes() part of the MediaPlayerPrivate interface.
1006         (WebCore::MediaPlayerPrivateInterface::extraMemoryCost): Default
1007         implementation.
1008         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1009         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): Deleted.
1010         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1011         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1012
1013 2014-11-04  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
1014
1015         Fix animation of orient attribute on marker element
1016         https://bugs.webkit.org/show_bug.cgi?id=137942
1017
1018         Reviewed by Dirk Schulze.
1019
1020         Fixed implementation of SVG animated angles and the SVG
1021         marker element orient attribute.
1022         SVG animated angle was missing the logic to support animation
1023         from auto to a numeric angle value - this is now added.
1024         The SVG marker element getter for orientType was not returning
1025         the animated value for orientType so in some cases (i.e. when
1026         the initial value and the animated values were of different types)
1027         the animation was not being rendered - although it was running.
1028
1029         Tests: svg/animations/animate-marker-orienttype-1.html
1030                svg/animations/animate-marker-orienttype-2.html
1031                svg/animations/animate-marker-orienttype-3.html
1032
1033         * svg/SVGAnimatedAngle.cpp:
1034         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
1035         Added logic to support auto to angle animation.
1036         * svg/SVGMarkerElement.cpp:
1037         (WebCore::SVGMarkerElement::orientType):
1038         This method now returns the animated value if an animation is
1039         running.
1040         * svg/SVGMarkerElement.h:
1041
1042 2014-11-03  Chris Dumez  <cdumez@apple.com>
1043
1044         Allow implicit conversion from Ref<T> to T&
1045         https://bugs.webkit.org/show_bug.cgi?id=138331
1046
1047         Reviewed by Andreas Kling.
1048
1049         Remove unnecessary calls to Ref<T>::get() now that a Ref<T> can be
1050         converted implicitly to a T&.
1051
1052         No new tests, no behavior change.
1053
1054 2014-11-03  Simon Fraser  <simon.fraser@apple.com>
1055
1056         Non-fast scrollable region overlay offsets the overlay by topContentInset
1057         https://bugs.webkit.org/show_bug.cgi?id=138344
1058
1059         Reviewed Tim Horton.
1060         
1061         Offset the region by topContentInset, and make it not green.
1062
1063         * page/DebugPageOverlays.cpp:
1064         (WebCore::NonFastScrollableRegionOverlay::updateRegion):
1065
1066 2014-11-03  Andreas Kling  <akling@apple.com>
1067
1068         Clarify RenderListMarker ownership model.
1069         <https://webkit.org/b/138329>
1070
1071         Reviewed by Antti Koivisto.
1072
1073         A RenderListMarker is either in-tree and owned by the tree, or out-of-tree
1074         and owned by a RenderListItem.
1075
1076         This patch changes RenderListItem::m_marker to be a raw pointer, and removes
1077         the special handling of list markers in RenderElement child teardown.
1078
1079         We also remove the willBeDestroyed() hook. It was used to clear out the
1080         m_marker pointer, but this is now done in the regular ~RenderListItem()
1081         destructor with an assertion for marker sanity. m_marker is automatically
1082         nulled out by a didDestroyListMarker() callback on RenderListItem.
1083
1084         * rendering/RenderElement.cpp:
1085         (WebCore::RenderElement::destroyLeftoverChildren):
1086
1087             Removed special handling of list marker renderers when deleting a
1088             RenderElement's children.
1089
1090         * rendering/RenderListItem.cpp:
1091         (WebCore::RenderListItem::RenderListItem):
1092         (WebCore::RenderListItem::~RenderListItem):
1093         (WebCore::RenderListItem::styleDidChange):
1094         (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
1095         (WebCore::RenderListItem::positionListMarker):
1096
1097             Made m_marker a raw pointer instead of a RenderPtr since the ownership
1098             really switches between weak and strong reference.
1099
1100         (WebCore::RenderListItem::willBeDestroyed):
1101         * rendering/RenderListMarker.cpp:
1102         (WebCore::RenderListMarker::~RenderListMarker):
1103
1104             Added a regular destructor to replace the willBeDestroyed() hook.
1105
1106         * rendering/RenderListItem.h:
1107         (WebCore::RenderListItem::didDestroyListMarker):
1108
1109             Added. Called by ~RenderListMarker to null out RenderListItem::m_marker.
1110
1111 2014-11-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1112
1113         Move WebCore/bridge to std::unique_ptr
1114         https://bugs.webkit.org/show_bug.cgi?id=138280
1115
1116         Reviewed by Anders Carlsson.
1117
1118         Clean up OwnPtr in WebCore/bridge.
1119
1120         No new tests, no behavior changes.
1121
1122         * bridge/c/c_class.cpp:
1123         (JSC::Bindings::CClass::methodNamed):
1124         (JSC::Bindings::CClass::fieldNamed):
1125         * bridge/c/c_class.h: Use std::unique_ptr instead of OwnPtr.
1126         * bridge/objc/objc_class.h: ditto.
1127         * bridge/objc/objc_class.mm:
1128         (JSC::Bindings::ObjcClass::methodNamed):
1129         (JSC::Bindings::ObjcClass::fieldNamed):
1130         * bridge/objc/objc_runtime.mm:
1131         (JSC::Bindings::callObjCFallbackObject):
1132         * bridge/runtime_method.h:
1133
1134 2014-11-03  Dan Bernstein  <mitz@apple.com>
1135
1136         Client certificate credentials with session persistence don’t work
1137         https://bugs.webkit.org/show_bug.cgi?id=138330
1138
1139         Reviewed by Alexey Proskuryakov.
1140
1141         I think this is not testable with our test HTTP server.
1142
1143         * platform/network/CredentialStorage.cpp:
1144         (WebCore::CredentialStorage::set): Don’t require a valid URL for client certificate
1145         credentials, since they don’t apply to a specific path. Don’t save such credentials to
1146         CFNetwork’s persistent storage (we only do that as a workaround for sharing credentials
1147         with the media framework, and we don’t want to expand the scope of the workaround).
1148         * platform/network/cf/ResourceHandleCFNet.cpp:
1149         (WebCore::ResourceHandle::receivedCredential): Changed to use the Credential consturctor
1150         that takes a Credential and a new persistence, so that this code works not only with
1151         user+password credentials.
1152
1153 2014-11-03  Simon Fraser  <simon.fraser@apple.com>
1154
1155         Add page overlays that show regions with mouseWheel event handlers, and the non-fast-scrollable region, and code to toggle them in MiniBrowser WK2
1156         https://bugs.webkit.org/show_bug.cgi?id=138257
1157
1158         Reviewed by Tim Horton.
1159
1160         Add code for debugging page overlays that show the non-fast scrollable region,
1161         and the region with wheel event handlers. The list of region types is intended
1162         to be easily extensible.
1163         
1164         A singleton DebugPageOverlays maintains a map of Frame -> vector of overlays.
1165         A purely inline code path is provided so that DebugPageOverlays::didLayout() is
1166         fast.
1167         
1168         For each region type, a PageOverlay::Client subclass knows how to generate
1169         the region, which is painted into a document-level page overlay.
1170         
1171         Add a set of bitflags to Settings to control region visibility.
1172
1173         * WebCore.exp.in:
1174         * WebCore.xcodeproj/project.pbxproj:
1175         * page/DebugPageOverlays.cpp: Added.
1176         (WebCore::RegionOverlay::overlay):
1177         (WebCore::MouseWheelRegionOverlay::updateRegion):
1178         (WebCore::NonFastScrollableRegionOverlay::updateRegion):
1179         (WebCore::RegionOverlay::create):
1180         (WebCore::RegionOverlay::RegionOverlay):
1181         (WebCore::RegionOverlay::~RegionOverlay):
1182         (WebCore::RegionOverlay::pageOverlayDestroyed):
1183         (WebCore::RegionOverlay::willMoveToPage):
1184         (WebCore::RegionOverlay::didMoveToPage):
1185         (WebCore::RegionOverlay::drawRect):
1186         (WebCore::RegionOverlay::mouseEvent):
1187         (WebCore::RegionOverlay::didScrollFrame):
1188         (WebCore::RegionOverlay::recomputeRegion):
1189         (WebCore::DebugPageOverlays::shared):
1190         (WebCore::indexOf):
1191         (WebCore::DebugPageOverlays::ensureRegionOverlayForFrame):
1192         (WebCore::DebugPageOverlays::showRegionOverlay):
1193         (WebCore::DebugPageOverlays::hideRegionOverlay):
1194         (WebCore::DebugPageOverlays::regionChanged):
1195         (WebCore::DebugPageOverlays::regionOverlayForFrame):
1196         (WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
1197         (WebCore::DebugPageOverlays::settingsChanged):
1198         * page/DebugPageOverlays.h: Added.
1199         (WebCore::DebugPageOverlays::hasOverlaysForFrame):
1200         (WebCore::DebugPageOverlays::hasOverlays):
1201         (WebCore::DebugPageOverlays::didLayout):
1202         * page/FrameView.cpp:
1203         (WebCore::FrameView::layout):
1204         * page/Settings.h:
1205         * page/Settings.in:
1206
1207 2014-11-03  Simon Fraser  <simon.fraser@apple.com>
1208
1209         Video controls have lots of compositing layers
1210         https://bugs.webkit.org/show_bug.cgi?id=138294
1211
1212         Reviewed by Eric Carlson.
1213
1214         After r175268 we get lots of separate small layers in the video
1215         controls (but they pop into a single layer when opacity animates).
1216         
1217         Fix this by putting an explicit z-index on -webkit-media-controls-panel
1218         which is the element that animates opacity.
1219
1220         * Modules/mediacontrols/mediaControlsApple.css:
1221         (audio::-webkit-media-controls-panel):
1222
1223 2014-11-03  Commit Queue  <commit-queue@webkit.org>
1224
1225         Unreviewed, rolling out r175406, r175413, and r175423.
1226         https://bugs.webkit.org/show_bug.cgi?id=138327
1227
1228         Multipart tests are still broken (Requested by ap on #webkit).
1229
1230         Reverted changesets:
1231
1232         "Eliminate ResourceBuffer and use SharedBuffer directly
1233         instead"
1234         https://bugs.webkit.org/show_bug.cgi?id=138174
1235         http://trac.webkit.org/changeset/175406
1236
1237         "Unreviewed, iOS build fix since 175406."
1238         http://trac.webkit.org/changeset/175413
1239
1240         "Fix assertion in CachedResource::addDataBuffer"
1241         http://trac.webkit.org/changeset/175423
1242
1243 2014-11-03  Chris Dumez  <cdumez@apple.com>
1244
1245         Unreviewed, fix bad assertion in r175487.
1246
1247         I mistakenly used it != values.end() instead of it == values.end()
1248         so the debug bots are crashing.
1249
1250         * css/StyleResolver.cpp:
1251         (WebCore::createGridPosition):
1252
1253 2014-11-03  Csaba Osztrogonác  <ossy@webkit.org>
1254
1255         Fix the !ENABLE(VIDEO) build after r175279
1256         https://bugs.webkit.org/show_bug.cgi?id=138320
1257
1258         Reviewed by Jer Noble.
1259
1260         * page/ChromeClient.h:
1261
1262 2014-11-03  Chris Dumez  <cdumez@apple.com>
1263
1264         Support modern range loops over CSSValueList
1265         https://bugs.webkit.org/show_bug.cgi?id=138285
1266
1267         Reviewed by Andreas Kling.
1268
1269         Add support for modern range loops over CSSValueList objects.
1270         Port the code base to using range loops for CSSValueList objects and
1271         drop the CSSValueListInspector / CSSValueListIterator classes as they
1272         are no longer needed.
1273
1274         No new tests, no behavior change.
1275
1276 2014-11-03  Andreas Kling  <akling@apple.com>
1277
1278         RenderCounter shouldn't need a pre-destructor hook.
1279         <https://webkit.org/b/138316>
1280
1281         Reviewed by Antti Koivisto.
1282
1283         RenderCounter will automatically register/unregister itself with
1284         the RenderView when constructed/destroyed.
1285
1286         It was using a willBeDestroyed() hook because it used to be that you
1287         couldn't get to the RenderView in the destructor. That's no longer
1288         an issue as Document promises that RenderView is the last render tree
1289         node to go away.
1290
1291         * rendering/RenderCounter.cpp:
1292         (WebCore::RenderCounter::~RenderCounter):
1293         (WebCore::RenderCounter::willBeDestroyed): Deleted.
1294         * rendering/RenderCounter.h:
1295
1296 2014-11-03  Tim Horton  <timothy_horton@apple.com>
1297
1298         Use FrameSnapshotting functions in FindController::getFindIndicatorBitmap
1299         https://bugs.webkit.org/show_bug.cgi?id=138300
1300         <rdar://problem/18855863>
1301
1302         Reviewed by Simon Fraser.
1303
1304         * WebCore.exp.in:
1305         * page/FrameSnapshotting.cpp:
1306         (WebCore::snapshotSelection):
1307         Move knowledge that selectionBounds can be empty down to WebCore.
1308
1309 2014-11-03  Joseph Pecoraro  <pecoraro@apple.com>
1310
1311         Web Inspector: Show Selector's Specificity
1312         https://bugs.webkit.org/show_bug.cgi?id=138189
1313
1314         Reviewed by Timothy Hatcher.
1315
1316         Test: inspector/css/selector-specificity.html
1317
1318         * css/CSSSelector.h:
1319         Remove very stale comment. '*' is a starAtom now instead of a special -1 tag.
1320         Made the specificity masks public class constants.
1321
1322         * inspector/InspectorStyleSheet.h:
1323         * inspector/InspectorStyleSheet.cpp:
1324         (WebCore::InspectorStyle::buildArrayForComputedStyle):
1325         (WebCore::InspectorStyle::styleWithProperties):
1326         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1327         Drive by use release() in some cases to reduce ref count churn.
1328
1329         (WebCore::buildObjectForSelectorHelper):
1330         (WebCore::selectorsFromSource):
1331         (WebCore::InspectorStyleSheet::buildObjectForSelector):
1332         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
1333         Build CSSSelector objects for SelectorLists.
1334
1335 2014-11-03  Chris Dumez  <cdumez@apple.com>
1336
1337         Move -webkit-shape-outside to the new StyleBuilder
1338         https://bugs.webkit.org/show_bug.cgi?id=138296
1339
1340         Reviewed by Zoltan Horvath.
1341
1342         Move -webkit-shape-outside to the new StyleBuilder, using custom
1343         code as it does not always call setShapeOutside().
1344
1345         No new tests, no behavior change.
1346
1347         * css/CSSPropertyNames.in:
1348         * css/DeprecatedStyleBuilder.cpp:
1349         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1350         (WebCore::ApplyPropertyShape::setValue): Deleted.
1351         (WebCore::ApplyPropertyShape::applyValue): Deleted.
1352         (WebCore::ApplyPropertyShape::createHandler): Deleted.
1353         * css/StyleBuilderCustom.h:
1354         (WebCore::StyleBuilderFunctions::applyValueWebkitShapeOutside):
1355
1356 2014-11-03  Alexey Proskuryakov  <ap@apple.com>
1357
1358         REGRESSION: Using a media element changes window.name
1359         https://bugs.webkit.org/show_bug.cgi?id=138278
1360         rdar://problem/18704134
1361
1362         Apply the same fix to mediaControlsBase.js. I do not know who uses this file, but
1363         there is no reason to have the bug there.
1364
1365         * Modules/mediacontrols/mediaControlsBase.js:
1366         (Controller.prototype.addVideoListeners):
1367         (Controller.prototype.removeVideoListeners):
1368         (Controller.prototype.disconnectControls):
1369
1370 2014-11-03  Andreas Kling  <akling@apple.com>
1371
1372         RenderLayerModelObject shouldn't need a pre-destructor hook.
1373         <https://webkit.org/b/138314>
1374
1375         Reviewed by Antti Koivisto.
1376
1377         Move code from the willBeDestroyed() pre-destructor hook to the regular
1378         ~RenderLayerModelObject() destructor.
1379
1380         We just need to unregister the renderer from the FrameView's set of
1381         viewport-constrained objects. That doesn't require being able to walk
1382         the render tree or call virtuals, which is the main reason you'd use
1383         willBeDestroyed().
1384
1385         * rendering/RenderLayerModelObject.cpp:
1386         (WebCore::RenderLayerModelObject::~RenderLayerModelObject):
1387         (WebCore::RenderLayerModelObject::willBeDestroyed): Deleted.
1388         * rendering/RenderLayerModelObject.h:
1389
1390 2014-11-03  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
1391
1392         [EFL] Fix the build if LOG_DISABLED=0 in release mode
1393         https://bugs.webkit.org/show_bug.cgi?id=138309
1394
1395         Reviewed by Chris Dumez.
1396
1397         * platform/efl/LoggingEfl.cpp:
1398
1399 2014-11-03  Chris Dumez  <cdumez@apple.com>
1400
1401         Move 'zoom' CSS property to the new StyleBuilder
1402         https://bugs.webkit.org/show_bug.cgi?id=138297
1403
1404         Reviewed by Antti Koivisto.
1405
1406         Move 'zoom' CSS property from DeprecatedStyleBuilder to the new
1407         StyleBuilder by using custom code as it requires special handling.
1408
1409         No new tests, no behavior change.
1410
1411         * css/makeprop.pl:
1412         Add support for Custom=All StyleBuilder option to indicate
1413         that the property requires custom code to set the initial,
1414         inherit and current values.
1415
1416 2014-11-03  Sungmann Cho  <sungmann.cho@navercorp.com>
1417
1418         AX: Fix some minor typos related to the word "accessibility".
1419         https://bugs.webkit.org/show_bug.cgi?id=138299
1420
1421         Reviewed by Chris Fleizach.
1422
1423         No new tests, no behavior change.
1424
1425         * accessibility/AccessibilityNodeObject.cpp:
1426         (WebCore::shouldUseAccessibilityObjectInnerText):
1427         (WebCore::AccessibilityNodeObject::textUnderElement):
1428         (WebCore::shouldUseAccessiblityObjectInnerText): Deleted.
1429         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1430         (getRunAttributesFromAccessibilityObject):
1431         (webkitAccessibleTextGetRunAttributes):
1432         (getRunAttributesFromAccesibilityObject): Deleted.
1433         * page/CaptionUserPreferencesMediaAF.cpp:
1434         (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
1435
1436 2014-11-02  Chris Dumez  <cdumez@apple.com>
1437
1438         Move string-typed properties to the new StyleBuilder
1439         https://bugs.webkit.org/show_bug.cgi?id=138295
1440
1441         Reviewed by Antti Koivisto.
1442
1443         Move string-typed properties to the new StyleBuilder:
1444         -webkit-hyphenate-character
1445         -webkit-line-grid
1446         -webkit-flow-into
1447         -webkit-flow-from
1448
1449         No new tests, no behavior change.
1450
1451 2014-11-02  Chris Dumez  <cdumez@apple.com>
1452
1453         Unreviewed, rebaseline bindings tests after r175462.
1454
1455         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1456         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
1457         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
1458         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1459         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
1460         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1461         (WebCore::jsTestEventTargetPrototypeFunctionItem):
1462         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
1463         * bindings/scripts/test/JS/JSTestInterface.cpp:
1464         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
1465         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
1466         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1467         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1468         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1469         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1470         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1471         * bindings/scripts/test/JS/JSTestObj.cpp:
1472         (WebCore::JSTestObjConstructor::constructJSTestObj):
1473         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1474         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
1475         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
1476         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
1477         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1478         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1479         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1480         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
1481         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1482         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1483         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1484         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1485         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1486         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1487         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1488         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
1489         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1490         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1491         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1492         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1493         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1494         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1495         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1496         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1497         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1498         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
1499         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
1500         (WebCore::jsTestObjConstructorFunctionClassMethod2):
1501         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
1502         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
1503         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
1504         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
1505         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1506         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1507         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
1508         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
1509         (WebCore::jsTestObjPrototypeFunctionConvert1):
1510         (WebCore::jsTestObjPrototypeFunctionConvert2):
1511         (WebCore::jsTestObjPrototypeFunctionConvert4):
1512         (WebCore::jsTestObjPrototypeFunctionConvert5):
1513         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1514         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
1515         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
1516         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
1517         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
1518         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
1519         (WebCore::jsTestObjPrototypeFunctionAny):
1520         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1521         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1):
1522         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
1523         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
1524         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
1525         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1526         (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
1527         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
1528         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
1529         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
1530         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
1531         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
1532         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
1533         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
1534
1535 2014-11-02  Chris Dumez  <cdumez@apple.com>
1536
1537         Reduce the cost of argumentCount checks in the JS bindings
1538         https://bugs.webkit.org/show_bug.cgi?id=138289
1539
1540         Reviewed by Sam Weinig.
1541
1542         Slightly reduce the cost of argumentCount checks in the JS bindings by
1543         hinting to the compiler that it is UNLIKELY that those methods are
1544         called with too few arguments.
1545
1546         I see a 3% progression on PerformanceTests/DOM/DOMDivWalk.html
1547         performance test.
1548
1549         No new tests, no behavior change.
1550
1551         * bindings/scripts/CodeGeneratorJS.pm:
1552         (GenerateArgumentsCountCheck):
1553
1554 2014-11-01  Alexey Proskuryakov  <ap@apple.com>
1555
1556         REGRESSION: Using a media element changes window.name
1557         https://bugs.webkit.org/show_bug.cgi?id=138278
1558         rdar://problem/18704134
1559
1560         Reviewed by Jer Noble.
1561
1562         Test: fast/media/window-name.html
1563
1564         Use an actual variable for name (and while at it, for "item" as well).
1565
1566         * Modules/mediacontrols/mediaControlsApple.js:
1567         (Controller.prototype.addVideoListeners):
1568         (Controller.prototype.removeVideoListeners):
1569         (Controller.prototype.disconnectControls):
1570
1571 2014-11-01  Chris Dumez  <cdumez@apple.com>
1572
1573         Move "direction" CSS property to the new StyleBuilder
1574         https://bugs.webkit.org/show_bug.cgi?id=138288
1575
1576         Reviewed by Sam Weinig.
1577
1578         Move "direction" CSS property to the new StyleBuilder by using custom
1579         code as it requires special handling to call
1580         Document::setDirectionSetOnDocumentElement() when necessary.
1581
1582         No new tests, no behavior change.
1583
1584         * css/CSSPropertyNames.in:
1585         * css/DeprecatedStyleBuilder.cpp:
1586         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1587         (WebCore::ApplyPropertyDirection::applyValue): Deleted.
1588         (WebCore::ApplyPropertyDirection::createHandler): Deleted.
1589         * css/StyleBuilderCustom.h:
1590         (WebCore::StyleBuilderFunctions::applyValueDirection):
1591
1592 2014-11-01  Sam Weinig  <sam@webkit.org>
1593
1594         Move the -webkit-transform property to the new StyleBuilder
1595         https://bugs.webkit.org/show_bug.cgi?id=138283
1596
1597         Reviewed by Chris Dumez.
1598
1599         Move the -webkit-transform property from StyleResolver to the new
1600         generated StyleBuilder. Adds a converter for TransformOperations.
1601
1602         * css/CSSPropertyNames.in:
1603         * css/StyleBuilderConverter.h:
1604         (WebCore::StyleBuilderConverter::convertTransform):
1605         * css/StyleResolver.cpp:
1606         (WebCore::StyleResolver::applyProperty):
1607         * css/TransformFunctions.cpp:
1608         (WebCore::transformsForValue):
1609         * css/TransformFunctions.h:
1610         * css/WebKitCSSMatrix.cpp:
1611         (WebCore::WebKitCSSMatrix::setMatrixValue):
1612
1613 2014-11-01  Benjamin Poulain  <bpoulain@apple.com>
1614
1615         Fix the specificity of the extended :not() selector
1616         https://bugs.webkit.org/show_bug.cgi?id=138275
1617
1618         Reviewed by Andreas Kling.
1619
1620         The current draft says "The specificity of a :not() pseudo-class
1621         is the specificity of the most specifc complex selector in its selector list."
1622
1623         It is still unclear how :not() plays with other new selectors. Until that is clarified,
1624         this only handle the simple cases.
1625
1626         Tests: fast/css/not-self-specificity.html
1627                fast/css/not-specificity-1.html
1628                fast/css/not-specificity-2.html
1629                fast/css/not-specificity-3.html
1630                fast/css/not-specificity-4.html
1631                fast/css/not-specificity-5.html
1632                fast/css/not-specificity-6.html
1633
1634         * css/CSSSelector.cpp:
1635         (WebCore::CSSSelector::specificityForOneSelector):
1636
1637 2014-10-31  Benjamin Poulain  <bpoulain@apple.com>
1638
1639         Fix the Debug builds after r175446
1640
1641         * css/CSSSelector.cpp:
1642         (WebCore::CSSSelector::selectorText):
1643
1644 2014-10-31  Dhi Aurrahman  <diorahman@rockybars.com>
1645
1646         Add initial parsing functionality of :lang pseudo class in Selectors Level 4.
1647         https://bugs.webkit.org/show_bug.cgi?id=138170
1648
1649         Reviewed by Benjamin Poulain.
1650
1651         Add initial parsing functionality of :lang pseudo class in Selectors Level 4,
1652         as specified in [1].
1653
1654         It parses comma-separated list of string arguments. Currently, it throws error
1655         on arguments with "*" (e.g. :lang(zh, *-hant)).
1656
1657         Add additional test file fast/selectors/lang-invalid.html along side the 
1658         fast/css/css-selector-text.html.
1659
1660         [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
1661
1662         Test: fast/selectors/lang-invalid.html
1663
1664         * css/CSSGrammar.y.in:
1665         * css/CSSParser.cpp:
1666         (WebCore::CSSParser::detectFunctionTypeToken):
1667         * css/CSSParserValues.cpp:
1668         (WebCore::CSSParserSelector::setArgumentList):
1669         * css/CSSParserValues.h:
1670         * css/CSSSelector.cpp:
1671         (WebCore::appendArgumentList):
1672         (WebCore::CSSSelector::selectorText):
1673         (WebCore::CSSSelector::setArgumentList):
1674         * css/CSSSelector.h:
1675         (WebCore::CSSSelector::argumentList):
1676         * css/SelectorChecker.cpp:
1677         (WebCore::SelectorChecker::checkOne):
1678         * cssjit/SelectorCompiler.cpp:
1679         (WebCore::SelectorCompiler::addPseudoClassType):
1680
1681 2014-10-31  Chris Dumez  <cdumez@apple.com>
1682
1683         StyleBuilder: Stop using custom code for -webkit-hyphenate-limit-lines
1684         https://bugs.webkit.org/show_bug.cgi?id=138270
1685
1686         Reviewed by Antti Koivisto.
1687
1688         Stop using custom code for -webkit-hyphenate-limit-lines in the new
1689         StyleBuilder. We don't really need to, we can just have a Converter
1690         specific to this property.
1691
1692         No new tests, no behavior change.
1693
1694         * css/CSSPropertyNames.in:
1695         * css/StyleBuilderConverter.h:
1696         (WebCore::StyleBuilderConverter::convertWebkitHyphenateLimitLines):
1697         * css/StyleBuilderCustom.h:
1698         (WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines): Deleted.
1699
1700 2014-10-31  Chris Dumez  <cdumez@apple.com>
1701
1702         Support throttling of DOMTimers using nested setTimeout() calls
1703         https://bugs.webkit.org/show_bug.cgi?id=138262
1704
1705         Reviewed by Gavin Barraclough.
1706
1707         Extend DOMTimers throttling support to timers that are using nested
1708         setTimeout() calls instead of a setInterval(). To achieve this, this
1709         patch introduces a NestedTimersVector singleton class where nested
1710         timers are appended, and for which we potentially update the next
1711         firing time, after the parent timer is done executing.
1712
1713         I have verified this helps on cnn.com for example, which has timers
1714         interacting with non-visible plugins that are scheduled using nested
1715         setTimeout() calls with a frequency of 150 / 200 ms.
1716
1717         * page/DOMTimer.cpp:
1718         (WebCore::NestedTimersVector::NestedTimersVector):
1719         (WebCore::NestedTimersVector::~NestedTimersVector):
1720         (WebCore::NestedTimersVector::registerTimer):
1721         (WebCore::NestedTimersVector::begin):
1722         (WebCore::NestedTimersVector::end):
1723         (WebCore::DOMTimer::install):
1724         (WebCore::DOMTimer::updateThrottlingStateIfNecessary):
1725         (WebCore::DOMTimer::fired):
1726         * page/DOMTimer.h:
1727
1728 2014-10-31  Chris Dumez  <cdumez@apple.com>
1729
1730         Move -webkit-marquee-increment property to the new StyleBuilder
1731         https://bugs.webkit.org/show_bug.cgi?id=138208
1732
1733         Reviewed by Andreas Kling.
1734
1735         Move -webkit-marquee-increment property from DeprecatedStyleBuilder to
1736         the new StyleBuilder so that it is generated from CSSPropertyNames.in.
1737         Custom code is used to set the value due to the !length.isUndefined()
1738         check before calling setMarqueeIncrement().
1739
1740         Test: fast/css/webkit-marquee-increment-bad-value.html
1741
1742         * css/CSSPropertyNames.in:
1743         * css/DeprecatedStyleBuilder.cpp:
1744         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1745         (WebCore::ApplyPropertyLength::setValue): Deleted.
1746         (WebCore::ApplyPropertyLength::applyValue): Deleted.
1747         (WebCore::ApplyPropertyLength::createHandler): Deleted.
1748         (WebCore::ApplyPropertyMarqueeIncrement::applyValue): Deleted.
1749         (WebCore::ApplyPropertyMarqueeIncrement::createHandler): Deleted.
1750         * css/StyleBuilderCustom.h:
1751         (WebCore::StyleBuilderFunctions::applyValueWebkitMarqueeIncrement):
1752
1753 2014-10-31  Simon Fraser  <simon.fraser@apple.com>
1754
1755         Brace cleanup in StyleResolver::adjustRenderStyle()
1756         https://bugs.webkit.org/show_bug.cgi?id=138267
1757
1758         Reviewed by Chris Dumez.
1759
1760         No braces for single-line clauses.
1761
1762         * css/StyleResolver.cpp:
1763         (WebCore::StyleResolver::adjustRenderStyle):
1764
1765 2014-10-31  Chris Dumez  <cdumez@apple.com>
1766
1767         Fix several warnings reported by clang static analyzer in WebCore
1768         https://bugs.webkit.org/show_bug.cgi?id=138258
1769
1770         Reviewed by Joseph Pecoraro.
1771
1772         Fix several warnings reported by clang static analyzer in WebCore
1773         related to variable unnecessary assignments and scope.
1774
1775         No new tests, no behavior change.
1776
1777         * dom/ContainerNode.cpp:
1778         (WebCore::ContainerNode::getUpperLeftCorner):
1779         * html/HTMLMediaElement.cpp:
1780         (WebCore::HTMLMediaElement::parseAttribute):
1781         * inspector/InspectorStyleTextEditor.cpp:
1782         (WebCore::InspectorStyleTextEditor::replaceProperty):
1783         * page/ContextMenuController.cpp:
1784         (WebCore::openNewWindow):
1785         * page/DragController.cpp:
1786         (WebCore::createMouseEvent):
1787         * rendering/RenderBlockFlow.cpp:
1788         (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
1789         * rendering/svg/SVGInlineTextBox.cpp:
1790         (WebCore::SVGInlineTextBox::paintSelectionBackground):
1791
1792 2014-10-31  Simon Fraser  <simon.fraser@apple.com>
1793
1794         Whitespace cleanup in Screen.h
1795         https://bugs.webkit.org/show_bug.cgi?id=138265
1796
1797         Reviewed by Chris Dumez.
1798
1799         No indent for namespaces. Mark 'final'. Fix * placement.
1800
1801         * page/Screen.h:
1802         (WebCore::Screen::create):
1803
1804 2014-10-31  Simon Fraser  <simon.fraser@apple.com>
1805
1806         Change the ScrollingThread code to use RunLoop::main().dispatch() rather than callOnMainThread(), which has Obj-C overhead
1807         https://bugs.webkit.org/show_bug.cgi?id=138263
1808
1809         Reviewed by Geoffrey Garen.
1810
1811         callOnMainThread() uses -performSelector:onMainThread:withObject:waitUntilDone:, so
1812         it's slightly more efficient to use RunLoop::main().dispatch().
1813
1814         * page/scrolling/ThreadedScrollingTree.cpp:
1815         (WebCore::ThreadedScrollingTree::invalidate):
1816         (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
1817         (WebCore::ThreadedScrollingTree::handleWheelEventPhase):
1818
1819 2014-10-31  Benjamin Poulain  <bpoulain@apple.com>
1820
1821         Pseudo classes with an escaped parenthesis generate invalid rules
1822         https://bugs.webkit.org/show_bug.cgi?id=138266
1823
1824         Reviewed by Antti Koivisto.
1825
1826         Since the functional pseudo classes are part of the list of PseudoClassAndCompatibilityElement,
1827         they could be created by the rule
1828              pseudo:
1829                  ':' IDENT
1830         if the parenthesis is escaped. For example, with ":not\\(", the IDENT would be
1831         "not(", CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector would
1832         find a pseudo class type of PseudoClassNot, and the action would create an invalid
1833         CSSSelector for a :not() without nested selector.
1834
1835         This patch fixes the issue by detecting the function case in
1836         CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector().
1837
1838         An other solution would be to split PseudoClassAndCompatibilityElement into simple pseudo class
1839         and functional pseudo classes. We may do that some day but at the moment it is a lot of work with
1840         a little benefit.
1841
1842         Tests: fast/css/crash-on-incomplete-webkit-any.html
1843                fast/css/pseudo-escaped-parenthesis.html
1844                fast/selectors/invalid-functional-pseudo-class.html
1845
1846         * css/CSSParserValues.cpp:
1847         (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
1848
1849 2014-10-31  Chris Dumez  <cdumez@apple.com>
1850
1851         Make CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement() faster
1852         https://bugs.webkit.org/show_bug.cgi?id=138227
1853
1854         Reviewed by Benjamin Poulain.
1855
1856         Restructure CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement()
1857         a bit to do less if checks. The previous implementation was doing 7 if
1858         checks no matter the input value. The new implementation does less
1859         if checks depending on the input type.
1860
1861         Also, the isImageControlsRootElement() was showing in the profiles so
1862         I updated the condition to only do this virtual function call if the
1863         input is an HTMLDivElement (which we can check more efficiently).
1864
1865         With the change, I see that we're spending about ~26% less time in
1866         this method when running speedometer. However, the impact on the
1867         overall score is within noise.
1868
1869         No new tests, no behavior change.
1870
1871         * css/CSSDefaultStyleSheets.cpp:
1872         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
1873
1874 2014-10-31  Antti Koivisto  <antti@apple.com>
1875
1876         Fix assertion in CachedResource::addDataBuffer
1877
1878         * loader/cache/CachedRawResource.cpp:
1879         (WebCore::CachedRawResource::addDataBuffer):
1880
1881             Don't call to base class if buffering mode changed (happens with some special top level document types).
1882
1883 2014-10-31  Said Abou-Hallawa  <sabouhallawa@apple.com>
1884
1885         Remove webkit prefix from CSS columns.
1886         https://bugs.webkit.org/show_bug.cgi?id=137132.
1887
1888         Reviewed by Dean Jackson.
1889
1890         CSS columns properties are ready for un-prefixing. There are still a couple
1891         that we haven't implemented, such as the ones starting with "break-", so we're
1892         just going to do the ones starting with "column-".  The list of column un-
1893         prefixed properties in this change set is:
1894             - column-count
1895             - column-fill
1896             - column-gap
1897             - column-progression
1898             - column-rule
1899             - column-rule-color
1900             - column-rule-style
1901             - column-rule-width
1902             - column-span
1903             - column-width
1904             - columns
1905
1906         Tests: fast/multicol/column-box-alignment-rtl.html
1907                fast/multicol/multicol-aliases.html
1908                imported/w3c/css/multicol/multicol-basic-001.html
1909                imported/w3c/css/multicol/multicol-basic-002.html
1910                imported/w3c/css/multicol/multicol-basic-003.html
1911                imported/w3c/css/multicol/multicol-basic-004.html
1912
1913         Add new un-prefixed column properties and make the -webkit* ones be aliases
1914         to the new ones.
1915         * css/CSSPropertyNames.in:
1916
1917         Use the new enums CSSPropertyColumn* instead of the prefixed ones.
1918         * css/CSSComputedStyleDeclaration.cpp:
1919         (WebCore::ComputedStyleExtractor::propertyValue):
1920         * css/CSSParser.cpp:
1921         (WebCore::isColorPropertyID):
1922         (WebCore::isValidKeywordPropertyAndValue):
1923         (WebCore::isKeywordPropertyID):
1924         (WebCore::CSSParser::parseValue):
1925         * css/DeprecatedStyleBuilder.cpp:
1926         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1927         * css/StyleProperties.cpp:
1928         (WebCore::StyleProperties::getPropertyValue):
1929         * css/StylePropertyShorthand.cpp:
1930         (WebCore::webkitColumnsShorthand):
1931         (WebCore::webkitColumnRuleShorthand):
1932         (WebCore::shorthandForProperty):
1933         (WebCore::matchingShorthandsForLonghand):
1934         * css/StyleResolver.cpp:
1935         (WebCore::isValidVisitedLinkProperty):
1936         (WebCore::StyleResolver::applyProperty):
1937         * page/animation/CSSPropertyAnimation.cpp:
1938         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1939         * rendering/RenderMultiColumnSet.cpp:
1940         (WebCore::RenderMultiColumnSet::paintColumnRules):
1941         * rendering/style/RenderStyle.cpp:
1942         (WebCore::RenderStyle::colorIncludingFallback):
1943
1944 2014-10-31  Tim Horton  <timothy_horton@apple.com>
1945
1946         Remove "Add to iPhoto" from the action menu's sharing menu
1947         https://bugs.webkit.org/show_bug.cgi?id=138251
1948         <rdar://problem/18837197>
1949
1950         Reviewed by Anders Carlsson.
1951
1952         * platform/spi/mac/NSSharingServiceSPI.h:
1953         Add 'name' to the NSSharingService SPI header.
1954
1955 2014-10-31  Akos Kiss  <akiss@inf.u-szeged.hu>
1956
1957         Fix type clash warning in supports_error rule of CSSGrammar.
1958         https://bugs.webkit.org/show_bug.cgi?id=138248
1959
1960         Reviewed by Antti Koivisto.
1961
1962         Added explicit actions to supports_error rule in CSSGrammar.y.in since
1963         the default actions caused bison to emit type clash warnings.
1964
1965         No new tests because there is no behavior change.
1966
1967         * css/CSSGrammar.y.in:
1968
1969 2014-10-31  Adrian Perez de Castro  <aperez@igalia.com>
1970
1971         [GTK] Support script message handlers WebKitUserContentManager
1972         https://bugs.webkit.org/show_bug.cgi?id=133730
1973
1974         Reviewed by Carlos Garcia Campos.
1975
1976         Support user script message handlers in WebKitUserContentManager.
1977         This needs building with ENABLE_USER_MESSAGE_HANDLERS, for which
1978         an option is added to the CMake build files. The option is disabled
1979         globally by default, and the WebKitGTK port enables it. On the API
1980         level, two new methods to register and unregister names are provided
1981         in the "window.webkit" namespace, and on message reception the
1982         "WebKitUserContentManager::script-message-received" signal is
1983         emitted, using the registered names as signal detail.
1984
1985         * CMakeLists.txt: Conditionally add the needed files to the build
1986         when the ENABLE_USER_MESSAGE_HANDLERS feature is enabled.
1987
1988 2014-10-31  Andrzej Badowski  <a.badowski@samsung.com>
1989
1990         [ATK] Improve AccessibilityTableCell's determineAccessibilityRole function.
1991         https://bugs.webkit.org/show_bug.cgi?id=137737
1992
1993         Reviewed by Chris Fleizach.
1994
1995         Use of new functions isRowHeaderCell and isColumnHeaderCell (bug 136818)
1996         to more accurately determine accessibility role of the table cell.
1997
1998         Test: accessibility/table-cells-roles.html
1999
2000         * accessibility/AccessibilityARIAGridCell.cpp:
2001         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
2002         Change to const.
2003         * accessibility/AccessibilityARIAGridCell.h:
2004         Change rowIndexRange function to const.
2005         * accessibility/AccessibilityTableCell.cpp:
2006         (WebCore::AccessibilityTableCell::determineAccessibilityRole):
2007         Use of isRowHeaderCell and isColumnHeaderCell to more accurately determine accessibility role (ATK).
2008         (WebCore::AccessibilityTableCell::isColumnHeaderCell):
2009         Add a case of direct placement a row in the table.
2010         (WebCore::AccessibilityTableCell::isRowHeaderCell):
2011         Add a case of direct placement a row in the table.
2012         (WebCore::AccessibilityTableCell::rowIndexRange):
2013         Change to const.
2014         * accessibility/AccessibilityTableCell.h:
2015         Change rowIndexRange function to const.
2016
2017 2014-10-30  Darin Adler  <darin@apple.com>
2018
2019         Eliminate ResourceBuffer and use SharedBuffer directly instead
2020         https://bugs.webkit.org/show_bug.cgi?id=138174
2021
2022         Reviewed by Antti Koivisto.
2023
2024         Refactoring, with test coverage across many existing tests.
2025
2026         * CMakeLists.txt: Deleted ResourceBuffer.cpp.
2027
2028         * WebCore.exp.in: Removed ResourceBuffer-related symbols, and updated symbol
2029         for one function that used to take a PassRefPtr but now takes a reference instead.
2030
2031         * WebCore.vcxproj/WebCore.vcxproj: Deleted ResourceBuffer.cpp/.h.
2032         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2033         * WebCore.xcodeproj/project.pbxproj: Deleted ResourceBuffer.mm/.cpp/.h.
2034
2035         * bindings/objc/DOMUIKitExtensions.mm:
2036         (-[DOMHTMLImageElement dataRepresentation:]): Use SharedBuffer directly.
2037         * editing/ios/EditorIOS.mm:
2038         (WebCore::Editor::writeImageToPasteboard): Ditto.
2039         * editing/mac/EditorMac.mm:
2040         (WebCore::Editor::writeImageToPasteboard): Ditto.
2041
2042         * html/ImageDocument.cpp:
2043         (WebCore::ImageDocument::updateDuringParsing): Use SharedBuffer directly, and
2044         also pass a reference only if non-null rather than passing a pointer.
2045         (WebCore::ImageDocument::finishedParsing): Ditto. Added a missing null check.
2046
2047         * inspector/InspectorPageAgent.cpp:
2048         (WebCore::InspectorPageAgent::cachedResourceContent): Use SharedBuffer directly.
2049         (WebCore::InspectorPageAgent::mainResourceContent): Ditto.
2050         * inspector/InspectorResourceAgent.cpp:
2051         (WebCore::InspectorResourceAgent::didFinishLoading): Ditto.
2052         (WebCore::InspectorResourceAgent::didFailLoading): Ditto.
2053
2054         * loader/DocumentLoader.cpp:
2055         (WebCore::DocumentLoader::mainResourceData): Use SharedBuffer directly,
2056         and use the copy function rather than a hand-written alternative.
2057         (WebCore::DocumentLoader::maybeCreateArchive): Ditto.
2058         (WebCore::DocumentLoader::mainResource): Ditto.
2059         (WebCore::DocumentLoader::subresource): Ditto.
2060         (WebCore::DocumentLoader::maybeFinishLoadingMultipartContent): Ditto.
2061
2062         * loader/DocumentLoader.h: Changed mainResourceData to return a
2063         PassRefPtr<SharedBuffer>. Would be better if it returned a SharedBuffer&,
2064         but it currently returns a newly created buffer when there is substitute
2065         data and can also return null, even though many callers assume it will not!
2066
2067         * loader/MediaResourceLoader.cpp:
2068         (WebCore::MediaResourceLoader::dataReceived): Removed call to unused client
2069         function bufferReceived.
2070         (WebCore::MediaResourceLoader::notifyFinished): Removed unused buffer
2071         argument to client function loadFinished.
2072
2073         * loader/ResourceBuffer.cpp: Removed.
2074         * loader/ResourceBuffer.h: Removed.
2075
2076         * loader/ResourceLoader.cpp:
2077         (WebCore::ResourceLoader::addDataOrBuffer): Use SharedBuffer directly.
2078
2079         * loader/ResourceLoader.h:
2080         (WebCore::ResourceLoader::resourceData): Use SharedBuffer.
2081
2082         * loader/SubresourceLoader.cpp:
2083         (WebCore::SubresourceLoader::didReceiveResponse): Use SharedBuffer.
2084         (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Ditto.
2085
2086         * loader/TextTrackLoader.cpp:
2087         (WebCore::TextTrackLoader::processNewCueData): Use SharedBuffer.
2088         * loader/appcache/ApplicationCacheGroup.cpp:
2089         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Ditto.
2090         * loader/archive/cf/LegacyWebArchive.cpp:
2091         (WebCore::LegacyWebArchive::create): Ditto.
2092
2093         * loader/cache/CachedCSSStyleSheet.cpp:
2094         (WebCore::CachedCSSStyleSheet::finishLoading): Use SharedBuffer.
2095         * loader/cache/CachedCSSStyleSheet.h: Ditto.
2096         * loader/cache/CachedFont.cpp:
2097         (WebCore::CachedFont::finishLoading): Ditto.
2098         (WebCore::CachedFont::ensureCustomFontData): Ditto.
2099         * loader/cache/CachedFont.h: Ditto.
2100
2101         * loader/cache/CachedImage.cpp:
2102         (WebCore::CachedImage::didAddClient): Use SharedBuffer.
2103         (WebCore::CachedImage::didRemoveClient): Ditto.
2104         (WebCore::CachedImage::addIncrementalDataBuffer): Ditto. Changed to take
2105         a reference rather than a pointer.
2106         (WebCore::CachedImage::addDataBuffer): Ditto. Also added call through
2107         to base class and changed to take a reference rather than a pointer.
2108         (WebCore::CachedImage::addData): Ditto. Also added call through to base class.
2109         (WebCore::CachedImage::finishLoading): Ditto.
2110         * loader/cache/CachedImage.h: Ditto. Also changed the type of some bit fields
2111         to be unsigned instead of unsigend char.
2112
2113         * loader/cache/CachedRawResource.cpp:
2114         (WebCore::CachedRawResource::calculateIncrementalDataChunk): Use SharedBuffer.
2115         (WebCore::CachedRawResource::addDataBuffer): Ditto. Changed to take
2116         a reference rather than a pointer.
2117         (WebCore::CachedRawResource::addData): Ditto.
2118         (WebCore::CachedRawResource::finishLoading): Ditto.
2119         (WebCore::CachedRawResource::canReuse): Ditto.
2120         * loader/cache/CachedRawResource.h: Ditto.
2121
2122         * loader/cache/CachedResource.cpp:
2123         (WebCore::CachedResource::CachedResource): Reordered data members due to change
2124         in header.
2125         (WebCore::CachedResource::addDataBuffer): Changed argument type.
2126         (WebCore::CachedResource::finishLoading): Ditto.
2127         (WebCore::CachedResource::didAddClient): Refactored to eliminate one extra hash
2128         table lookup by using the return value from the remove function.
2129         (WebCore::CachedResource::addClientToSet): Use std::make_unique directly instead
2130         of using a function named "schedule" to allocate the callback object.
2131         (WebCore::CachedResource::Callback::Callback): Changed function and data member
2132         name.
2133         (WebCore::CachedResource::Callback::cancel): Ditto.
2134         (WebCore::CachedResource::Callback::timerFired): Ditto.
2135         (WebCore::CachedResource::tryReplaceEncodedData): Changed to take a SharedBuffer&.
2136
2137         * loader/cache/CachedResource.h: Changed types to use SharedBuffer. Also made most
2138         data members and one function member private instead of protected. Also renamed the
2139         CachedResource::CachedResourceCallback function CachedResource::Callback and moved
2140         its definition out of the CachedResource class definition.
2141
2142         * loader/cache/CachedResourceClient.h: Removed unneeded include.
2143
2144         * loader/cache/CachedSVGDocument.cpp:
2145         (WebCore::CachedSVGDocument::finishLoading): Use SharedBuffer.
2146
2147         * loader/cache/CachedSVGDocument.h: Ditto. Made data members private.
2148
2149         * loader/cache/CachedScript.cpp:
2150         (WebCore::CachedScript::finishLoading): Use SharedBuffer.
2151         * loader/cache/CachedScript.h: Ditto. Also fixed indenting and removed unneeded
2152         forward declaration.
2153
2154         * loader/cache/CachedTextTrack.cpp:
2155         (WebCore::CachedTextTrack::updateData): Added, so that finishLoading does not
2156         call addDataBuffer.
2157         (WebCore::CachedTextTrack::addDataBuffer): Take SharedBuffer, call updateData.
2158         (WebCore::CachedTextTrack::finishLoading): Ditto.
2159         * loader/cache/CachedTextTrack.h: Take out unneeded explicit override of the
2160         destructor. Updated for above changes.
2161
2162         * loader/cache/CachedXSLStyleSheet.cpp:
2163         (WebCore::CachedXSLStyleSheet::finishLoading): Updated to use SharedBuffer.
2164         * loader/cache/CachedXSLStyleSheet.h: Took out unneeded includes, made everything
2165         private rather than protected. Added an explicit virtual constructor so we can
2166         compile without knowing how to ref/deref TextResourceDecoder.
2167
2168         * loader/cf/SubresourceLoaderCF.cpp:
2169         (WebCore::SubresourceLoader::didReceiveDataArray): Updated to use SharedBuffer
2170         and to call addDataBuffer only if there is a new data buffer.
2171
2172         * loader/cocoa/DiskCacheMonitorCocoa.h: Use SharedBuffer& instead of PassRefPtr.
2173         * loader/cocoa/DiskCacheMonitorCocoa.mm:
2174         (WebCore::DiskCacheMonitor::DiskCacheMonitor): Ditto.
2175         (WebCore::DiskCacheMonitor::resourceBecameFileBacked): Ditto.
2176
2177         * loader/icon/IconLoader.cpp:
2178         (WebCore::IconLoader::notifyFinished): Use SharedBuffer* instead of
2179         RefPtr<ResourceBuffer>.
2180
2181         * loader/mac/ResourceBuffer.mm: Removed.
2182
2183         * loader/mac/ResourceLoaderMac.mm:
2184         (WebCore::ResourceLoader::didReceiveDataArray): Use SharedBuffer.
2185
2186         * platform/SharedBuffer.cpp:
2187         (WebCore::SharedBuffer::clear): Use a modern for loop.
2188         (WebCore::SharedBuffer::copy): Return a PassRef instead of a PassRefPtr, since
2189         this never returns null. Use modern for loops.
2190         (WebCore::SharedBuffer::copyBufferAndClear): Use a modern for loop.
2191
2192         * platform/SharedBuffer.h: Changed copy to return PassRef instead of PassRefPtr.
2193         Changed tryReplaceContentsWithPlatformBuffer to take a reference rather than
2194         a pointer.
2195
2196         * platform/cf/SharedBufferCF.cpp:
2197         (WebCore::SharedBuffer::tryReplaceContentsWithPlatformBuffer): Take a reference
2198         instead of a pointer.
2199
2200         * platform/graphics/PlatformMediaResourceLoader.h: Removed unused function
2201         bufferReceived and unneeded buffer argument from loadFinished. Also marked the
2202         constructor explicit.
2203
2204         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
2205         Removed include of ResourceBuffer.h.
2206         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2207         (WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Use
2208         SharedBuffer directly.
2209
2210         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2211         (CachedResourceStreamingClient::loadFinished): Updated for change to
2212         PlatformMediaResourceLoaderClient.
2213
2214         * platform/mac/PasteboardMac.mm: Removed include of ResourceBuffer.h.
2215
2216         * platform/soup/SharedBufferSoup.cpp: Removed unused, unneeded
2217         tryReplaceContentsWithPlatformBuffer function.
2218
2219 2014-10-30  Chris Dumez  <cdumez@apple.com>
2220
2221         Move border-image-source / -webkit-mask-box-image-source to the new StyleBuilder
2222         https://bugs.webkit.org/show_bug.cgi?id=138209
2223
2224         Reviewed by Andreas Kling.
2225
2226         Move border-image-source / -webkit-mask-box-image-source CSS properties
2227         from DeprecatedStyleBuilder to the new StyleBuilder so that they are
2228         now generated from CSSPropertyNames.in.
2229
2230         No new tests, no behavior change.
2231
2232         * css/CSSPropertyNames.in:
2233         * css/DeprecatedStyleBuilder.cpp:
2234         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2235         (WebCore::ApplyPropertyBorderImageSource::applyValue): Deleted.
2236         (WebCore::ApplyPropertyBorderImageSource::createHandler): Deleted.
2237         * css/StyleBuilderConverter.h:
2238         (WebCore::StyleBuilderConverter::convertBorderImageSource):
2239
2240 2014-10-30  Jer Noble  <jer.noble@apple.com>
2241
2242         [EME] Add Setting for accessing storage location for MediaKeys data
2243         https://bugs.webkit.org/show_bug.cgi?id=138147
2244
2245         Reviewed by Brady Eidson.
2246
2247         Allow MediaPlayerPrivateAVFoundationObjC to query for the MediaKeys storage directory
2248         by piping that request down from WebKit and WebKit2 into Settings.
2249
2250         * html/HTMLMediaElement.cpp:
2251         (WebCore::HTMLMediaElement::mediaKeysStorageDirectory): Get the location from Settings and
2252             append the current origin.
2253         * html/HTMLMediaElement.h:
2254         * page/Settings.h:
2255         (WebCore::Settings::setMediaKeysStorageDirectory): Simple setter.
2256         (WebCore::Settings::mediaKeysStorageDirectory): Simple accessor.
2257         * platform/graphics/MediaPlayer.cpp:
2258         (WebCore::MediaPlayer::mediaKeysStorageDirectory): Pass through to m_client.
2259         * platform/graphics/MediaPlayer.h:
2260         (WebCore::MediaPlayerClient::mediaPlayerMediaKeysStorageDirectory): Default implementation.
2261         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2262         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Fetch the location from MediaPlayer.
2263         (WebCore::sessionStorageDirectory): Deleted.
2264
2265 2014-10-30  Dana Burkart  <dburkart@apple.com>
2266
2267         <rdar://problem/18821260> Prepare for the mysterious future
2268
2269         Reviewed by Lucas Forschler.
2270
2271         * Configurations/Base.xcconfig:
2272         * Configurations/DebugRelease.xcconfig:
2273         * Configurations/FeatureDefines.xcconfig:
2274         * Configurations/Version.xcconfig:
2275
2276 2014-10-30  Simon Fraser  <simon.fraser@apple.com>
2277
2278         Short-circuit repaints with empty rects
2279         https://bugs.webkit.org/show_bug.cgi?id=138234
2280
2281         Reviewed by Zalan Bujtas.
2282         
2283         Repaints with an empty rectangle are common enough that it's worth
2284         short-circuiting them.
2285
2286         * rendering/RenderObject.cpp:
2287         (WebCore::RenderObject::repaintUsingContainer):
2288
2289 2014-10-30  Chris Dumez  <cdumez@apple.com>
2290
2291         Clean up virtual functions in css/
2292         https://bugs.webkit.org/show_bug.cgi?id=138230
2293
2294         Reviewed by Benjamin Poulain.
2295
2296         Clean up virtual functions in css/ by:
2297         - Making virtual functions final when possible
2298         - Making classes final when possible
2299         - Using 'override' when appropriate
2300         - Explicitly marking functions / destructors as virtual when they are
2301           inherently virtual
2302         - Making isXXX() virtual functions private on XXX classes to avoid
2303           unnecessary type checks
2304
2305         No new tests, no behavior change.
2306
2307         * WebCore.exp.in:
2308         * css/CSSBasicShapes.h:
2309         * css/CSSCharsetRule.h:
2310         * css/CSSComputedStyleDeclaration.h:
2311         * css/CSSCrossfadeValue.h:
2312         * css/CSSFilterImageValue.h:
2313         * css/CSSFontFaceLoadEvent.h:
2314         * css/CSSFontFaceRule.h:
2315         * css/CSSFontFaceSource.h:
2316         * css/CSSImportRule.h:
2317         * css/CSSMediaRule.h:
2318         * css/CSSPageRule.h:
2319         * css/CSSRuleList.h:
2320         (WebCore::StaticCSSRuleList::ref): Deleted.
2321         (WebCore::StaticCSSRuleList::styleSheet): Deleted.
2322         (WebCore::StaticCSSRuleList::length): Deleted.
2323         (WebCore::StaticCSSRuleList::item): Deleted.
2324         (WebCore::LiveCSSRuleList::ref): Deleted.
2325         (WebCore::LiveCSSRuleList::deref): Deleted.
2326         (WebCore::LiveCSSRuleList::length): Deleted.
2327         (WebCore::LiveCSSRuleList::item): Deleted.
2328         (WebCore::LiveCSSRuleList::styleSheet): Deleted.
2329         * css/CSSStyleRule.h:
2330         * css/CSSSupportsRule.h:
2331         * css/CSSUnknownRule.h:
2332         * css/FontLoader.h:
2333         * css/PropertySetCSSStyleDeclaration.h:
2334         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
2335         * css/WebKitCSSKeyframeRule.h:
2336         * css/WebKitCSSViewportRule.h:
2337
2338 2014-10-30  Tim Horton  <timothy_horton@apple.com>
2339
2340         Long spins under rangeExpandedAroundPosition on Yahoo Mail
2341         https://bugs.webkit.org/show_bug.cgi?id=138223
2342         <rdar://problem/18819547>
2343
2344         Reviewed by Enrica Casucci.
2345
2346         * WebCore.exp.in:
2347         Export some things.
2348
2349 2014-10-30  Ada Chan  <adachan@apple.com>
2350
2351         The Page's muted setting should not affect the HTMLMediaElement's 'muted' IDL attribute.
2352         https://bugs.webkit.org/show_bug.cgi?id=138215
2353
2354         Reviewed by Eric Carlson.
2355
2356         Add m_muted in Page to keep track of the Page's muted state. Change AudioProducer::setMuted()
2357         to pageMutedStateDidChange(). When that method is called, the AudioProducer is supposed to
2358         update its muted state again taking the Page's muted state into account.
2359
2360         Add HTMLMediaElement::effectiveMuted(), which returns the effective muted state of the
2361         HTMLMediaElement, taking the Page's muted state into account.
2362
2363         Test: media/video-muted-after-setting-page-muted-state.html
2364
2365         * dom/Document.cpp:
2366         (WebCore::Document::pageMutedStateDidChange):
2367         (WebCore::Document::setMuted): Deleted.
2368         * dom/Document.h:
2369         * html/HTMLMediaElement.cpp:
2370         (WebCore::HTMLMediaElement::setMuted):
2371         Set the MediaPlayer's muted state to the result of effectiveMuted() rather than m_muted.
2372         (WebCore::HTMLMediaElement::updateVolume):
2373         Ditto, and also make sure the MediaController's muted state does not override the Page's
2374         muted state.
2375         (WebCore::HTMLMediaElement::updatePlayState):
2376         Set the MediaPlayer's muted state to the result of effectiveMuted() rather than muted().
2377         (WebCore::HTMLMediaElement::pageMutedStateDidChange):
2378         Call updateVolume(), which will update the MediaPlayer's muted state.
2379         (WebCore::HTMLMediaElement::effectiveMuted):
2380         Figure out the muted value taking Page's muted state into account.
2381         * html/HTMLMediaElement.h:
2382         * page/AudioProducer.h:
2383         * page/Page.cpp:
2384         (WebCore::Page::Page):
2385         (WebCore::Page::setMuted):
2386         Update m_muted, and only iterate through the frames' documents to call pageMutedStateDidChange()
2387         if m_muted changes.
2388         * page/Page.h:
2389         (WebCore::Page::isMuted):
2390         * testing/Internals.cpp:
2391         (WebCore::Internals::setPageMuted):
2392         Expose a way to set the Page's muted state in Internals for testing.
2393         * testing/Internals.h:
2394         * testing/Internals.idl:
2395
2396 2014-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
2397
2398         Use references in calculateMinimumPageHeight() for non-optional arguments
2399         https://bugs.webkit.org/show_bug.cgi?id=138231
2400
2401         Reviewed by Dean Jackson.
2402
2403         No new tests because there is no behavior change.
2404
2405         * rendering/RenderBlockFlow.cpp:
2406         (WebCore::calculateMinimumPageHeight):
2407         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2408
2409 2014-10-30  Chris Dumez  <cdumez@apple.com>
2410
2411         Move -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder
2412         https://bugs.webkit.org/show_bug.cgi?id=138207
2413
2414         Reviewed by Andreas Kling.
2415
2416         Move -webkit-border-image / -webkit-mask-box-image CSS properties to
2417         the new StyleBuilder so that they are now generated from
2418         CSSPropertyNames.in.
2419
2420         No new tests, no behavior change.
2421
2422         * css/CSSPropertyNames.in:
2423         * css/DeprecatedStyleBuilder.cpp:
2424         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2425         (WebCore::ApplyPropertyBorderImage::applyValue): Deleted.
2426         (WebCore::ApplyPropertyBorderImage::createHandler): Deleted.
2427         * css/StyleBuilderConverter.h:
2428         (WebCore::StyleBuilderConverter::convertBorderImage):
2429         (WebCore::StyleBuilderConverter::convertBorderMask):
2430
2431 2014-10-30  Chris Dumez  <cdumez@apple.com>
2432
2433         Optimize HTMLVideoElement / HTMLAudioElement type checks a bit
2434         https://bugs.webkit.org/show_bug.cgi?id=138202
2435
2436         Reviewed by Benjamin Poulain.
2437
2438         Optimize HTMLVideoElement / HTMLAudioElement type checks a bit by:
2439         1. Using is<HTMLMediaElement>() instead of
2440            (is<HTMLVideoElement>() || is<HTMLAudioElement>()) if the caller is
2441            interested in both video and audio elements. This is faster because
2442            it ends up doing:
2443                - virtual call to Element::isMediaElement()
2444            instead of
2445                - Node::isHTMLElement() +
2446                  virtual call to HTMLElement::isHTMLUnknownElement() +
2447                  2 * HTMLElement::hasTagName()
2448         2. Updating HTMLVideoElement / HTMLAudioElement type traits
2449            specializations to:
2450            - Avoid doing any virtual function call if the input type is an
2451              HTMLMediaElement (which is common in the code base).
2452            - Speed up check if the input is an Element by doing:
2453                - virtual call to Element::isMediaElement() +
2454                  HTMLElement::hasTagName()
2455              instead of
2456                - Node::isHTMLElement() +
2457                  virtual call to !HTMLElement::isHTMLUnknownElement() +
2458                  HTMLElement::hasTagName()
2459              The speed stays the same if the input is a Node or an HTMLElement.
2460
2461         No new tests, no behavior change.
2462
2463         * css/CSSDefaultStyleSheets.cpp:
2464         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2465         * dom/make_names.pl:
2466         (defaultTagPropertyHash):
2467         (printTypeHelpers):
2468         * html/HTMLAudioElement.h:
2469         (isType):
2470         * html/HTMLImageLoader.cpp:
2471         * html/HTMLTagNames.in:
2472         * html/HTMLVideoElement.h:
2473         (isType):
2474         * page/ChromeClient.h:
2475
2476 2014-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
2477
2478         Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
2479         https://bugs.webkit.org/show_bug.cgi?id=138228
2480
2481         Reviewed by Simon Fraser.
2482
2483         No new tests because there is no behavior change.
2484
2485         * WebCore.xcodeproj/project.pbxproj:
2486         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2487         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2488         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2489         * platform/spi/cocoa/CoreTextSPI.h: Added.
2490
2491 2014-10-30  Eric Carlson  <eric.carlson@apple.com>
2492
2493         Add diagnostic logging to track page loads.
2494         https://bugs.webkit.org/show_bug.cgi?id=138205
2495         <rdar://problem/18173017>
2496
2497         Reviewed by Jer Noble.
2498
2499         * loader/FrameLoader.cpp:
2500         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Log page load success or failure.
2501
2502         * page/DiagnosticLoggingKeys.cpp:
2503         (WebCore::DiagnosticLoggingKeys::pageLoadedKey): New.
2504         * page/DiagnosticLoggingKeys.h:
2505
2506 2014-10-24  Philippe Normand  <pnormand@igalia.com>
2507
2508         [GStreamer] Video resolution changes trigger a crash in the TextureMapper
2509         https://bugs.webkit.org/show_bug.cgi?id=137065
2510
2511         Reviewed by Gustavo Noronha Silva.
2512
2513         Switch to GstSample for buffer+caps communication between the
2514         video sink and the player. Using a single object type for this
2515         avoid issues where the caps might not correctly describe the
2516         buffer contents anymore, for example when the video resolution is
2517         changed.
2518
2519         * platform/graphics/gstreamer/ImageGStreamer.h: Use GstSample
2520         instead of GstBuffer+GstCaps.
2521         (WebCore::ImageGStreamer::createImage):
2522         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Ditto.
2523         (ImageGStreamer::ImageGStreamer):
2524         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2525         (WebCore::mediaPlayerPrivateRepaintCallback): The repaint signal
2526         now uses a GstSample instead of a GstBuffer.
2527         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2528         Store the current sample instead of a buffer. Also renamed the
2529         mutex protecting access to the sample.
2530         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Ditto.
2531         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize): Return
2532         early if no sample is available. The caps used to get the video
2533         size are store in the sample.
2534         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Use
2535         GstSample instead of GstBuffer.
2536         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint): Ditto.
2537         (WebCore::MediaPlayerPrivateGStreamerBase::paint): Ditto.
2538         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2539         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Now store a
2540         GstSample internally. Also removed the now useless current-caps property.
2541         (_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Renamed the
2542         mutex protecting access to the sample.
2543         (_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Ditto.
2544         (webkit_video_sink_init): Disable last-sample in basesink since we
2545         already store one in our sink anyway.
2546         (webkitVideoSinkTimeoutCallback): Switch to GstSample.
2547         (webkitVideoSinkRender): Ditto.
2548         (unlockSampleMutex): Ditto.
2549         (webkitVideoSinkUnlock): Ditto.
2550         (webkitVideoSinkUnlockStop): Ditto.
2551         (webkitVideoSinkStop): Ditto!
2552         (webkitVideoSinkStart): Ditto.
2553         (webkit_video_sink_class_init): Drop current-caps property.
2554         (webkitVideoSinkGetProperty): Deleted.
2555         (unlockBufferMutex): Deleted.
2556
2557 2014-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2558
2559         FormDataBuilder should not use Document
2560         https://bugs.webkit.org/show_bug.cgi?id=138172
2561
2562         Reviewed by Alexey Proskuryakov.
2563
2564         It's only used by encodingFromAcceptCharset() to fallback to
2565         document input encoding. That method is only used by
2566         FormSubmission::create(), so it could be moved as a static
2567         function to FormSubmission.cpp.
2568
2569         * loader/FormSubmission.cpp:
2570         (WebCore::encodingFromAcceptCharset):
2571         (WebCore::FormSubmission::create):
2572         * platform/network/FormDataBuilder.cpp:
2573         (WebCore::FormDataBuilder::encodingFromAcceptCharset): Deleted.
2574         * platform/network/FormDataBuilder.h:
2575
2576 2014-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
2577
2578         ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
2579         https://bugs.webkit.org/show_bug.cgi?id=138054.
2580
2581         Reviewed by Zalan Bujtas.
2582
2583         A Length of type 'Calculated' can be generated from blending two lengths of
2584         different types. Setting the wordSpacing of the render style should be handled
2585         correctly when the type of the new value is 'Calculated'.
2586
2587         Tests: css3/calculated-word-spacing.html.
2588
2589         Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.
2590         * rendering/style/RenderStyle.cpp:
2591         (WebCore::RenderStyle::setWordSpacing):
2592
2593 2014-10-29  Hunseop Jeong  <hs85.jeong@samsung.com>
2594
2595         [CoordinatedGraphics] Use modern for-loops
2596         https://bugs.webkit.org/show_bug.cgi?id=138168
2597
2598         Reviewed by Andreas Kling.
2599
2600         No new tests as there is no change in functionality.
2601
2602         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Use a modern for loop.
2603         (WebCore::CompositingCoordinator::renderNextFrame):
2604         (WebCore::CompositingCoordinator::paintToSurface):
2605         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: Use a modern for loop.
2606         (WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
2607         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
2608         (WebCore::CoordinatedGraphicsLayer::syncChildren):
2609         (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
2610         (WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively):
2611         (WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
2612         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp: Use a modern for loop.
2613         (WebCore::CoordinatedImageBacking::updateVisibilityIfNeeded):
2614
2615 2014-10-29  Chris Dumez  <cdumez@apple.com>
2616
2617         Final-ize more of TextFieldInputType's virtual functions
2618         https://bugs.webkit.org/show_bug.cgi?id=138194
2619
2620         Reviewed by Andreas Kling.
2621
2622         Final-ize more of TextFieldInputType's virtual functions for
2623         performance.
2624
2625         No new tests, no behavior change.
2626
2627         * html/TextFieldInputType.h:
2628
2629 2014-10-29  Chris Dumez  <cdumez@apple.com>
2630
2631         Clean up virtual functions in inspector/
2632         https://bugs.webkit.org/show_bug.cgi?id=138190
2633
2634         Reviewed by Andreas Kling.
2635
2636         Clean up virtual functions in inspector/ by:
2637         - Making virtual functions final when possible
2638         - Making classes final when possible
2639         - Explicitly marking functions / destructors as virtual when they are
2640           inherently virtual
2641         - Making isXXX() virtual functions private on XXX classes to avoid
2642           unnecessary type checks
2643
2644         No new tests, no behavior change.
2645
2646         * inspector/InspectorApplicationCacheAgent.h:
2647         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent): Deleted.
2648         * inspector/InspectorCSSAgent.h:
2649         * inspector/InspectorDOMAgent.h:
2650         * inspector/InspectorDOMDebuggerAgent.h:
2651         * inspector/InspectorDOMStorageAgent.h:
2652         * inspector/InspectorDatabaseAgent.h:
2653         * inspector/InspectorFrontendClientLocal.h:
2654         * inspector/InspectorIndexedDBAgent.h:
2655         * inspector/InspectorLayerTreeAgent.h:
2656         * inspector/InspectorPageAgent.h:
2657         * inspector/InspectorReplayAgent.h:
2658         * inspector/InspectorResourceAgent.h:
2659         * inspector/InspectorStyleSheet.h:
2660         * inspector/InspectorTimelineAgent.h:
2661         * inspector/InspectorWorkerAgent.h:
2662         * inspector/PageConsoleAgent.h:
2663         * inspector/WorkerInspectorController.h:
2664
2665 2014-10-29  Andreas Kling  <akling@apple.com>
2666
2667         Generalize dirtying of parent's line boxes when taking a renderer out of tree.
2668         <https://webkit.org/b/138152>
2669
2670         Reviewed by Antti Koivisto.
2671
2672         Instead of calling dirtyLinesFromChangedChild() when certain types of renderers
2673         are about to be destroyed, always do this in RenderElement::willBeRemovedFromTree().
2674
2675         This is part of an effort to make render tree teardown less incomprehensible.
2676
2677         We still don't bother at all if we're in the process of tearing down the entire
2678         render tree, since that would be a waste of time.
2679
2680         * rendering/RenderBlock.cpp:
2681         (WebCore::RenderBlock::willBeDestroyed):
2682         * rendering/RenderBlockFlow.cpp:
2683         (WebCore::RenderBlockFlow::willBeDestroyed):
2684         * rendering/RenderElement.cpp:
2685         (WebCore::RenderElement::willBeRemovedFromTree):
2686         * rendering/RenderInline.cpp:
2687         (WebCore::RenderInline::willBeDestroyed):
2688         * rendering/RenderReplaced.cpp:
2689         (WebCore::RenderReplaced::willBeDestroyed): Deleted.
2690         * rendering/RenderReplaced.h:
2691
2692 2014-10-28  Ada Chan  <adachan@apple.com>
2693
2694         Implement WKPageSetMuted(bool).
2695         https://bugs.webkit.org/show_bug.cgi?id=138158
2696
2697         Reviewed by Anders Carlsson.
2698
2699         * WebCore.exp.in:
2700         * page/Page.h:
2701
2702 2014-10-29  Alexey Proskuryakov  <ap@apple.com>
2703
2704         Notify Settings object when its Page object goes away.
2705         https://bugs.webkit.org/show_bug.cgi?id=138183
2706         rdar://problem/18786900
2707
2708         Reviewed by Andreas Kling.
2709
2710         I could not make a test for this issue.
2711
2712         * page/Page.cpp:
2713         (WebCore::Page::~Page):
2714         * page/Settings.cpp:
2715         (WebCore::setImageLoadingSettings):
2716         (WebCore::Settings::Settings):
2717         (WebCore::Settings::setTextAutosizingEnabled):
2718         (WebCore::Settings::setTextAutosizingWindowSizeOverride):
2719         (WebCore::Settings::setTextAutosizingFontScaleFactor):
2720         (WebCore::Settings::setMediaTypeOverride):
2721         (WebCore::Settings::setScriptEnabled):
2722         (WebCore::Settings::setUserStyleSheetLocation):
2723         (WebCore::Settings::setMinDOMTimerInterval):
2724         (WebCore::Settings::minDOMTimerInterval):
2725         (WebCore::Settings::domTimerAlignmentInterval):
2726         (WebCore::Settings::setUsesPageCache):
2727         (WebCore::Settings::setScreenFontSubstitutionEnabled):
2728         (WebCore::Settings::setFontRenderingMode):
2729         (WebCore::Settings::setDNSPrefetchingEnabled):
2730         (WebCore::Settings::setStorageBlockingPolicy):
2731         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2732         (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
2733         (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
2734         (WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
2735         (WebCore::Settings::setFontFallbackPrefersPictographs):
2736         * page/Settings.h:
2737         (WebCore::Settings::pageDestroyed):
2738
2739 2014-10-29  Zalan Bujtas  <zalan@apple.com>
2740
2741         Remove invalid float from RootInlineBox.
2742         https://bugs.webkit.org/show_bug.cgi?id=137707
2743
2744         Reviewed by Antti Koivisto.
2745
2746         In certain cases, floating boxes get attached to the last (root) inline box.
2747         When this particular floating box gets destroyed, it also needs to be detached
2748         from the last inline box.
2749         1. Introduce RootInlineBox::removeFloat() (vs. RootInlineBox::appendFloat())
2750         2. Ensure that it is called when the floating box is being destroyed.
2751
2752         Test: fast/inline/crash-when-inline-box-has-invalid-float.html
2753
2754         * rendering/RenderBlockFlow.cpp:
2755         (WebCore::RenderBlockFlow::removeFloatingObject):
2756         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): During style recalc, while
2757         tearing down the render tree, we can get to a state where a block element has both inline and block children.
2758         It happens when the style change on an element makes sibling anonymous block wrappers detached.
2759         In that case the markAllDescendantsWithFloatsForLayout() call does not get propagated down on the
2760         block child elements as we return early at the childrenInline() check.
2761         * rendering/RootInlineBox.h:
2762         (WebCore::RootInlineBox::removeFloat):
2763
2764 2014-10-29  Antti Koivisto  <antti@apple.com>
2765
2766         Factor cache validity computation functions out of CachedResource
2767         https://bugs.webkit.org/show_bug.cgi?id=138156
2768
2769         Reviewed by Andreas Kling.
2770
2771         These can be used to implement cache logic on WebKit level.
2772
2773         * CMakeLists.txt:
2774         * WebCore.exp.in:
2775         * WebCore.vcxproj/WebCore.vcxproj:
2776         * WebCore.xcodeproj/project.pbxproj:
2777         * loader/CacheValidation.cpp: Added.
2778         (WebCore::computeCurrentAge):
2779         (WebCore::computeFreshnessLifetimeForHTTPFamily):
2780         (WebCore::updateRedirectChainStatus):
2781         (WebCore::redirectChainAllowsReuse):
2782         * loader/CacheValidation.h: Added.
2783         (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
2784         * loader/cache/CachedResource.cpp:
2785         (WebCore::updateResponseHeadersAfterRevalidation):
2786         (WebCore::CachedResource::CachedResource):
2787         (WebCore::CachedResource::isExpired):
2788         (WebCore::CachedResource::freshnessLifetime):
2789         (WebCore::CachedResource::willSendRequest):
2790         (WebCore::CachedResource::updateResponseAfterRevalidation):
2791         (WebCore::CachedResource::redirectChainAllowsReuse):
2792         (WebCore::currentAge): Deleted.
2793         * loader/cache/CachedResource.h:
2794
2795 2014-10-29  Antti Koivisto  <antti@apple.com>
2796
2797         Unreviewed, rolling out r175342.
2798
2799         a file ended up in a wrong directory
2800
2801         Reverted changeset:
2802
2803         "Factor cache validity computation functions out of
2804         CachedResource"
2805         https://bugs.webkit.org/show_bug.cgi?id=138156
2806         http://trac.webkit.org/changeset/175342
2807
2808 2014-10-29  Antti Koivisto  <antti@apple.com>
2809
2810         Factor cache validity computation functions out of CachedResource
2811         https://bugs.webkit.org/show_bug.cgi?id=138156
2812
2813         Reviewed by Andreas Kling.
2814
2815         These can be used to implement cache logic on WebKit level.
2816
2817         * CMakeLists.txt:
2818         * WebCore.exp.in:
2819         * WebCore.vcxproj/WebCore.vcxproj:
2820         * WebCore.xcodeproj/project.pbxproj:
2821         * loader/CacheValidation.cpp: Added.
2822         (WebCore::computeCurrentAge):
2823         (WebCore::computeFreshnessLifetimeForHTTPFamily):
2824         (WebCore::updateRedirectChainStatus):
2825         (WebCore::redirectChainAllowsReuse):
2826         * loader/CacheValidation.h: Added.
2827         (WebCore::RedirectChainCacheStatus::RedirectChainCacheStatus):
2828         * loader/cache/CachedResource.cpp:
2829         (WebCore::updateResponseHeadersAfterRevalidation):
2830         (WebCore::CachedResource::CachedResource):
2831         (WebCore::CachedResource::isExpired):
2832         (WebCore::CachedResource::freshnessLifetime):
2833         (WebCore::CachedResource::willSendRequest):
2834         (WebCore::CachedResource::updateResponseAfterRevalidation):
2835         (WebCore::CachedResource::redirectChainAllowsReuse):
2836         (WebCore::currentAge): Deleted.
2837         * loader/cache/CachedResource.h:
2838
2839 2014-10-28  Ada Chan  <adachan@apple.com>
2840
2841         Add API to mute/unmute a page.
2842         https://bugs.webkit.org/show_bug.cgi?id=138150
2843
2844         Reviewed by Eric Carlson.
2845
2846         No new tests, since it's difficult to test whether the Page has indeed been muted.
2847
2848         * dom/Document.cpp:
2849         (WebCore::Document::setMuted):
2850         Go through each AudioProducer and call setMuted() on it.
2851         * dom/Document.h:
2852         * page/AudioProducer.h:
2853         Add setMuted(bool). HTMLMediaElement, the only derived class of AudioProducer so far,
2854         has already implemented setMuted().
2855         * page/Page.cpp:
2856         (WebCore::Page::setMuted):
2857         Go through all its frames and call setMuted() on each frame's Document.
2858         * page/Page.h:
2859
2860 2014-10-29  Tim Horton  <timothy_horton@apple.com>
2861
2862         Implement action menus for data detected items
2863         https://bugs.webkit.org/show_bug.cgi?id=138178
2864         <rdar://problem/18709436>
2865
2866         Reviewed by Anders Carlsson.
2867
2868         * WebCore.exp.in:
2869         Export a symbol from Position that we need.
2870
2871         * WebCore.xcodeproj/project.pbxproj:
2872         * platform/spi/mac/DataDetectorsSPI.h:
2873         Add a combined SPI header for all of the random bits of DataDetectors that we use.
2874
2875 2014-10-29  Jer Noble  <jer.noble@apple.com>
2876
2877         [EME] NULL-dereference crash in MediaKeys::setMediaElement().
2878         https://bugs.webkit.org/show_bug.cgi?id=138177
2879
2880         Reviewed by Eric Carlson.
2881
2882         NULL-check m_mediaElement->player() before using. It may have been cleared if the HTMLMediaElement
2883         has previously had stop() called.
2884
2885         * Modules/encryptedmedia/MediaKeys.cpp:
2886         (WebCore::MediaKeys::setMediaElement):
2887
2888 2014-10-29  Jer Noble  <jer.noble@apple.com>
2889
2890         [EME] MediaKeySession resources persist across page reloads
2891         https://bugs.webkit.org/show_bug.cgi?id=138176
2892
2893         Reviewed by Eric Carlson.
2894
2895         MediaKeySession is an ActiveDOMObject, so when told to stop() by our execution context,
2896         close() the session, releasing all our resources.
2897
2898         * Modules/encryptedmedia/MediaKeySession.h:
2899
2900 2014-10-29  Jer Noble  <jer.noble@apple.com>
2901
2902         [EME][Mac] MediaKeySession type "keyrelease" is ignored.
2903         https://bugs.webkit.org/show_bug.cgi?id=138175
2904
2905         Reviewed by Eric Carlson.
2906
2907         To indicate that they would like to recevie expired session confirmation messages, clients
2908         will create a MediaKeySession with a type parameter of "keyrelease". The code which validates
2909         this type needs to be updated to recognize "keyrelease" as a valid type.
2910
2911         Also, the code which validates update() requests needs to allow updates containing the string
2912         "acknowledged", so that clients can request the confirmation messages be discarded.
2913
2914         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
2915         (WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):
2916         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2917         (WebCore::CDMSessionMediaSourceAVFObjC::update):
2918
2919 2014-10-28  Ada Chan  <adachan@apple.com>
2920
2921         Remove MediaSessionClient::hasMediaCharacteristics() and MediaSessionClient::mediaStateDidChange().
2922         https://bugs.webkit.org/show_bug.cgi?id=138153
2923
2924         Reviewed by Jer Noble.
2925
2926         After http://trac.webkit.org/changeset/175273, Document no longer keeps a set of MediaSessions
2927         and it doesn't need to query each MediaSession for its characteristics and play state.
2928         MediaSessionClient::hasMediaCharacteristics() is no longer needed and MediaSessionClient::mediaStateDidChange()
2929         can be removed if HTMLMediaElement calls Document::updateIsPlayingAudio() after m_playing has changed.
2930
2931         No new tests, no behavior change.
2932
2933         * html/HTMLMediaElement.cpp:
2934         (WebCore::HTMLMediaElement::updatePlayState):
2935         Call setPlaying() rather than setting m_playing directly.
2936         (WebCore::HTMLMediaElement::setPlaying):
2937         Update m_playing. If it has changed, call Document::updateIsPlayingAudio().
2938         (WebCore::HTMLMediaElement::setPausedInternal):
2939         Call setPlaying() rather than setting m_playing directly.
2940         (WebCore::HTMLMediaElement::isPlayingAudio):
2941         Call isPlaying() directly rather than checking the MediaSession's state.
2942         * html/HTMLMediaElement.h:
2943         * platform/audio/MediaSession.cpp:
2944         (WebCore::MediaSession::setState):
2945         MediaSessionClient::mediaStateDidChange() has been removed.
2946         (WebCore::MediaSession::hasMediaCharacteristics): Deleted.
2947         * platform/audio/MediaSession.h:
2948         (WebCore::MediaSessionClient::mediaStateDidChange): Deleted.
2949         * platform/audio/ios/AudioDestinationIOS.h:
2950         * platform/audio/mac/AudioDestinationMac.h:
2951
2952 2014-10-29  Chris Dumez  <cdumez@apple.com>
2953
2954         Clean up virtual functions in html/
2955         https://bugs.webkit.org/show_bug.cgi?id=138166
2956
2957         Reviewed by Andreas Kling.
2958
2959         Clean up virtual functions in html/ by:
2960         - Making virtual functions final when possible
2961         - Making classes final when possible
2962         - Using 'override' when appropriate
2963         - Explicitly marking functions / destructors as virtual when they are
2964           inherently virtual
2965         - Dropping virtual destructors when the class does not have subclasses
2966           and mark the class as final, to get rid of unnecessary vtables
2967         - Making isXXX() virtual functions private on XXX classes to avoid
2968           unnecessary type checks
2969         - De-virtualizing some functions that do not need to be virtual
2970         - Dropping final for virtual functions in classes already marked as
2971           final
2972
2973         No new tests, no behavior change.
2974
2975         * html/ButtonInputType.h:
2976         * html/CheckboxInputType.h:
2977         * html/ColorInputType.h:
2978         * html/DOMSettableTokenList.h:
2979         * html/DateInputType.h:
2980         * html/DateTimeInputType.h:
2981         * html/DateTimeLocalInputType.h:
2982         * html/EmailInputType.h:
2983         * html/FTPDirectoryDocument.h:
2984         * html/HTMLAnchorElement.h:
2985         * html/HTMLDetailsElement.cpp:
2986         * html/HTMLFormControlElement.h:
2987         * html/HTMLFormControlsCollection.h:
2988         * html/HTMLFrameElement.h:
2989         * html/HTMLFrameElementBase.h:
2990         * html/HTMLFrameOwnerElement.h:
2991         * html/HTMLInputElement.h:
2992         * html/HTMLMarqueeElement.h:
2993         * html/HTMLMediaElement.h:
2994         * html/HTMLMediaSession.h:
2995         (WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring): Deleted.
2996         * html/HTMLMeterElement.h:
2997         * html/HTMLNameCollection.h:
2998         * html/HTMLObjectElement.h:
2999         * html/HTMLOptGroupElement.h:
3000         * html/HTMLOptionElement.h:
3001         * html/HTMLSpanElement.h:
3002         * html/HTMLStyleElement.h:
3003         * html/HTMLSummaryElement.cpp:
3004         * html/HTMLSummaryElement.h:
3005         * html/HTMLUnknownElement.h:
3006         * html/HTMLVideoElement.h:
3007         * html/HiddenInputType.h:
3008         * html/ImageInputType.h:
3009         * html/MediaKeyEvent.h:
3010         * html/MonthInputType.h:
3011         * html/NumberInputType.h:
3012         * html/PasswordInputType.h:
3013         * html/PublicURLManager.h:
3014         * html/RadioInputType.h:
3015         * html/ResetInputType.h:
3016         * html/SubmitInputType.h:
3017         * html/TelephoneInputType.h:
3018         * html/TextInputType.h:
3019         * html/TimeInputType.h:
3020         * html/URLInputType.h:
3021         * html/WeekInputType.h:
3022         * html/canvas/ANGLEInstancedArrays.h:
3023         * html/canvas/CanvasRenderingContext2D.h:
3024         * html/canvas/DOMPath.h:
3025         * html/canvas/EXTShaderTextureLOD.h:
3026         * html/canvas/EXTTextureFilterAnisotropic.h:
3027         * html/canvas/OESElementIndexUint.h:
3028         * html/canvas/OESStandardDerivatives.h:
3029         * html/canvas/OESTextureFloat.h:
3030         * html/canvas/OESTextureFloatLinear.h:
3031         * html/canvas/OESTextureHalfFloat.h:
3032         * html/canvas/OESTextureHalfFloatLinear.h:
3033         * html/canvas/OESVertexArrayObject.h:
3034         * html/canvas/WebGLBuffer.h:
3035         * html/canvas/WebGLCompressedTextureATC.h:
3036         * html/canvas/WebGLCompressedTexturePVRTC.h:
3037         * html/canvas/WebGLCompressedTextureS3TC.h:
3038         * html/canvas/WebGLContextAttributes.h:
3039         * html/canvas/WebGLContextEvent.h:
3040         * html/canvas/WebGLDebugRendererInfo.h:
3041         * html/canvas/WebGLDebugShaders.h:
3042         * html/canvas/WebGLDepthTexture.h:
3043         * html/canvas/WebGLDrawBuffers.h:
3044         * html/canvas/WebGLFramebuffer.h:
3045         (WebCore::WebGLFramebuffer::isFramebuffer): Deleted.
3046         * html/canvas/WebGLLoseContext.h:
3047         * html/canvas/WebGLProgram.h:
3048         * html/canvas/WebGLRenderbuffer.h:
3049         * html/canvas/WebGLRenderingContext.h:
3050         * html/canvas/WebGLShader.h:
3051         * html/canvas/WebGLSharedObject.h:
3052         (WebCore::WebGLSharedObject::isFramebuffer): Deleted.
3053         * html/canvas/WebGLTexture.h:
3054         * html/canvas/WebGLVertexArrayObjectOES.h:
3055         (WebCore::WebGLVertexArrayObjectOES::isVertexArray): Deleted.
3056         * html/shadow/ImageControlsRootElement.h:
3057         * html/shadow/InsertionPoint.h:
3058         * html/shadow/MediaControlElementTypes.h:
3059         * html/shadow/MediaControlElements.h:
3060         * html/shadow/MediaControls.h:
3061         * html/shadow/MediaControlsApple.h:
3062         * html/shadow/SpinButtonElement.h:
3063         * html/track/AudioTrack.h:
3064         * html/track/AudioTrackList.h:
3065         * html/track/DataCue.h:
3066         (WebCore::DataCue::cueType): Deleted.
3067         * html/track/InbandDataTextTrack.h:
3068         * html/track/InbandGenericTextTrack.h:
3069         * html/track/InbandTextTrack.h:
3070         * html/track/InbandWebVTTTextTrack.h:
3071         * html/track/LoadableTextTrack.h:
3072         * html/track/TextTrackList.h:
3073         * html/track/TrackEvent.h:
3074         * html/track/VTTCue.h:
3075         (WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
3076         * html/track/VTTRegion.h:
3077         * html/track/VideoTrack.h:
3078         * html/track/VideoTrackList.h:
3079         * html/track/WebVTTParser.h:
3080         (WebCore::WebVTTCueData::~WebVTTCueData): Deleted.
3081
3082 2014-10-17  Sergio Villar Senin  <svillar@igalia.com>
3083
3084         ASSERTION FAILED: growthShare > 0 in WebCore::RenderGrid::distributeSpaceToTracks
3085         https://bugs.webkit.org/show_bug.cgi?id=137772
3086
3087         Reviewed by Andreas Kling.
3088
3089         We're hitting the ASSERTION because if the number of tracks an
3090         item spans does greatly exceed the available logical space, then
3091         the result of the division availableLogicalSpace/numberOfTracks is
3092         truncated to 0. So the ASSERTION was theoretically right because
3093         the result has to be always >0 (as the dividend > 0) but the fact
3094         that the result is a LayoutUnit forces us to accept 0 as a valid
3095         outcome of the operation.
3096
3097         Test: fast/css-grid-layout/tracks-number-greatly-exceeding-available-size-crash.html
3098
3099         * rendering/RenderGrid.cpp:
3100         (WebCore::RenderGrid::distributeSpaceToTracks):
3101
3102 2014-10-29  Chris Dumez  <cdumez@apple.com>
3103
3104         Crash in CachedRawResource::canReuse() when reloading http://dnd.wizards.com/dungeons-and-dragons/story
3105         https://bugs.webkit.org/show_bug.cgi?id=138164
3106
3107         Reviewed by Andreas Kling.
3108
3109         This patch fixes a crash when reloading the following URL:
3110         http://dnd.wizards.com/dungeons-and-dragons/story
3111
3112         We were crashing in CachedRawResource::canReuse() because header.key
3113         would sometimes be a null String and we would call
3114         HashMap::get(nullString).
3115
3116         The real issue was that header.key was null in the first place, which
3117         means that even though the HTTPHeaderMap iterator is valid, it->key
3118         is a null String, which should never happen. There was a bug in the
3119         HTTPHeaderMapConstIterator() constructor that would cause the
3120         iterator key/value pair to not get initialized if the HTTPHeaderMap
3121         contained *only* uncommon HTTP headers. This patch updates the
3122         constructor so that we fall back to updating the key/value from the
3123         uncommon header map, if we failed to initialized from the common
3124         header map (because it was empty).
3125
3126         Test: http/tests/cache/xhr-uncommon-header.html
3127
3128         * platform/network/HTTPHeaderMap.h:
3129         (WebCore::HTTPHeaderMap::HTTPHeaderMapConstIterator::HTTPHeaderMapConstIterator):
3130
3131 2014-10-28  Benjamin Poulain  <benjamin@webkit.org>
3132
3133         CSS4 Selectors: Add the pseudo class :any-link
3134         https://bugs.webkit.org/show_bug.cgi?id=138128
3135
3136         Reviewed by Andreas Kling.
3137
3138         Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo
3139
3140         After :link and :-webkit-any-link were fixed, :any-link behaves
3141         exactly like :-webkit-any-link. All I had left to do here was
3142         make them synonyms when evaluating selectors.
3143
3144         Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo
3145
3146         After :link and :-webkit-any-link were fixed, :any-link behaves
3147         exactly like :-webkit-any-link. All I had left to do here was
3148         make them synonyms when evaluating selectors.
3149
3150         Tests: fast/selectors/any-link-basics-2.html
3151                fast/selectors/any-link-basics.html
3152                fast/selectors/any-link-styling.html
3153
3154         * css/CSSSelector.cpp:
3155         (WebCore::CSSSelector::selectorText):
3156         * css/CSSSelector.h:
3157         * css/RuleSet.cpp:
3158         (WebCore::RuleSet::addRule):
3159         * css/SelectorChecker.cpp:
3160         (WebCore::SelectorChecker::checkOne):
3161         * css/SelectorChecker.h:
3162         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
3163         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
3164         * cssjit/SelectorCompiler.cpp:
3165         (WebCore::SelectorCompiler::addPseudoClassType):
3166         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
3167
3168 2014-10-28  Jer Noble  <jer.noble@apple.com>
3169
3170         [EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time
3171         https://bugs.webkit.org/show_bug.cgi?id=138149
3172
3173         Reviewed by Brent Fulgham.
3174
3175         AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires
3176         us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC.
3177
3178         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
3179         (-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed.
3180         (WebCore::CDMSessionMediaSourceAVFObjC::update):
3181         (WebCore::sessionStorageDirectory): Deleted.
3182         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3183         (WebCore::sessionStorageDirectory):
3184         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
3185
3186 2014-10-28  Geoffrey Garen  <ggaren@apple.com>
3187
3188         All networking crashes on Mac 32bit
3189         https://bugs.webkit.org/show_bug.cgi?id=138157
3190
3191         Reviewed by Andy Estes.
3192
3193         NEFilterSource content filtering is not available on 32bit, so
3194         soft-linking fails at runtime. The simplest solution is just to disable
3195         it at compile time.
3196
3197         * platform/ContentFilter.h:
3198
3199 2014-10-28  Jeremy Jones  <jeremyj@apple.com>
3200
3201         Add optimized fullscreen mode.
3202         https://bugs.webkit.org/show_bug.cgi?id=138044
3203
3204         Reviewed by Jer Noble.
3205
3206         Enable different types of fullscreen video behavior.
3207         Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.
3208         Add gesture for alternate fullscreen.
3209
3210         * Modules/mediacontrols/MediaControlsHost.cpp:
3211         (WebCore::MediaControlsHost::enterFullscreenOptimized): added
3212         * Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized
3213         * Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized
3214         * Modules/mediacontrols/mediaControlsiOS.js:
3215         (ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture
3216         * WebCore.exp.in: added parameter to setupFullscreen
3217         * html/HTMLMediaElement.cpp:
3218         (WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType
3219         (WebCore::HTMLMediaElement::stop) : ditto
3220         (WebCore::HTMLMediaElement::isFullscreen) : ditto
3221         (WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement
3222         (WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType
3223         (WebCore::HTMLMediaElement::enterFullscreenOptimized): added
3224         * html/HTMLMediaElement.h: added enterFullscreenOptimized
3225         * page/ChromeClient.h:
3226         (WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter
3227         * platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter
3228         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3229         (-[WebVideoFullscreenController enterFullscreen:type:]): add parameter
3230         (-[WebVideoFullscreenController enterFullscreen:]): Deleted.
3231         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public
3232         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3233         (-[WebAVPlayerController player]): this stub is now required
3234         (-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames
3235         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface 
3236         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
3237         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
3238         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
3239
3240 2014-10-28  Chris Dumez  <cdumez@apple.com>
3241
3242         Clean up virtual functions in accessibility/
3243         https://bugs.webkit.org/show_bug.cgi?id=138148
3244
3245         Reviewed by Chris Fleizach.
3246
3247         Clean up virtual functions in accessibility/ by:
3248         - Marking classes as final when suitable
3249         - Marking virtual functions as final when suitable
3250         - Dropping final on virtual functions in classes that are already final
3251         - Make isXXX() virtual type checking functions in XXX classes to avoid
3252           useless type checks
3253
3254         No new tests, no behavior change.
3255
3256         * accessibility/AccessibilityARIAGrid.h:
3257         * accessibility/AccessibilityARIAGridCell.h:
3258         * accessibility/AccessibilityARIAGridRow.h:
3259         * accessibility/AccessibilityImageMapLink.h:
3260         * accessibility/AccessibilityList.h:
3261         * accessibility/AccessibilityListBox.h:
3262         * accessibility/AccessibilityListBoxOption.h:
3263         * accessibility/AccessibilityMediaControls.h:
3264         * accessibility/AccessibilityMenuList.h:
3265         * accessibility/AccessibilityMenuListOption.h:
3266         * accessibility/AccessibilityMenuListPopup.h:
3267         * accessibility/AccessibilityMockObject.h:
3268         (WebCore::AccessibilityMockObject::setParent):
3269         * accessibility/AccessibilityNodeObject.h:
3270         * accessibility/AccessibilityProgressIndicator.h:
3271         * accessibility/AccessibilityRenderObject.h:
3272         * accessibility/AccessibilitySVGRoot.h:
3273         * accessibility/AccessibilityScrollView.h:
3274         * accessibility/AccessibilityScrollbar.h:
3275         * accessibility/AccessibilitySearchFieldButtons.h:
3276         * accessibility/AccessibilitySlider.h:
3277         * accessibility/AccessibilitySpinButton.h:
3278         * accessibility/AccessibilityTable.h:
3279         * accessibility/AccessibilityTableCell.h:
3280         * accessibility/AccessibilityTableColumn.h:
3281         * accessibility/AccessibilityTableHeaderContainer.h:
3282         * accessibility/AccessibilityTableRow.h:
3283
3284 2014-10-24  Jeffrey Pfau  <jpfau@apple.com>
3285
3286         FrameProgressTracker expects Page to not have detached
3287         https://bugs.webkit.org/show_bug.cgi?id=138061
3288
3289         Reviewed by Alexey Proskuryakov.
3290
3291         In some cases, a Page may be detached from a Frame before its
3292         FrameLoader is torn down, causing FrameProgressTracker's destructor
3293         to hit a null pointer.
3294
3295         No new tests; it is impossible to reliably simulate the null pointer
3296         case without intrusive code changes.
3297
3298         * loader/FrameLoader.cpp:
3299         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
3300
3301 2014-10-27  Ada Chan  <adachan@apple.com>
3302
3303         Introduce a new abstract class called AudioProducer and keep a set of AudioProducers
3304         rather than the active MediaSessions in Document
3305         https://bugs.webkit.org/show_bug.cgi?id=138107
3306
3307         Reviewed by Eric Carlson.
3308
3309         No new tests, no behavior change.
3310
3311         * WebCore.xcodeproj/project.pbxproj:
3312         Add AudioProducer.h to the project.
3313         * dom/Document.cpp:
3314         (WebCore::Document::addAudioProducer):
3315         (WebCore::Document::removeAudioProducer):
3316         (WebCore::Document::updateIsPlayingAudio):
3317         Go through the set of AudioProducers and see if any is playing audio.
3318         Now that this method no longer refers to MediaSessions directly, this code
3319         does not need to be guarded by #if ENABLE(VIDEO).
3320         (WebCore::Document::registerMediaSession): Deleted.
3321         (WebCore::Document::unregisterMediaSession): Deleted.
3322         * dom/Document.h:
3323         * html/HTMLMediaElement.cpp:
3324         (WebCore::HTMLMediaElement::registerWithDocument):
3325         (WebCore::HTMLMediaElement::unregisterWithDocument):
3326         (WebCore::HTMLMediaElement::isPlayingAudio):
3327         Return whether this element is playing audio.
3328         * html/HTMLMediaElement.h:
3329         * page/AudioProducer.h: Added.
3330         (WebCore::AudioProducer::~AudioProducer):
3331         * page/Page.cpp:
3332         (WebCore::Page::updateIsPlayingAudio):
3333         This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls
3334         are no longer guarded.
3335         * page/Page.h:
3336
3337 2014-10-28  Chris Dumez  <cdumez@apple.com>
3338
3339         Unreviewed comment fix from r175267.
3340
3341         Fix namespace name in comment.
3342
3343         * css/StyleBuilderCustom.h:
3344
3345 2014-10-28  Jer Noble  <jer.noble@apple.com>
3346
3347         REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
3348         https://bugs.webkit.org/show_bug.cgi?id=137757
3349
3350         Reviewed by Eric Carlson.
3351
3352         In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
3353         of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this 
3354         <div> should be created and added in mediaControlsiOS.js, which requires overloading
3355         Controller.addControls.
3356
3357         * Modules/mediacontrols/mediaControlsApple.css:
3358         (audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
3359         (video::-webkit-media-controls-panel-composited-parent): Deleted.
3360         * Modules/mediacontrols/mediaControlsApple.js:
3361         (Controller.prototype.createControls): Remove the composited parent.
3362         (Controller.prototype.addControls): Ditto.
3363         * Modules/mediacontrols/mediaControlsiOS.js:
3364         (ControllerIOS.prototype.createControls): Create the composited parent.
3365         (ControllerIOS.prototype.addControls): Copied from (previous) apple.js.
3366
3367 2014-10-28  Chris Dumez  <cdumez@apple.com>
3368
3369         Move "Number" CSS properties to the new StyleBuilder
3370         https://bugs.webkit.org/show_bug.cgi?id=138125
3371
3372         Reviewed by Antti Koivisto.
3373
3374         Move "Number" CSS properties from DeprecatedStyleBuilder to the new
3375         StyleBuilder:
3376         -webkit-hyphenate-limit-after
3377         -webkit-hyphenate-limit-before
3378         -webkit-shape-image-threshold
3379         -webkit-hyphenate-limit-lines
3380
3381         They are now generated from CSSPropertyNames.in
3382
3383         For -webkit-hyphenate-limit-lines, I used custom code instead of
3384         the Number converter as it required special handling for the id
3385         value. This patch thus adds support for [Custom=Value] to
3386         CSSPropertyNames.in and the custom code goes into
3387         css/StyleBuilderCustom.h.
3388
3389         No new tests, no behavior change.
3390
3391         * WebCore.xcodeproj/project.pbxproj:
3392         * css/CSSPropertyNames.in:
3393         * css/DeprecatedStyleBuilder.cpp:
3394         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3395         (WebCore::ApplyPropertyNumber::setValue): Deleted.
3396         (WebCore::ApplyPropertyNumber::applyValue): Deleted.
3397         (WebCore::ApplyPropertyNumber::createHandler): Deleted.
3398         * css/StyleBuilderConverter.h:
3399         (WebCore::StyleBuilderConverter::convertNumber):
3400         * css/StyleBuilderCustom.h: Added.
3401         (WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines):
3402         * css/makeprop.pl:
3403
3404 2014-10-28  Zan Dobersek  <zdobersek@igalia.com>
3405
3406         [WebCore] Remove uses of WTF::bind() in the Media Stream module
3407         https://bugs.webkit.org/show_bug.cgi?id=138016
3408
3409         Reviewed by Eric Carlson.
3410
3411         Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas.
3412         Internal helper methods are removed in favor of inlining the code directly
3413         into the lambdas. Range-based for-loops are deployed where appropriate.
3414
3415         * Modules/mediastream/MediaStreamTrack.cpp:
3416         (WebCore::MediaStreamTrack::scheduleEventDispatch):
3417         (WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted.
3418         * Modules/mediastream/MediaStreamTrack.h:
3419         * Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:
3420         (WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):
3421         (WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted.
3422         * Modules/mediastream/MediaStreamTrackSourcesRequest.h:
3423         * Modules/mediastream/UserMediaRequest.cpp:
3424         (WebCore::UserMediaRequest::constraintsValidated):
3425         (WebCore::UserMediaRequest::userMediaAccessGranted):
3426         (WebCore::UserMediaRequest::didCreateStream):
3427         (WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
3428         (WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
3429         (WebCore::UserMediaRequest::requestPermission): Deleted.
3430         (WebCore::UserMediaRequest::createMediaStream): Deleted.
3431         (WebCore::UserMediaRequest::callSuccessHandler): Deleted.
3432         (WebCore::UserMediaRequest::callErrorHandler): Deleted.
3433         * Modules/mediastream/UserMediaRequest.h:
3434
3435 2014-10-28  Pascal Jacquemart  <p.jacquemart@samsung.com>
3436
3437         Abandoned select option is reselected when shift selecting new options
3438         https://bugs.webkit.org/show_bug.cgi?id=137553
3439
3440         Reviewed by Ryosuke Niwa.
3441
3442         Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using
3443         typeAhead. Fixed by clearing previously selected options before starting a new active selection.
3444
3445         Test: fast/forms/listbox-selection-after-typeahead.html
3446
3447         * html/HTMLSelectElement.cpp:
3448         (WebCore::HTMLSelectElement::selectOption): Code re-ordering
3449
3450 2014-10-28  Milan Crha  <mcrha@redhat.com>
3451
3452         Use constants from wtf/MathExtras.h
3453         https://bugs.webkit.org/show_bug.cgi?id=137967
3454
3455         Reviewed by Darin Adler.
3456
3457         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3458         (WebCore::rotateCairoMatrixForVerticalOrientation):
3459         * rendering/mathml/RenderMathMLMenclose.cpp:
3460         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
3461         (WebCore::RenderMathMLMenclose::updateLogicalHeight):
3462         * rendering/mathml/RenderMathMLOperator.cpp:
3463         (WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
3464
3465 2014-10-28  David Hyatt  <hyatt@apple.com>
3466
3467         Selection gap painting is ugly for ruby bases.
3468         https://bugs.webkit.org/show_bug.cgi?id=138136
3469
3470         Reviewed by Dean Jackson.
3471
3472         * rendering/RenderBlock.cpp:
3473         (WebCore::RenderBlock::selectionGaps):
3474         For ruby bases don't fill to the end of the block (in the block direction),
3475         since ideographic baselines push that end below the text baseline.
3476
3477         (WebCore::RenderBlock::blockSelectionGaps):
3478         * rendering/RenderBlockFlow.cpp:
3479         Skip ruby bases for block selection gap filling.
3480
3481 2014-10-28  Zalan Bujtas  <zalan@apple.com>
3482
3483         Speed up line parsing for simple line layout.
3484         https://bugs.webkit.org/show_bug.cgi?id=137275
3485
3486         Reviewed by Antti Koivisto.
3487         
3488         This patch speeds up the line parsing for simple line layout by
3489         reducing the number of text measurement calls.
3490         The parsing logic hasn't changed. We simply walk over
3491         the whitespace/non-whitespace fragments and measure them to
3492         figure out whether they fit.
3493         The performance gain mainly comes from the more efficient line wrapping
3494         so that we don't re-measure the fragment when it is pushed to
3495         the next line.
3496
3497         No change in behaviour. (except the empty line-break run removal.)
3498
3499         * rendering/SimpleLineLayout.cpp:
3500         (WebCore::SimpleLineLayout::skipWhitespace): 
3501         (WebCore::SimpleLineLayout::computeLineLeft):
3502         (WebCore::SimpleLineLayout::TextFragment::TextFragment):
3503         (WebCore::SimpleLineLayout::TextFragment::isEmpty):
3504         (WebCore::SimpleLineLayout::LineState::LineState):
3505         (WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it. 
3506         (WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text. 
3507         (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text.
3508         (WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text. 
3509         (WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text.
3510         (WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line. 
3511         (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): 
3512         (WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace.
3513         (WebCore::SimpleLineLayout::initializeLine):
3514         (WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line.
3515         (WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text.
3516         (WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line.
3517         (WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line.
3518         (WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text.
3519         (WebCore::SimpleLineLayout::isWhitespace): Deleted.
3520         (WebCore::SimpleLineLayout::skipWhitespaces): Deleted.
3521         (WebCore::SimpleLineLayout::measureWord): Deleted.
3522         (WebCore::SimpleLineLayout::adjustRunOffsets): Deleted.
3523         * rendering/SimpleLineLayout.h:
3524         (WebCore::SimpleLineLayout::Run::Run):
3525
3526 2014-10-28  Alexey Proskuryakov  <ap@apple.com>
3527
3528         Windows build fix.
3529
3530         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3531         (WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function
3532         for getting current process ID instead of getpid().
3533
3534 2014-10-28  Mihnea Ovidenie  <mihnea@adobe.com>
3535
3536         Clean up subtrees selection code
3537         https://bugs.webkit.org/show_bug.cgi?id=137740
3538
3539         Reviewed by David Hyatt.
3540
3541         Clean up subtrees selection code. Add a new class SelectionSubtreeData
3542         that keeps only the selection data. Have SelectionSubtreeRoot class embed
3543         a SelectionSubtreeData member and keep the business logic methods.
3544         No functionality changed therefore no new layout tests.
3545
3546         * rendering/RenderObject.cpp:
3547         (WebCore::RenderObject::selectionStartEnd):
3548         * rendering/RenderView.cpp:
3549         (WebCore::RenderView::subtreeSelectionBounds):
3550         (WebCore::RenderView::repaintSubtreeSelection):
3551         (WebCore::RenderView::setSelection):
3552         (WebCore::RenderView::splitSelectionBetweenSubtrees):
3553         (WebCore::RenderView::updateSelectionForSubtrees):
3554         (WebCore::RenderView::clearSubtreeSelection):
3555         (WebCore::RenderView::applySubtreeSelection):
3556         * rendering/RenderView.h:
3557         * rendering/SelectionSubtreeRoot.cpp:
3558         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
3559         (WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):
3560         * rendering/SelectionSubtreeRoot.h:
3561         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
3562         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart):
3563         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
3564         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd):
3565         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
3566         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
3567         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
3568         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart):
3569         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
3570         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd):
3571         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
3572         (WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
3573         (WebCore::SelectionSubtreeRoot::selectionData):
3574         (WebCore::SelectionSubtreeRoot::setSelectionData):
3575         (WebCore::SelectionSubtreeRoot::selectionStart): Deleted.
3576         (WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted.
3577         (WebCore::SelectionSubtreeRoot::selectionEnd): Deleted.
3578         (WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted.
3579         (WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted.
3580         (WebCore::SelectionSubtreeRoot::selectionClear): Deleted.
3581         (WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted.
3582         (WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted.
3583         (WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted.
3584         (WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted.
3585
3586 2014-10-28  Jer Noble  <jer.noble@apple.com>
3587
3588         [Mac] The first software paint of a <video> element takes up to 2.5s.
3589         https://bugs.webkit.org/show_bug.cgi?id=137754
3590
3591         Reviewed by Brent Fulgham.
3592
3593         It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:]
3594         the video output will not attempt to conform the resulting pixel buffers into a particular format.
3595         This means that adding such a video output to a AVPlayerItem should have almost no performance
3596         penalty, since the video output does not even copy the resulting buffers, but rather just retains
3597         and returns the ones from the AVPlayerLayer.
3598
3599         Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching
3600         the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching
3601         a video output to an already attached AVPlayerItem.
3602
3603         When creating the AVPlayerItemVideoOutput, pass in `nil` for the pixelBufferAttributes parameter.
3604
3605         Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and
3606         whait when asked to paint with the video output.
3607
3608         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3609         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
3610         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
3611         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
3612
3613 2014-10-28  Chris Dumez  <cdumez@apple.com>
3614
3615         Move text decoration CSS properties to the new StyleBuilder
3616         https://bugs.webkit.org/show_bug.cgi?id=138121
3617
3618         Reviewed by Antti Koivisto.
3619
3620         Move text decoration CSS properties from DeprecatedStyleBuilder to the
3621         new StyleBuilder so that they are generated from CSSPropertyNames.in.
3622
3623         No new tests, no behavior change.
3624
3625         * css/CSSPropertyNames.in:
3626         * css/DeprecatedStyleBuilder.cpp:
3627         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3628         (WebCore::ApplyPropertyTextDecoration::applyValue): Deleted.
3629         (WebCore::ApplyPropertyTextDecoration::createHandler): Deleted.
3630         * css/StyleBuilderConverter.h:
3631         (WebCore::StyleBuilderConverter::convertTextDecoration):
3632
3633 2014-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3634
3635         [GTK] Remove GDK dependency from SharedTimerGtk
3636         https://bugs.webkit.org/show_bug.cgi?id=138092
3637
3638         Reviewed by Martin Robinson.
3639
3640         It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can
3641         use its value directly instead.
3642
3643         * PlatformGTK.cmake:
3644         * platform/gtk/SharedTimerGtk.cpp:
3645         (WebCore::setSharedTimerFireInterval):
3646
3647 2014-10-27  Andreas Kling  <akling@apple.com>
3648
3649         Move RenderBlock::beingDestroyed() to RenderObject.
3650         <https://webkit.org/b/138116>
3651
3652         Reviewed by Antti Koivisto.
3653
3654         Make "is being destroyed" a RenderObject concept instead of restricting
3655         it to RenderBlocks. I'm guessing that this was specific to blocks due to
3656         lack of bitfield space in RenderObject, and that's no longer an issue.
3657
3658         * rendering/RenderBlock.cpp:
3659         (WebCore::RenderBlock::RenderBlock):
3660         (WebCore::RenderBlock::willBeDestroyed):
3661         * rendering/RenderBlock.h:
3662         (WebCore::RenderBlock::beingDestroyed): Deleted.
3663         * rendering/RenderBlockFlow.cpp:
3664         (WebCore::RenderBlockFlow::willBeDestroyed):
3665         * rendering/RenderObject.cpp:
3666         (WebCore::RenderObject::destroy):
3667         * rendering/RenderObject.h:
3668         (WebCore::RenderObject::beingDestroyed):
3669         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
3670
3671 2014-10-27  Chris Fleizach  <cfleizach@apple.com>
3672
3673         AX: input type=hidden is being exposed when aria-hidden=false
3674         https://bugs.webkit.org/show_bug.cgi?id=138106
3675
3676         Reviewed by Benjamin Poulain.
3677
3678         If an input type=hidden was inside an aria-hidden=false, it would appear because
3679         the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
3680         We should explicity check for whether the type is hidden and then return an appropriate role. 
3681
3682         Test: accessibility/input-type-hidden-in-aria-hidden-false.html
3683
3684         * accessibility/AccessibilityNodeObject.cpp:
3685         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
3686         (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
3687
3688 2014-10-27  Alexey Proskuryakov  <ap@apple.com>
3689
3690         https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.
3691
3692         * accessibility/AccessibilityRenderObject.cpp:
3693         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3694
3695 2014-10-24  David Hyatt  <hyatt@apple.com>
3696
3697         text-combine needs to center text within the vertical space using glyph bounds
3698         https://bugs.webkit.org/show_bug.cgi?id=138056
3699         <rdar://problem/15403667>
3700
3701         Reviewed by Dean Jackson.
3702
3703         Added fast/text/tatechuyoko.html
3704
3705         * rendering/RenderCombineText.cpp:
3706         (WebCore::RenderCombineText::RenderCombineText):
3707         (WebCore::RenderCombineText::adjustTextOrigin):
3708         (WebCore::RenderCombineText::combineText):
3709         * rendering/RenderCombineText.h:
3710
3711 2014-10-27  Benjamin Poulain  <benjamin@webkit.org>
3712
3713         Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute()
3714
3715         * accessibility/AccessibilityRenderObject.cpp:
3716         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3717         Darin spotted this mistake.
3718
3719 2014-10-27  Alexey Proskuryakov  <ap@apple.com>
3720
3721         http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots
3722         https://bugs.webkit.org/show_bug.cgi?id=138098
3723
3724         Reviewed by Anders Carlsson.
3725
3726         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3727         (WebCore::NetworkStorageSession::switchToNewTestingSession):
3728         Create a separate session for each WKTR/DRT process when testing.
3729
3730 2014-10-27  Chris Dumez  <cdumez@apple.com>
3731
3732         Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
3733         https://bugs.webkit.org/show_bug.cgi?id=138079
3734
3735         Reviewed by Anders Carlsson.
3736
3737         Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:
3738         - a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
3739         - a HashMap<String, String, CaseFoldingHash> for uncommon ones
3740
3741         This avoids having to construct Strings from HTTPHeaderMap values for
3742         storing. This also means we have less isolated String copies to do when
3743         creating cross-thread data. The common headers HashMap should also be
3744         a bit more efficient due to faster hashing and faster key comparison in
3745         case of collision.
3746
3747         Some calls sites can also benefit from having direct access to common
3748         headers of the request in HTTPHeaderName type.
3749
3750         This patch adds a new HTTPHeaderMapConstIterator iterator type for
3751         HTTPHeaderMap so that call sites that do not need / want to distinguish
3752         common / uncommon headers still do not need to. They can keep using
3753         modern C++ loops over HTTPHeaderMap objects and get <String, String>
3754         key/value pairs.
3755
3756         No new tests, no behavior change.
3757
3758         * loader/CrossOriginAccessControl.cpp:
3759         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
3760         Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
3761         HTTPHeaderName in argument instead of a String as only common headers
3762         are in the whitelist.
3763
3764         (WebCore::isSimpleCrossOriginAccessRequest):
3765         Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
3766         HTTP headers.
3767
3768         * loader/CrossOriginAccessControl.h:
3769         Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
3770         HTTPHeaderName in argument instead of a String as only common headers
3771         are in the whitelist.
3772
3773         * loader/CrossOriginPreflightResultCache.cpp:
3774         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
3775         Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
3776         HTTP headers.
3777
3778         * loader/DocumentLoader.cpp:
3779         (WebCore::DocumentLoader::responseReceived):
3780         Call httpHeaderFields().commonHeaders().find() instead of
3781         httpHeaderFields().find() as we are looking for a common header.
3782         HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
3783         HashMap dedicated to common headers.
3784
3785         * loader/cache/CachedRawResource.cpp:
3786         (WebCore::shouldIgnoreHeaderForCacheReuse):
3787         Update argument type to be a HTTPHeaderName instead of a String as
3788         only common HTTP headers can be ignored for cache reuse. The
3789         implementation already dealt with HTTPHeaderName type and had to
3790         call findHTTPHeaderName(). This is no longer needed now that the
3791         call site now has direct access to common headers in HTTPHeaderName
3792         type.
3793
3794         (WebCore::CachedRawResource::canReuse):
3795         - Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
3796         - Slightly optimize the second loop (the one over oldHeaderMap) to only
3797           check that the key is present in newHeaderMap, without actually
3798           comparing the String values. If the String values were different, the
3799           first loop would have seen it already and we would have returned
3800           early.
3801
3802 2014-10-27  Andreas Kling  <akling@apple.com>
3803
3804         Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren().
3805         <https://webkit.org/b/138096>
3806
3807         Reviewed by Chris Dumez.
3808
3809         This function is only ever called on a renderer after we've checked
3810         that it's a RenderDeprecatedFlexibleBox, so make it non-virtual.
3811
3812         * rendering/RenderBox.cpp:
3813         (WebCore::RenderBox::computeLogicalHeight):
3814         * rendering/RenderDeprecatedFlexibleBox.h:
3815         * rendering/RenderObject.h:
3816
3817 2014-10-27  Chris Dumez  <cdumez@apple.com>
3818
3819         Reintroduce null check removed in r175222
3820         https://bugs.webkit.org/show_bug.cgi?id=138087
3821
3822         Reviewed by Andreas Kling.
3823
3824         Reintroduce null check removed in r175222 as several layout tests are
3825         crashing on the bots without them. At least the Pair pointer can be
3826         null according to the assertion hits on the bots.
3827
3828         * css/StyleBuilderConverter.h:
3829         (WebCore::StyleBuilderConverter::convertRadius):
3830
3831 2014-10-27  Chris Dumez  <cdumez@apple.com>
3832
3833         Move radius CSS properties to the new StyleBuilder
3834         https://bugs.webkit.org/show_bug.cgi?id=138087
3835
3836         Reviewed by Andreas Kling.
3837
3838         Move radius CSS properties from DeprecatedStyleBuilder to the new
3839         StyleBuilder so that they are now generated from CSSPropertyNames.in.
3840
3841         No new tests, no behavior change.
3842
3843         * css/CSSPropertyNames.in:
3844         * css/DeprecatedStyleBuilder.cpp:
3845         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3846         (WebCore::ApplyPropertyBorderRadius::setValue): Deleted.
3847         (WebCore::ApplyPropertyBorderRadius::applyValue): Deleted.
3848         (WebCore::ApplyPropertyBorderRadius::createHandler): Deleted.
3849         * css/StyleBuilderConverter.h:
3850         (WebCore::StyleBuilderConverter::convertRadius):
3851
3852 2014-10-27  Zan Dobersek  <zdobersek@igalia.com>
3853
3854         Shrink MathMLOperatorDictionary::dictionary table
3855         https://bugs.webkit.org/show_bug.cgi?id=137914
3856
3857         Reviewed by Darin Adler.
3858
3859         Improve packing of the Entry structure that's used for elements
3860         of the MathMLOperatorDictionary::dictionary table. This drops the
3861         size of the struct from 16 bytes to just 4 bytes, and shrinks the
3862         size of the dictionary table from rougly 16 kB down to 4 kB.
3863
3864         * rendering/mathml/RenderMathMLOperator.cpp:
3865         (WebCore::MathMLOperatorDictionary::ExtractKey):
3866         (WebCore::RenderMathMLOperator::setOperatorProperties):
3867         * rendering/mathml/RenderMathMLOperator.h:
3868
3869 2014-10-27  Andreas Kling  <akling@apple.com>
3870
3871         Move canContainFixedPositionObjects() to RenderElement.
3872         <https://webkit.org/b/138088>
3873
3874         Reviewed by Mihnea Ovidenie.
3875
3876         Only RenderElement can contain other renderers, so it's not really
3877         natural to answer this question on RenderObject anyway.
3878
3879         Moving it to RenderElement lets it access more efficient getters
3880         that don't have to handle the RenderText case.
3881
3882         * rendering/RenderElement.h:
3883         (WebCore::RenderElement::canContainFixedPositionObjects):
3884         * rendering/RenderObject.h:
3885         (WebCore::RenderObject::canContainFixedPositionObjects): Deleted.
3886
3887 2014-10-26  Benjamin Poulain  <benjamin@webkit.org>
3888
3889         Images with usemap should not have a link state
3890         https://bugs.webkit.org/show_bug.cgi?id=138071
3891
3892         Reviewed by Andreas Kling.
3893
3894         Image tags were incorrectly getting a link state if a usemap is defined.
3895         The <area> of the usemap is supposed to get the link state, but never the image.
3896
3897         Unfortunately, the Accessibility code was relying on the wrong behavior
3898         to set the ImageMapRole, most of the patch is updating that code to get
3899         the correct role without the link state.
3900
3901         Test: fast/selectors/images-with-usemap-should-not-match-link.html
3902
3903         The accessibility code is covered by a few tests in accessibility/.
3904         The test accessibility/aria-used-on-image-maps.html ensure the <area>
3905         elements also get the correct role.
3906
3907         * dom/Node.h:
3908         (WebCore::Node::setIsLink):
3909         (WebCore::Node::clearIsLink): Deleted.
3910         Unused code.
3911
3912         (WebCore::Node::isLink):
3913         Move with its setter for clarity.
3914
3915         * html/HTMLImageElement.cpp:
3916         (WebCore::HTMLImageElement::parseAttribute):
3917         This is the bug.
3918
3919         * accessibility/AccessibilityRenderObject.cpp:
3920         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3921         Here the branches for the role ImageMap where behind isLink() which would
3922         never be valid after the fix.
3923
3924         My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(),
3925         any usemap attribute qualifies the node for ImageMapRole.
3926
3927         (WebCore::AccessibilityRenderObject::anchorElement):
3928         (WebCore::AccessibilityRenderObject::linkedUIElements):
3929         (WebCore::AccessibilityRenderObject::url):
3930
3931         * accessibility/AccessibilityObject.h:
3932         (WebCore::AccessibilityObject::isAnchor): Deleted.
3933         Something funny I discovered is the Accessibility code worked around the bug
3934         by defining isAnchor() that exclude images from isLink().
3935
3936         Since isLink() will no longer be true for images, the hack can be removed.
3937
3938         * accessibility/AccessibilityNodeObject.cpp:
3939         (WebCore::AccessibilityNodeObject::anchorElement):
3940         (WebCore::AccessibilityNodeObject::isAnchor): Deleted.
3941         * accessibility/AccessibilityNodeObject.h:
3942         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3943         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3944
3945 2014-10-26  Benjamin Poulain  <benjamin@webkit.org>
3946
3947         Replace Element::didAffectSelector() by setNeedsStyleRecalc()
3948         https://bugs.webkit.org/show_bug.cgi?id=138080
3949
3950         Reviewed by Andreas Kling.
3951
3952         Element::didAffectSelector() was probably an optimization at some point,
3953         with the current code is does nothing more than setNeedsStyleRecalc().
3954
3955         * dom/Document.cpp:
3956         (WebCore::Document::setCSSTarget):
3957         * dom/Element.cpp:
3958         (WebCore::Element::didAffectSelector): Deleted.
3959         * dom/Element.h:
3960         * html/HTMLAnchorElement.cpp:
3961         (WebCore::HTMLAnchorElement::parseAttribute):
3962         * html/HTMLFormControlElement.cpp:
3963         (WebCore::HTMLFormControlElement::disabledStateChanged):
3964         * html/HTMLInputElement.cpp:
3965         (WebCore::HTMLInputElement::setChecked):
3966         (WebCore::HTMLInputElement::setIndeterminate):
3967         * html/HTMLLinkElement.cpp:
3968         (WebCore::HTMLLinkElement::parseAttribute):
3969         * html/HTMLOptGroupElement.cpp:
3970         (WebCore::HTMLOptGroupElement::parseAttribute):
3971         * html/HTMLOptionElement.cpp:
3972         (WebCore::HTMLOptionElement::parseAttribute):
3973         (WebCore::HTMLOptionElement::setSelectedState):
3974         * html/HTMLProgressElement.cpp:
3975         (WebCore::HTMLProgressElement::didElementStateChange):
3976
3977 2014-10-26  Andreas Kling  <akling@apple.com>
3978
3979         Move some RenderObject member functions to RenderElement.
3980         <https://webkit.org/b/138085>
3981
3982         Reviewed by Chris Dumez.
3983
3984         Move these two functions to RenderElement:
3985
3986             - handleDynamicFloatPositionChange()
3987             - removeAnonymousWrappersForInlinesIfNecessary()
3988
3989         Also make childBecameNonInline() take a RenderElement& since
3990         that's all we ever pass to it.
3991
3992         * rendering/RenderBlock.cpp:
3993         (WebCore::RenderBlock::childBecameNonInline):
3994         * rendering/RenderBlock.h:
3995         * rendering/RenderBoxModelObject.h:
3996         (WebCore::RenderBoxModelObject::childBecameNonInline):
3997         * rendering/RenderElement.cpp:
3998         (WebCore::RenderElement::handleDynamicFloatPositionChange):
3999         (WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):
4000         * rendering/RenderElement.h:
4001         * rendering/RenderInline.cpp:
4002         (WebCore::RenderInline::childBecameNonInline):
4003         * rendering/RenderInline.h:
4004         * rendering/RenderObject.cpp:
4005         (WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted.
4006         (WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted.
4007         * rendering/RenderObject.h:
4008
4009 2014-10-26  Andreas Kling  <akling@apple.com>
4010
4011         Move continuation teardown from subclasses to RenderBoxModelObject.
4012         <https://webkit.org/b/138081>
4013
4014         Reviewed by Antti Koivisto.
4015
4016         Let RenderBoxModelObject::willBeDestroyed() tear down any continuation
4017         instead of having every subclass do this themselves.
4018
4019         Also added a RenderElement bit tracking whether the renderer has a
4020         continuation. This avoids a hash lookup every time we destroy a
4021         RenderBoxModelObject that didn't have a continuation.
4022
4023         * rendering/RenderBlock.cpp:
4024         (WebCore::RenderBlock::willBeDestroyed):
4025         * rendering/RenderBlockFlow.cpp:
4026         (WebCore::RenderBlockFlow::willBeDestroyed):
4027         * rendering/RenderBoxModelObject.cpp:
4028         (WebCore::continuationMap):
4029         (WebCore::RenderBoxModelObject::willBeDestroyed):
4030         (WebCore::RenderBoxModelObject::continuation):
4031         (WebCore::RenderBoxModelObject::setContinuation):
4032         * rendering/RenderElement.cpp:
4033         (WebCore::RenderElement::RenderElement):
4034         * rendering/RenderElement.h:
4035         (WebCore::RenderElement::setHasContinuation):
4036         (WebCore::RenderElement::hasContinuation):
4037         * rendering/RenderInline.cpp:
4038         (WebCore::RenderInline::willBeDestroyed):
4039
4040 2014-10-25  Benjamin Poulain  <benjamin@webkit.org>
4041
4042         Remove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorList()
4043         https://bugs.webkit.org/show_bug.cgi?id=138076
4044
4045         Reviewed by Alexey Proskuryakov.
4046
4047         * cssjit/SelectorCompiler.cpp:
4048         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
4049         The variable elementAddressRegisterIndex was just needed for debugging, it is useless now.
4050
4051 2014-10-18  Brian J. Burg  <burg@cs.washington.edu>
4052
4053         Web Inspector: timelines should not count time elapsed while paused in the debugger
4054         https://bugs.webkit.org/show_bug.cgi?id=136351
4055
4056         Reviewed by Timothy Hatcher.
4057
4058         To avoid counting time elapsed while the debugger is paused, timeline records should
4059         keep track of time elapsed since the start of timeline capturing, rather than wall clock
4060         timestamps. We can easily compute elapsed time by sharing a Stopwatch instance through the
4061         inspector environment. The stopwatch runs with timelines and is paused with the debugger,
4062         so subsequent time measurements will not include time elapsed while the debugger is paused.
4063
4064         This refactoring is safe because start and end times are only used to graph records; the
4065