<meter> element AXValue is listed as a writable value
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-12  Samuel White  <samuel_white@apple.com>
2
3         <meter> element AXValue is listed as a writable value
4         https://bugs.webkit.org/show_bug.cgi?id=117650
5
6         Reviewed by Chris Fleizach.
7
8         No new tests, updated existing accessibility/meter-element.html test
9         to check writability. Changed meter element value to be unwritable.
10
11         * accessibility/AccessibilityRenderObject.cpp:
12         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
13
14 2013-09-12  Renata Hodovan  <reni@webkit.org>
15
16         [Qt] SHOULD NEVER BE REACHED is touched WebCore::InputType::createStepRange
17         https://bugs.webkit.org/show_bug.cgi?id=121148
18
19         Reviewed by Kent Tamura.
20
21         Non-steppable input types must not rendered as slider even if its webkit-apperance style
22         property is set to slider-vertical/horizontal.
23
24         Test: platform/qt/fast/forms/range/slider-crash-on-input.html
25
26         * platform/qt/RenderThemeQStyle.cpp:
27         (WebCore::RenderThemeQStyle::paintSliderTrack):
28
29 2013-09-12  Ryosuke Niwa  <rniwa@webkit.org>
30
31         Qt and Windows build fix.
32
33         * page/animation/CSSPropertyAnimation.cpp:
34
35 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
36
37         Encapsulate globals in CSSPropertyAnimation.cpp
38         https://bugs.webkit.org/show_bug.cgi?id=121205
39
40         Reviewed by Antti Koivisto.
41
42         Encapsulated the globals inside a newly added CSSPropertyAnimationWrapperMap. Also removed the circular
43         dependency from ShorthandPropertyWrapper's constructor to CSSPropertyAnimationWrapperMap::instance().
44         The circular dependency still exists in ensurePropertyMap but I'm going to remove it in the bug 121199.
45
46         * page/animation/CSSPropertyAnimation.cpp:
47         (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): Takes a Vector of longhand wrappers instead of
48         calling wrapperForProperty in the middle of constructing the very table. This circular dependency is now
49         encapsulated in CSSPropertyAnimationWrapperMap::ensurePropertyMap.
50         (WebCore::CSSPropertyAnimationWrapperMap::instance): Added.
51         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForProperty): Renamed from WebCore::wrapperForProperty.
52         (WebCore::CSSPropertyAnimationWrapperMap::wrapperForIndex): Added.
53         (WebCore::CSSPropertyAnimationWrapperMap::size): Added.
54         (WebCore::CSSPropertyAnimationWrapperMap::addPropertyWrapper): Renamed from WebCore::addPropertyWrapper. Also
55         cleaned up boolean logics to use early exits instead of nested ifs.
56         (WebCore::CSSPropertyAnimationWrapperMap::addShorthandProperties): Renamed from WebCore::addShorthandProperties.
57         (WebCore::CSSPropertyAnimationWrapperMap::ensurePropertyMap): Renamed from WebCore::ensurePropertyMap.
58         Added an alias gPropertyWrappers for m_propertyWrappers; this aliasing will be removed in the bug 121199.
59         (WebCore::CSSPropertyAnimation::blendProperties):
60         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
61         (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
62         (WebCore::CSSPropertyAnimation::propertiesEqual):
63         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
64         (WebCore::CSSPropertyAnimation::getNumProperties):
65         * page/animation/CSSPropertyAnimation.h:
66         * rendering/style/RenderStyle.h:
67
68 2013-09-12  Anders Carlsson  <andersca@apple.com>
69
70         SharedBuffer::createNSData should return a RetainPtr<NSData>
71         https://bugs.webkit.org/show_bug.cgi?id=121237
72
73         Reviewed by Darin Adler.
74
75         This makes memory management cleared and fixes a leak in PDFDocumentImage::createPDFDocument.
76         We use a RetainPtr subclass as a stopgap measure to prevent code that does [buffer->createNSData() autorelease]
77         from compiling and crashing due to the NSData object being overreleased.
78
79         * loader/ResourceBuffer.h:
80         * loader/mac/ResourceBuffer.mm:
81         (WebCore::ResourceBuffer::createNSData):
82         * platform/SharedBuffer.h:
83         (WebCore::SharedBuffer::NSDataRetainPtr::NSDataRetainPtr):
84         * platform/graphics/mac/PDFDocumentImageMac.mm:
85         (WebCore::PDFDocumentImage::createPDFDocument):
86         * platform/mac/HTMLConverter.mm:
87         (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
88         (fileWrapperForURL):
89         * platform/mac/PasteboardMac.mm:
90         (WebCore::fileWrapper):
91         (WebCore::Pasteboard::read):
92         (WebCore::documentFragmentWithRTF):
93         (WebCore::fragmentFromWebArchive):
94         * platform/mac/PlatformPasteboardMac.mm:
95         (WebCore::PlatformPasteboard::setBufferForType):
96         * platform/mac/SharedBufferMac.mm:
97         (WebCore::SharedBuffer::createNSData):
98
99 2013-09-12  Timothy Hatcher  <timothy@apple.com>
100
101         Remove more Timeline stuff we don't use
102         https://bugs.webkit.org/show_bug.cgi?id=121246
103
104         Reviewed by Joseph Pecoraro.
105
106         * inspector/InspectorController.cpp:
107         * inspector/InspectorController.h:
108         * inspector/InspectorDOMDebuggerAgent.cpp:
109         * inspector/InspectorDOMDebuggerAgent.h:
110         * inspector/InspectorProfilerAgent.cpp:
111         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
112         * inspector/InspectorProfilerAgent.h:
113         * inspector/InspectorTimelineAgent.cpp:
114         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
115         * inspector/InspectorTimelineAgent.h:
116
117 2013-09-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
118
119         [EFL] Get rid of layering violations in PasteboardEfl.cpp
120         https://bugs.webkit.org/show_bug.cgi?id=121241
121
122         Reviewed by Darin Adler.
123
124         Get rid of layering violations in PasteboardEfl.cpp. For now, just mimic
125         the Mac port to avoid divergences and leave port-specific functions
126         unimplemented as the EFL port does not support the pasteboard functionality
127         yet.
128
129         No new tests, no behavior change.
130
131         * PlatformEfl.cmake:
132         * editing/Editor.cpp:
133         (WebCore::Editor::pasteAsPlainTextWithPasteboard):
134         (WebCore::Editor::cut):
135         (WebCore::Editor::copy):
136         (WebCore::Editor::copyURL):
137         (WebCore::Editor::copyImage):
138         * editing/Editor.h:
139         * editing/efl/EditorEfl.cpp: Added.
140         (WebCore::Editor::writeSelectionToPasteboard):
141         (WebCore::Editor::writeURLToPasteboard):
142         (WebCore::Editor::writeImageToPasteboard):
143         (WebCore::Editor::readPlainTextFromPasteboard):
144         (WebCore::Editor::pasteWithPasteboard):
145         * page/DragController.cpp:
146         (WebCore::DragController::startDrag):
147         * platform/Pasteboard.h:
148         * platform/efl/PasteboardEfl.cpp:
149
150 2013-09-12  Alberto Garcia  <berto@igalia.com>
151
152         [GTK] Unreviewed build fix after r155635.
153
154         Include DragData.h
155
156         * platform/gtk/PasteboardGtk.cpp:
157
158 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
159
160         [Windows] Build fix after r155635.
161
162         Rubber Stamped by Darin Adler.
163
164         * platform/Pasteboard.h: Add missing compile guards for Windows port.
165
166 2013-09-12  Darin Adler  <darin@apple.com>
167
168         Reorganize Pasteboard.h to make it easier to read, and express plan for future work
169         https://bugs.webkit.org/show_bug.cgi?id=121234
170
171         Reviewed by Anders Carlsson.
172
173         * platform/Pasteboard.h: Move Mac/iOS-specific pasteboard names to the bottom of the
174         file rather than putting them up with forward declarations before the class. Removed
175         unneeded forward class declarations. Changed #if statements about migration to the
176         more modern non-layering-violation API to list platforms not yet migrated, rather than
177         listing platforms that have migrated (Mac). Move conditional code down below the
178         uncondiditional code so it's easier to see what the class is doing. Move layering-
179         violation code down to the bottom too, so it's easier to see the future class without
180         having the design mistakes mixed in. Sort platform-specific sections in alphabetical
181         order instead of random order. Did the destructor in a cleaner way so the #if is out
182         of the way after the class rather than in the class. Removed WebSmartPastePboardType,
183         WebURLPboardType, and WebURLsWithTitlesPboard declarations, since they are only used
184         inside the PasteboardMac.mm source file.
185
186         * platform/ios/PasteboardIOS.mm: Aded a FIXME comment.
187         * platform/mac/PasteboardMac.mm: Made the constants for pasteboard types be actual
188         constants, rather than global variables.
189
190 2013-09-12  Tamas Czene  <tczene@inf.u-szeged.hu>
191
192         [curl] Use utf8 for headers in CurlDownload.
193         https://bugs.webkit.org/show_bug.cgi?id=120413
194
195         Reviewed by Brent Fulgham.
196
197         * platform/network/curl/CurlDownload.cpp:
198         (WebCore::CurlDownload::headerCallback):
199
200 2013-09-12  Peter Gal  <galpeter@inf.u-szeged.hu>
201
202         [curl] Improve multipart response handling
203         https://bugs.webkit.org/show_bug.cgi?id=117735
204
205         Reviewed by Brent Fulgham.
206
207         The multipart/x-mixed-replace mime type in responses are ignored
208         with the curl network backend. To handle such responses the
209         MultipartHandle is introduced which will split the content using
210         the boundary specified by the mime type.
211
212         There are already existing tests (http/tests/multipart).
213
214         * WebCore.vcxproj/WebCore.vcxproj:
215         * WebCore.vcxproj/WebCore.vcxproj.filters:
216         * platform/network/HTTPParsers.cpp:
217         (WebCore::parseHTTPHeader):
218         * platform/network/HTTPParsers.h:
219         * platform/network/ResourceHandleInternal.h:
220         * platform/network/curl/MultipartHandle.cpp: Added.
221         (WebCore::MultipartHandle::extractBoundary):
222         (WebCore::MultipartHandle::matchForBoundary):
223         (WebCore::MultipartHandle::checkForBoundary):
224         (WebCore::MultipartHandle::parseHeadersIfPossible):
225         (WebCore::MultipartHandle::contentReceived):
226         (WebCore::MultipartHandle::processContent):
227         (WebCore::MultipartHandle::contentEnded):
228         (WebCore::MultipartHandle::didReceiveData):
229         (WebCore::MultipartHandle::didReceiveResponse):
230         * platform/network/curl/MultipartHandle.h: Added.
231         (WebCore::MultipartHandle::MultipartHandle):
232         (WebCore::MultipartHandle::~MultipartHandle):
233         * platform/network/curl/ResourceHandleManager.cpp:
234         (WebCore::writeCallback):
235         (WebCore::headerCallback):
236         (WebCore::ResourceHandleManager::downloadTimerCallback):
237
238 2013-09-12  Andreas Kling  <akling@apple.com>
239
240         Remove RenderApplet.
241         <https://webkit.org/b/121231>
242
243         Reviewed by Darin Adler.
244
245         Add a RenderEmbeddedObject::createForApplet(HTMLAppletElement&) and nuke
246         the RenderApplet class from orbit.
247
248 2013-09-12  Brent Fulgham  <bfulgham@apple.com>
249
250         [Windows] Build fix after r155621
251
252         Rubber-stamped by Anders Carlsson.
253
254         See also https://bugs.webkit.org/show_bug.cgi?id=121235 for
255         why this was necessary.
256
257         * css/MediaQueryEvaluator.cpp: Work around VS compiler bug.
258         * dom/make_names.pl: Ditto.
259         * loader/archive/ArchiveFactory.cpp: Ditto.
260         * rendering/svg/SVGPathData.cpp: Ditto.
261
262 2013-09-12  Anders Carlsson  <andersca@apple.com>
263
264         SharedBuffer::createCFData should return RetainPtr<CFDataRef>
265         https://bugs.webkit.org/show_bug.cgi?id=121230
266
267         Reviewed by Darin Adler.
268
269         * loader/ResourceBuffer.cpp:
270         (WebCore::ResourceBuffer::createCFData):
271         * loader/ResourceBuffer.h:
272         * loader/archive/cf/LegacyWebArchive.cpp:
273         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
274         (WebCore::LegacyWebArchive::create):
275         * platform/SharedBuffer.h:
276         * platform/cf/SharedBufferCF.cpp:
277         (WebCore::SharedBuffer::createCFData):
278         * platform/graphics/cg/ImageSourceCG.cpp:
279         (WebCore::ImageSource::setData):
280         * platform/graphics/cg/PDFDocumentImage.cpp:
281         (WebCore::PDFDocumentImage::createPDFDocument):
282         * platform/graphics/mac/FontCustomPlatformData.cpp:
283         (WebCore::createFontCustomPlatformData):
284         * platform/mac/SharedBufferMac.mm:
285         (WebCore::SharedBuffer::createCFData):
286
287 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
288
289         Move LineInfo class into LineInfo.h
290         https://bugs.webkit.org/show_bug.cgi?id=121191
291
292         Reviewed by David Hyatt.
293
294         No new tests, no behavior change.
295
296         * GNUmakefile.list.am:
297         * Target.pri:
298         * WebCore.vcxproj/WebCore.vcxproj:
299         * WebCore.xcodeproj/project.pbxproj:
300         * rendering/LineInfo.h: Added.
301         (WebCore::LineInfo::LineInfo):
302         (WebCore::LineInfo::isFirstLine):
303         (WebCore::LineInfo::isLastLine):
304         (WebCore::LineInfo::isEmpty):
305         (WebCore::LineInfo::previousLineBrokeCleanly):
306         (WebCore::LineInfo::floatPaginationStrut):
307         (WebCore::LineInfo::runsFromLeadingWhitespace):
308         (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
309         (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
310         (WebCore::LineInfo::setFirstLine):
311         (WebCore::LineInfo::setLastLine):
312         (WebCore::LineInfo::setEmpty):
313         (WebCore::LineInfo::setPreviousLineBrokeCleanly):
314         (WebCore::LineInfo::setFloatPaginationStrut):
315         * rendering/RenderBlockLineLayout.cpp:
316
317 2013-09-12  Bem Jones-Bey  <bjonesbe@adobe.com>
318
319         [CSS Shapes] Remove unnecessarily complex template from ShapeInfo classes
320         https://bugs.webkit.org/show_bug.cgi?id=121213
321
322         Reviewed by Darin Adler.
323
324         These classes were trying to be way too clever, and as a result were
325         hard to read and hard to debug. Replace the complex templated method
326         calls with virtual methods to make these classes much easier to
327         understand and maintain.
328
329         No new tests, no behavior change.
330
331         * rendering/shapes/ShapeInfo.cpp:
332         (WebCore::::computedShape):
333         (WebCore::::computeSegmentsForLine):
334         * rendering/shapes/ShapeInfo.h:
335         * rendering/shapes/ShapeInsideInfo.cpp:
336         (WebCore::ShapeInsideInfo::getShapeValue):
337         * rendering/shapes/ShapeInsideInfo.h:
338         (WebCore::ShapeInsideInfo::computeSegmentsForLine):
339         (WebCore::ShapeInsideInfo::ShapeInsideInfo):
340         * rendering/shapes/ShapeOutsideInfo.cpp:
341         (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
342         (WebCore::ShapeOutsideInfo::getShapeValue):
343         * rendering/shapes/ShapeOutsideInfo.h:
344         (WebCore::ShapeOutsideInfo::ShapeOutsideInfo):
345
346 2013-09-12  Zoltan Horvath  <zoltan@webkit.org>
347
348         [CSS Shapes] Turn shape's logicalwidth/height into a LayoutSize
349         https://bugs.webkit.org/show_bug.cgi?id=121187
350
351         Reviewed by David Hyatt.
352
353         No new tests, no behavior change.
354
355         * rendering/shapes/ShapeInfo.cpp:
356         (WebCore::::computedShape):
357         * rendering/shapes/ShapeInfo.h:
358         (WebCore::ShapeInfo::setShapeSize):
359         (WebCore::ShapeInfo::shapeContainingBlockHeight):
360
361 2013-09-12  Darin Adler  <darin@apple.com>
362
363         Move layering-violating code from Pasteboard::plainText into Editor (Mac only at first)
364         https://bugs.webkit.org/show_bug.cgi?id=121075
365
366         Reviewed by Anders Carlsson.
367
368         * editing/Editor.cpp:
369         (WebCore::Editor::pasteAsPlainTextBypassingDHTML): Pass pasteboard as a reference.
370         (WebCore::Editor::pasteAsPlainTextWithPasteboard): Use readPlainTextFromPasteboard
371         for Mac. Also update to take a reference.
372         (WebCore::Editor::paste): Pass pasteboard as a reference.
373         (WebCore::Editor::pasteAsPlainText): Ditto.
374         * editing/Editor.h: Ditto.
375
376         * editing/mac/EditorMac.mm:
377         (WebCore::Editor::readSelectionFromPasteboard): Pass pasteboard as a reference.
378         (WebCore::Editor::readPlainTextFromPasteboard): Added. The declaration of this
379         was added (by mistake) in an earlier patch. This has code that used to be inside
380         Pasteboard::plainText.
381
382         * platform/Pasteboard.h: Added PasteboardPlainText. Reorganized functions in the
383         Pasteboard class and added some FIXMEs. Sorted platforms alphabetically and grouped
384         functions together and data members separate from them.
385
386         * platform/mac/DragDataMac.mm:
387         (WebCore::DragData::asPlainText): Updated to call readPlainTextFromPasteboard.
388         (WebCore::DragData::asURL): Tweaked style of unused parameter.
389
390         * platform/mac/PasteboardMac.mm:
391         (WebCore::Pasteboard::read): Renamed this from plainText, and refactored so that
392         the data goes out in the PasteboardPlainText structure.
393
394 2013-09-12  Gurpreet Kaur  <k.gurpreet@samsung.com>
395
396         CSS Unit vw in border-width maps to 0px.
397         https://bugs.webkit.org/show_bug.cgi?id=109229
398
399         Reviewed by Darin Adler.
400
401         Border and outline properties were not applied incase
402         its values were given in vh/vw units.
403
404         Tests: fast/css/viewport-height-border.html
405                fast/css/viewport-height-outline.html
406                fast/css/viewport-width-border.html
407                fast/css/viewport-width-outline.html
408
409         * css/CSSPrimitiveValue.cpp:
410         (WebCore::CSSPrimitiveValue::computeLengthDouble):
411         Added case CSS_VH and CSS_VW. 
412         * css/CSSPrimitiveValue.h:
413         (WebCore::CSSPrimitiveValue::isViewportPercentageWidth):
414         (WebCore::CSSPrimitiveValue::isViewportPercentageHeight):
415         Added APIs to check the unit type(CSS_VW and CSS_VH). 
416         * css/DeprecatedStyleBuilder.cpp:
417         (WebCore::ApplyPropertyComputeLength::applyValue):
418         Calculating the border values which has been specified
419         in vh/vw units.The vh/vw units are calcultated as percent
420         of viewport height and viewport width respectively.
421
422 2013-09-12  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
423
424         [Coordinated Graphics] Fix the build on MacOS 10.9
425         https://bugs.webkit.org/show_bug.cgi?id=121225
426
427         Reviewed by Darin Adler.
428
429         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
430
431 2013-09-12  Mark Lam  <mark.lam@apple.com>
432
433         Change debug hooks to pass sourceID and position info via the DebuggerCallFrame.
434         https://bugs.webkit.org/show_bug.cgi?id=121214.
435
436         Reviewed by Geoffrey Garen.
437
438         No new tests.
439
440         Also changed the Inspector's JavaScriptCallFrame to get the sourceID and
441         position info from its DebuggerCallFrame instead of caching those values.
442
443         * bindings/js/JavaScriptCallFrame.cpp:
444         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
445         * bindings/js/JavaScriptCallFrame.h:
446         (WebCore::JavaScriptCallFrame::create):
447         (WebCore::JavaScriptCallFrame::invalidate):
448         (WebCore::JavaScriptCallFrame::sourceID):
449         (WebCore::JavaScriptCallFrame::position):
450         (WebCore::JavaScriptCallFrame::line):
451         (WebCore::JavaScriptCallFrame::column):
452         (WebCore::JavaScriptCallFrame::update):
453         * bindings/js/ScriptDebugServer.cpp:
454         (WebCore::ScriptDebugServer::createCallFrame):
455         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
456         (WebCore::ScriptDebugServer::callEvent):
457         (WebCore::ScriptDebugServer::atStatement):
458         (WebCore::ScriptDebugServer::returnEvent):
459         (WebCore::ScriptDebugServer::exception):
460         (WebCore::ScriptDebugServer::willExecuteProgram):
461         (WebCore::ScriptDebugServer::didExecuteProgram):
462         (WebCore::ScriptDebugServer::didReachBreakpoint):
463         * bindings/js/ScriptDebugServer.h:
464         * bindings/js/WorkerScriptDebugServer.cpp:
465         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
466         * bindings/js/WorkerScriptDebugServer.h:
467
468 2013-09-12  peavo@outlook.com  <peavo@outlook.com>
469
470         [WinCairo] Compile errors, missing include.
471         https://bugs.webkit.org/show_bug.cgi?id=121222
472
473         Reviewed by Brent Fulgham.
474
475         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Include required header.
476         * platform/win/DragImageCairoWin.cpp: Include required header.
477
478 2013-09-12  Vivek Galatage  <vivek.vg@samsung.com>
479
480         XMLSerializer.serializeToString() should throw exception for invalid node value.
481         https://bugs.webkit.org/show_bug.cgi?id=121209
482
483         Reviewed by Darin Adler.
484
485         FF and Opera 12 (pre blink/webkit) throw exception in case the node value is invalid.
486         Blink sends an empty string as the result of serializeToString operation with invalid node.
487         We should match with other browsers for throwing it as an exception.
488
489         Blink review URL: https://chromiumcodereview.appspot.com/23532055/
490
491         Test: fast/dom/xmlserializer-serialize-to-string-exception.html
492
493         * xml/XMLSerializer.cpp:
494         (WebCore::XMLSerializer::serializeToString):
495
496 2013-09-12  Zalan Bujtas  <zalan@apple.com>
497
498         Crash in ScrollingStateStickyNode::updateConstraints
499         https://bugs.webkit.org/show_bug.cgi?id=119638
500
501         Reviewed by Simon Fraser.
502
503         Ensure when a scrolling state node is removed from the state tree,
504         we remove both the current node and all its children from the
505         associated m_stateNodeMap lookup table.
506
507         Test: fast/css/sticky/multiple-layers-sticky-crash.html
508
509         * page/scrolling/ScrollingStateNode.cpp:
510         (WebCore::ScrollingStateNode::removeChild):
511         (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
512         * page/scrolling/ScrollingStateNode.h:
513
514 2013-09-12  Zalan Bujtas  <zalan@apple.com>
515
516         REGRESSION (r132516): Javascript menu text incorrectly disappearing and reappearing
517         https://bugs.webkit.org/show_bug.cgi?id=101047
518
519         Reviewed by Simon Fraser.
520
521         Compositing layers keep track of ancestors' clipping by constructing the RenderLayerBacking::m_ancestorClippingLayer.
522         It helps setting up the proper clipping context for the corresponding graphics layer.
523         When a RenderObject's clipping style changes, it needs to propagate this change not only
524         to the associated RenderLayer, but also to the descendants', if applicable.
525         Before r132516, it was mainly covered by initiating full style recalcs, which ensured that
526         style recalc on the descendant rendering tree took care of creating/destroying
527         RenderLayerBacking::m_ancestorClippingLayer at every compositing layer node. Without the full
528         recalc, the clipping of the compositing render layers and the corresponding render subtrees can get out of sync.
529         This patch updates the clipping context on the descendant subtree, when the clipping behaviour
530         changes on a render node.
531
532         Tests: compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html
533                compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html
534
535         * rendering/RenderLayer.cpp:
536         (WebCore::RenderLayer::updateDescendantClippingContext):
537         (WebCore::RenderLayer::styleChanged):
538         * rendering/RenderLayer.h:
539         * rendering/RenderLayerBacking.cpp:
540         (WebCore::RenderLayerBacking::~RenderLayerBacking):
541         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
542         (WebCore::RenderLayerBacking::updateAncestorClippingLayer):
543         (WebCore::RenderLayerBacking::updateDescendantClippingLayer):
544         * rendering/RenderLayerBacking.h:
545
546 2013-09-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
547
548         Remove home-brewed nullptr
549         https://bugs.webkit.org/show_bug.cgi?id=119624
550
551         Reviewed by Anders Carlsson.
552
553         The standard C++11 nullptr and std::nullptr_t type should be used now.
554
555         * bindings/js/JSDOMBinding.h:
556
557 2013-09-12  Samuel White  <samuel_white@apple.com>
558
559         <meter> element text value exposed as AXTitle; should be exposing AXValueDescription
560         https://bugs.webkit.org/show_bug.cgi?id=117651
561
562         Reviewed by Mario Sanchez Prada.
563
564         No new tests, updated accessibility/meter-element to handle platform specific output.
565
566         * accessibility/AccessibilityObject.cpp:
567         (WebCore::AccessibilityObject::isMeter):
568         * accessibility/AccessibilityObject.h:
569         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
570         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
571
572 2013-09-12  Santosh Mahto  <santosh.ma@samsung.com>
573
574         class WeekInputType invokes wrong constructor
575         https://bugs.webkit.org/show_bug.cgi?id=120768
576
577         Reviewed by Andreas Kling.
578
579         Correcting wrong constuctor invocation.
580
581         * html/WeekInputType.h:
582         (WebCore::WeekInputType::WeekInputType):
583
584 2013-09-12  Samuel White  <samuel_white@apple.com>
585
586         AX: Self-referencing aria-labelledby only uses contents.
587         https://bugs.webkit.org/show_bug.cgi?id=120814
588
589         Reviewed by Mario Sanchez Prada.
590
591         Implemented additional 'Text Alternative Computation' steps documented at:
592         http://www.w3.org/WAI/PF/aria/complete#textalternativecomputation. This allows us to remove
593         our raw text node iteration that was previously forcing us to do our computation incorrectly.
594         Element content is now sourced using textUnderElement (step 2C of the computation).
595
596         Test: accessibility/self-referencing-aria-labelledby.html
597
598         * accessibility/AccessibilityNodeObject.cpp:
599         (WebCore::accessibleNameForNode):
600         (WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
601
602 2013-09-12  Commit Queue  <commit-queue@webkit.org>
603
604         Unreviewed, rolling out r155597.
605         http://trac.webkit.org/changeset/155597
606         https://bugs.webkit.org/show_bug.cgi?id=121220
607
608         broke windows build because there's no ews :( (Requested by
609         thorton on #webkit).
610
611         * WebCore.exp.in:
612         * platform/graphics/BitmapImage.cpp:
613         (WebCore::BitmapImage::isBitmapImage):
614         * platform/graphics/BitmapImage.h:
615         (WebCore::BitmapImage::create):
616         * platform/graphics/CrossfadeGeneratedImage.cpp:
617         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
618         (WebCore::CrossfadeGeneratedImage::drawPattern):
619         * platform/graphics/CrossfadeGeneratedImage.h:
620         (WebCore::CrossfadeGeneratedImage::setContainerSize):
621         (WebCore::CrossfadeGeneratedImage::usesContainerSize):
622         (WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
623         (WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
624         (WebCore::CrossfadeGeneratedImage::size):
625         * platform/graphics/GeneratedImage.h:
626         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
627         (WebCore::GeneratedImage::setContainerSize):
628         (WebCore::GeneratedImage::usesContainerSize):
629         (WebCore::GeneratedImage::hasRelativeWidth):
630         (WebCore::GeneratedImage::hasRelativeHeight):
631         (WebCore::GeneratedImage::size):
632         (WebCore::GeneratedImage::destroyDecodedData):
633         (WebCore::GeneratedImage::decodedSize):
634         * platform/graphics/GeneratorGeneratedImage.cpp:
635         (WebCore::GeneratorGeneratedImage::draw):
636         (WebCore::GeneratorGeneratedImage::drawPattern):
637         * platform/graphics/GeneratorGeneratedImage.h:
638         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
639         * svg/graphics/SVGImage.h:
640         (WebCore::SVGImage::isSVGImage):
641         (WebCore::SVGImage::usesContainerSize):
642         (WebCore::SVGImage::destroyDecodedData):
643         (WebCore::SVGImage::decodedSize):
644         * svg/graphics/SVGImageForContainer.h:
645         (WebCore::SVGImageForContainer::destroyDecodedData):
646         (WebCore::SVGImageForContainer::decodedSize):
647
648 2013-09-12  Andreas Kling  <akling@apple.com>
649
650         RenderWidget elements are always HTMLFrameOwnerElement subclasses.
651         <https://webkit.org/b/121217>
652
653         Reviewed by Antti Koivisto.
654
655         Make RenderWidget constructor take HTMLFrameOwnerElement* and update subclasses
656         with even tighter types where possible.
657
658         Also added RenderWidget::frameOwnerElement() and deleted element().
659         Removed a handful of unnecessary type checks that were exposed by this.
660
661 2013-09-11  Tim Horton  <timothy_horton@apple.com>
662
663         Apply OVERRIDE and FINAL to Image subclasses and clean them up
664         https://bugs.webkit.org/show_bug.cgi?id=121086
665
666         Reviewed by Alexey Proskuryakov.
667
668         Everything other than the copious application of OVERRIDE and FINAL
669         is explicitly called out below.
670
671         * WebCore.exp.in:
672         Export the correct version of getCGImageRef for use by WebKit2.
673
674         * platform/graphics/BitmapImage.cpp:
675         * platform/graphics/BitmapImage.h:
676         Drive-by inline isBitmapImage.
677         Move create(HBITMAP) to be near the other create() functions.
678         Move all of the members and quite a few functions from protected to private.
679         Devirtualize frameCount().
680         Move notSolidColor() near the other solid color functions.
681
682         * platform/graphics/CrossfadeGeneratedImage.cpp:
683         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
684         (WebCore::CrossfadeGeneratedImage::drawPattern):
685         * platform/graphics/GeneratorGeneratedImage.cpp:
686         (WebCore::GeneratorGeneratedImage::draw):
687         (WebCore::GeneratorGeneratedImage::drawPattern):
688         Use size() and setContainerSize() instead of directly accessing a
689         superclass' (now private, previously protected) members.
690
691         * platform/graphics/CrossfadeGeneratedImage.h:
692         * platform/graphics/GeneratedImage.h:
693         Make m_size private, I don't think we do protected members.
694         
695         * platform/graphics/GeneratorGeneratedImage.h:
696         Make all the members private.
697
698         * svg/graphics/SVGImage.h:
699         * svg/graphics/SVGImageForContainer.h:
700
701 2013-09-11  Rashmi Shyamasundar  <rashmi.s2@samsung.com>
702
703         Canvas fillText and measureText handle ideographic spaces differently
704         https://bugs.webkit.org/show_bug.cgi?id=108881
705
706         Reviewed by Darin Adler.
707
708         According to spec for text preparation algorithm
709         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#text-preparation-algorithm
710         all the space characters mentioned in the spec
711         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#space-character
712         should be replaced by U+0020 space character.
713         The canvas functions fillText and measureText should run the text preparation algorithm.
714         This patch modifies the canvas functions drawTextInternal and measureText to conform to the above spec.
715
716         Tests: fast/canvas/canvas-measureText-ideographicSpace.html
717
718         * html/canvas/CanvasRenderingContext2D.cpp:
719         (WebCore::shouldSpaceBeReplaced):
720         (WebCore::replaceCharacterInString):
721         (WebCore::CanvasRenderingContext2D::measureText):
722         (WebCore::CanvasRenderingContext2D::drawTextInternal):
723
724 2013-09-11  Andreas Kling  <akling@apple.com>
725
726         Fix Windows build.
727
728         * rendering/RenderingAllInOne.cpp:
729
730 2013-09-11  Andreas Kling  <akling@apple.com>
731
732         Merge RenderPart into RenderWidget.
733         <https://webkit.org/b/121200>
734
735         Reviewed by Anders Carlsson.
736
737         Remove the RenderPart class and move its functionality into RenderWidget.
738         It was acting as a pointless extra layer between RenderWidget and renderers
739         for embedded objects, frames and iframes.
740
741 2013-09-11  Geoffrey Garen  <ggaren@apple.com>
742
743         Removed some unused functions from the debugger interface
744         https://bugs.webkit.org/show_bug.cgi?id=121194
745
746         Reviewed by Joseph Pecoraro.
747
748         We plan to use the "evaluate" API and debugger activation property access for all the features we need.
749
750         * inspector/JavaScriptCallFrame.idl: These are the interfaces I removed.
751
752         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
753         * inspector/InjectedScript.cpp:
754         * inspector/InjectedScript.h:
755         * inspector/InjectedScriptSource.js:
756         * inspector/Inspector.json:
757         * inspector/InspectorDebuggerAgent.cpp:
758         (WebCore::InspectorDebuggerAgent::setScriptSource):
759         * inspector/InspectorDebuggerAgent.h:
760         * inspector/JavaScriptCallFrame.idl:
761         * inspector/front-end/RemoteObject.js:
762         (WebInspector.RemoteObject.prototype.):
763         (WebInspector.RemoteObject.prototype.setPropertyValue): These files are mechanical removals of code that used
764         or implemented the interfaces I removed.
765
766 2013-09-11  Vivek Galatage  <vivek.vg@samsung.com>
767
768         DOMParser.parseFromString() should support creating HTML Document with mime-type text/html
769         https://bugs.webkit.org/show_bug.cgi?id=120826
770
771         Reviewed by Darin Adler.
772
773         The specification http://domparsing.spec.whatwg.org/#the-domparser-interface for DOMParser.parseFromString()
774         allows the document creation if the mimeType is one of the supported types:
775         ["text/html", "text/xml", "application/xml", "application/xhtml+xml", "image/svg+xml"]
776
777         Also script elements get marked unexecutable and the contents of noscript get parsed as markup.
778
779         blink review URL: https://codereview.chromium.org/23903014/
780
781         Test: fast/dom/domparser-parsefromstring-mimetype-support.html
782
783         * xml/DOMParser.cpp:
784         (WebCore::DOMParser::parseFromString):
785
786 2013-09-11  Hans Muller  <hmuller@adobe.com>
787
788         [CSS Shapes] Improve the performance of image valued shapes
789         https://bugs.webkit.org/show_bug.cgi?id=120211
790
791         Reviewed by Alexandru Chiculita.
792
793         Replaced the implementation of RasterShapeIntervals with one based on the
794         new ShapeInterval<int> class. This eliminates the dependency the Region class
795         and delivers a 10X layout speedup for large image valued shapes.
796
797         This a just an implementation refactoring, no new tests were needed.
798
799         * rendering/shapes/RasterShape.cpp:
800         (WebCore::RasterShapeIntervals::appendInterval): Renamed this method, it was called addInterval().
801         (WebCore::shapeIntervalsContain):
802         (WebCore::RasterShapeIntervals::contains):
803         (WebCore::RasterShapeIntervals::getIntervalsInLine):
804         (WebCore::compareX1):
805         (WebCore::RasterShapeIntervals::firstIncludedIntervalY):
806         (WebCore::RasterShapeIntervals::getIncludedIntervals):
807         (WebCore::RasterShapeIntervals::getExcludedIntervals):
808         (WebCore::RasterShape::getExcludedIntervals):
809         (WebCore::RasterShape::getIncludedIntervals):
810         * rendering/shapes/RasterShape.h:
811         (WebCore::RasterShapeIntervals::RasterShapeIntervals): The constructor now takes a size argument which is used to allocate IntShapeIntervals storage.
812         (WebCore::RasterShapeIntervals::size):
813         (WebCore::RasterShapeIntervals::bounds):
814         (WebCore::RasterShapeIntervals::isEmpty):
815         (WebCore::RasterShapeIntervals::getIntervals):
816         * rendering/shapes/Shape.cpp:
817         (WebCore::Shape::createShape): Use appendInterval() instead of addInterval() (see above) and the new RasterShapeIntervals constructor.
818
819 2013-09-11  Eric Carlson  <eric.carlson@apple.com>
820
821         [MediaStream API] Updating NavigatorUserMediaError to match the spec
822         https://bugs.webkit.org/show_bug.cgi?id=120880
823
824         Reviewed by Darin Adler.
825         
826         Merge https://chromium.googlesource.com/chromium/blink/+/f07305e49ddebaa166f5dee514bcc881a8efd341
827         by Tommy Widenflycht.
828
829         The Blink change did not have any test changes because they don't appear to have any tests 
830         for NavigatorUserMediaError. I can't add tests now because the MediaStream feature isn't enabled 
831         yet, so https://bugs.webkit.org/show_bug.cgi?id=121182 tracks adding tests.
832
833         * Modules/mediastream/NavigatorUserMediaError.h:
834         (WebCore::NavigatorUserMediaError::create):
835         (WebCore::NavigatorUserMediaError::name):
836         (WebCore::NavigatorUserMediaError::message):
837         (WebCore::NavigatorUserMediaError::constraintName):
838         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
839         * Modules/mediastream/NavigatorUserMediaError.idl:
840         * Modules/mediastream/UserMediaRequest.cpp:
841         (WebCore::UserMediaRequest::fail):
842         (WebCore::UserMediaRequest::failConstraint):
843         * Modules/mediastream/UserMediaRequest.h:
844
845 2013-09-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
846
847         MediaStream API: Remove LocalMediaStream
848         https://bugs.webkit.org/show_bug.cgi?id=120875
849
850         blink merge: https://chromium.googlesource.com/chromium/blink/+/81643ee3fe048a64fa8931132e1294fa2c8e821a
851
852         Reviewed by Eric Carlson.
853
854         Existing tests were updated.
855
856         * CMakeLists.txt:
857         * DerivedSources.make:
858         * GNUmakefile.list.am:
859         * Modules/mediastream/LocalMediaStream.cpp: Removed.
860         * Modules/mediastream/LocalMediaStream.h: Removed.
861         * Modules/mediastream/LocalMediaStream.idl: Removed.
862         * Modules/mediastream/MediaStream.cpp:
863         (WebCore::MediaStream::stop):
864         * Modules/mediastream/MediaStream.h:
865         * Modules/mediastream/MediaStream.idl:
866         * Modules/mediastream/NavigatorUserMediaSuccessCallback.h:
867         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
868         * Modules/mediastream/UserMediaRequest.cpp:
869         (WebCore::UserMediaRequest::succeed):
870         * Modules/mediastream/UserMediaRequest.h:
871         * Modules/webaudio/AudioContext.cpp:
872         (WebCore::AudioContext::createMediaStreamSource):
873         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
874         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
875         * WebCore.xcodeproj/project.pbxproj:
876         * dom/EventTarget.h:
877         * dom/EventTargetFactory.in:
878         * platform/mediastream/MediaStreamDescriptor.h:
879
880 2013-09-11  Timothy Hatcher  <timothy@apple.com>
881
882         Remove PlatformInstrumentation since we don't show decode or resize in the new Web Inspector
883         https://bugs.webkit.org/show_bug.cgi?id=121181
884
885         Reviewed by Joseph Pecoraro.
886
887         * CMakeLists.txt:
888         * GNUmakefile.list.am:
889         * Target.pri:
890         * WebCore.order:
891         * WebCore.vcxproj/WebCore.vcxproj:
892         * WebCore.vcxproj/WebCore.vcxproj.filters:
893         * WebCore.xcodeproj/project.pbxproj:
894         * inspector/InspectorTimelineAgent.cpp:
895         (WebCore::InspectorTimelineAgent::willPaint):
896         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
897         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
898         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
899         (WebCore::InspectorTimelineAgent::clearRecordStack):
900         * inspector/InspectorTimelineAgent.h:
901         * platform/PlatformInstrumentation.cpp: Removed.
902         * platform/PlatformInstrumentation.h: Removed.
903         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
904         (WebCore::BMPImageDecoder::frameBufferAtIndex):
905         * platform/image-decoders/gif/GIFImageDecoder.cpp:
906         (WebCore::GIFImageDecoder::frameBufferAtIndex):
907         * platform/image-decoders/ico/ICOImageDecoder.cpp:
908         (WebCore::ICOImageDecoder::frameBufferAtIndex):
909         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
910         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
911         * platform/image-decoders/png/PNGImageDecoder.cpp:
912         (WebCore::PNGImageDecoder::frameBufferAtIndex):
913         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
914         (WebCore::WEBPImageDecoder::frameBufferAtIndex):
915
916 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
917
918         [Windows] Avoid converting from IntSize->SIZE->IntSize.
919         https://bugs.webkit.org/show_bug.cgi?id=121180
920
921         Reviewed by Anders Carlsson.
922
923         * platform/graphics/BitmapImage.h: Take const IntSize* as
924         argument, rather than LPSIZE.
925         * platform/graphics/Image.h: Ditto.
926         (WebCore::Image::getHBITMAPOfSize):
927         * platform/graphics/win/ImageCGWin.cpp:
928         (WebCore::BitmapImage::getHBITMAPOfSize): Use passed-in
929         IntSize, rather than converting from SIZE.
930         * platform/graphics/win/ImageCairoWin.cpp:
931         (WebCore::BitmapImage::getHBITMAPOfSize): Ditto.
932
933 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
934
935         Unreviewed debug build fix after r155567.
936
937         * rendering/LineWidth.cpp:
938         (WebCore::LineWidth::LineWidth):
939
940 2013-09-11  Zoltan Horvath  <zoltan@webkit.org>
941
942         Move LineWidth out of RenderBlockLineLayout
943         https://bugs.webkit.org/show_bug.cgi?id=121107
944
945         Reviewed by David Hyatt.
946
947         Move LineWidth class and related code into LineWidth.{h,cpp}.
948
949         No new tests, no behavior change.
950
951         * CMakeLists.txt:
952         * GNUmakefile.list.am:
953         * Target.pri:
954         * WebCore.vcxproj/WebCore.vcxproj:
955         * WebCore.xcodeproj/project.pbxproj:
956         * rendering/LineWidth.cpp: Added.
957         (WebCore::LineWidth::applyOverhang):
958         (WebCore::LineWidth::fitBelowFloats):
959         * rendering/LineWidth.h: Added.
960         (WebCore::logicalHeightForLine):
961         (WebCore::LineWidth::LineWidth):
962         (WebCore::LineWidth::fitsOnLine):
963         (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
964         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
965         (WebCore::LineWidth::currentWidth):
966         (WebCore::LineWidth::uncommittedWidth):
967         (WebCore::LineWidth::committedWidth):
968         (WebCore::LineWidth::availableWidth):
969         (WebCore::LineWidth::addUncommittedWidth):
970         (WebCore::LineWidth::commit):
971         (WebCore::LineWidth::setTrailingWhitespaceWidth):
972         (WebCore::LineWidth::shouldIndentText):
973         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
974         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
975         (WebCore::LineWidth::updateAvailableWidth):
976         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
977         * rendering/RenderBlockLineLayout.cpp:
978
979 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
980
981         HTMLEntityTable could use char to reduce binary size
982         https://bugs.webkit.org/show_bug.cgi?id=121176
983
984         Reviewed by Anders Carlsson.
985
986         Use LChar instead.
987
988         * html/parser/HTMLEntityParser.cpp:
989         (WebCore::HTMLEntityParser::consumeNamedEntity):
990         * html/parser/HTMLEntityTable.h:
991         (WebCore::HTMLEntityTableEntry::lastCharacter):
992         * html/parser/create-html-entity-table:
993
994 2013-09-11  Brent Fulgham  <bfulgham@apple.com>
995
996         [Windows] Revise GDI Create Functions to use GDIObject Smart Pointer.
997         https://bugs.webkit.org/show_bug.cgi?id=121100
998
999         Reviewed by Anders Carlsson.
1000
1001         * platform/graphics/FontPlatformData.h: Use GDIObject instead of bare pointer.
1002         * platform/graphics/win/FontCacheWin.cpp:
1003         (WebCore::createGDIFont): No longer need to leak the pointer; use move semantic
1004         to pass ownership to FontPlatformData.
1005         (WebCore::FontCache::createFontPlatformData):
1006         * platform/graphics/win/FontCustomPlatformData.cpp:
1007         (WebCore::FontCustomPlatformData::fontPlatformData): Use move operation.
1008         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1009         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
1010         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1011         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1012         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1013         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1014         * platform/graphics/win/FontPlatformDataWin.cpp:
1015         (WebCore::FontPlatformData::FontPlatformData): Ditto.
1016         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
1017         (WebCore::GlyphPage::fill): Use HWndDC smart pointer instead of bare HDC.
1018         * platform/graphics/win/SimpleFontDataWin.cpp:
1019         (WebCore::SimpleFontData::platformCreateScaledFontData): Use move operation.
1020         * platform/win/DragImageCGWin.cpp:
1021         (WebCore::allocImage): Change to use GDIObject.
1022         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
1023         (WebCore::createDragImageFromImage): Ditto.
1024         * platform/win/DragImageCairoWin.cpp:
1025         (WebCore::allocImage): Change to use GDIObject.
1026         (WebCore::scaleDragImage): Use smart pointers to avoid manual deallocs.
1027         (WebCore::createDragImageFromImage): Ditto.
1028         * platform/win/DragImageWin.cpp:
1029         (WebCore::createDragImageForLink): Update for GDIObject.
1030         * platform/win/PopupMenuWin.cpp:
1031         (WebCore::PopupMenuWin::PopupMenuWin): Switch to GDIObject.
1032         (WebCore::PopupMenuWin::~PopupMenuWin): Remove uneeded deallocs.
1033         (WebCore::PopupMenuWin::paint): Update for GDIObject.
1034         * platform/win/PopupMenuWin.h: Use smart pointers instead of bare GDI objects.
1035
1036 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
1037
1038         Fix animations with !USE(ACCELERATED_COMPOSITING) after r147792.
1039         https://bugs.webkit.org/show_bug.cgi?id=121159
1040
1041         Reviewed by Simon Fraser.
1042
1043         CSSPropertyAnimation::blendProperties() is available always
1044         and needs to be called to make the animations work.
1045
1046         * page/animation/ImplicitAnimation.cpp:
1047         (WebCore::ImplicitAnimation::animate):
1048         * page/animation/KeyframeAnimation.cpp:
1049         (WebCore::KeyframeAnimation::animate):
1050
1051 2013-09-11  David Hyatt  <hyatt@apple.com>
1052
1053         Move all collapsing margin code out of RenderBlock and into RenderBlockFlow.
1054         https://bugs.webkit.org/show_bug.cgi?id=121049
1055
1056         Reviewed by Dean Jackson.
1057
1058         This patch begins the migration of the rare data struct of RenderBlock into
1059         RenderBlockFlow. During this process we will temporarily have rare data structs
1060         in both places, but ultimately all of the members are going to move down into
1061         RenderBlockFlow, and if any don't, they will get forced into a hash.
1062         
1063         For this patch, the margin information is being shifted out of RenderBlock and into
1064         RenderBlockFlow. Any functions that refer to MarginValues or to MarginInfo also got
1065         moved down into RenderBlockFlow. Most of block child layout is now in RenderBlockFlow
1066         after this patch.
1067         
1068         Note that in many cases the code didn't simply move. There is some type tightening
1069         that happened as well, i.e., places that look for RenderBlock can now look for
1070         RenderBlockFlow instead and let RenderBlock execute the base RenderBox functions.
1071
1072         * rendering/RenderBlock.cpp:
1073         (WebCore::RenderBlock::RenderBlock):
1074         (WebCore::RenderBlock::setPaginationStrut):
1075         (WebCore::RenderBlock::setPageLogicalOffset):
1076         (WebCore::RenderBlock::setBreakAtLineToAvoidWidow):
1077         * rendering/RenderBlock.h:
1078         (WebCore::RenderBlock::setLineGridBox):
1079         (WebCore::RenderBlock::setShapeInsideInfo):
1080         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1081         * rendering/RenderBlockFlow.cpp:
1082         (WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
1083         (WebCore::RenderBlockFlow::RenderBlockFlow):
1084         (WebCore::RenderBlockFlow::layoutBlockChild):
1085         (WebCore::RenderBlockFlow::adjustPositionedBlock):
1086         (WebCore::RenderBlockFlow::adjustFloatingBlock):
1087         (WebCore::RenderBlockFlow::marginValuesForChild):
1088         (WebCore::RenderBlockFlow::collapseMargins):
1089         (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
1090         (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
1091         (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
1092         (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
1093         (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
1094         (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
1095         (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
1096         (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
1097         (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
1098         (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
1099         (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
1100         (WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild):
1101         (WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild):
1102         (WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild):
1103         (WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild):
1104         (WebCore::inNormalFlow):
1105         (WebCore::RenderBlockFlow::applyBeforeBreak):
1106         (WebCore::RenderBlockFlow::applyAfterBreak):
1107         (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
1108         * rendering/RenderBlockFlow.h:
1109         (WebCore::RenderBlockFlow::MarginValues::MarginValues):
1110         (WebCore::RenderBlockFlow::MarginValues::positiveMarginBefore):
1111         (WebCore::RenderBlockFlow::MarginValues::negativeMarginBefore):
1112         (WebCore::RenderBlockFlow::MarginValues::positiveMarginAfter):
1113         (WebCore::RenderBlockFlow::MarginValues::negativeMarginAfter):
1114         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginBefore):
1115         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginBefore):
1116         (WebCore::RenderBlockFlow::MarginValues::setPositiveMarginAfter):
1117         (WebCore::RenderBlockFlow::MarginValues::setNegativeMarginAfter):
1118         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1119         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginBeforeDefault):
1120         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginBeforeDefault):
1121         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::positiveMarginAfterDefault):
1122         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::negativeMarginAfterDefault):
1123         (WebCore::RenderBlockFlow::MarginInfo::setAtBeforeSideOfBlock):
1124         (WebCore::RenderBlockFlow::MarginInfo::setAtAfterSideOfBlock):
1125         (WebCore::RenderBlockFlow::MarginInfo::clearMargin):
1126         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginBeforeQuirk):
1127         (WebCore::RenderBlockFlow::MarginInfo::setHasMarginAfterQuirk):
1128         (WebCore::RenderBlockFlow::MarginInfo::setDeterminedMarginBeforeQuirk):
1129         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMargin):
1130         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMargin):
1131         (WebCore::RenderBlockFlow::MarginInfo::setPositiveMarginIfLarger):
1132         (WebCore::RenderBlockFlow::MarginInfo::setNegativeMarginIfLarger):
1133         (WebCore::RenderBlockFlow::MarginInfo::setMargin):
1134         (WebCore::RenderBlockFlow::MarginInfo::setCanCollapseMarginAfterWithChildren):
1135         (WebCore::RenderBlockFlow::MarginInfo::setDiscardMargin):
1136         (WebCore::RenderBlockFlow::MarginInfo::atBeforeSideOfBlock):
1137         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginBefore):
1138         (WebCore::RenderBlockFlow::MarginInfo::canCollapseWithMarginAfter):
1139         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginBeforeWithChildren):
1140         (WebCore::RenderBlockFlow::MarginInfo::canCollapseMarginAfterWithChildren):
1141         (WebCore::RenderBlockFlow::MarginInfo::quirkContainer):
1142         (WebCore::RenderBlockFlow::MarginInfo::determinedMarginBeforeQuirk):
1143         (WebCore::RenderBlockFlow::MarginInfo::hasMarginBeforeQuirk):
1144         (WebCore::RenderBlockFlow::MarginInfo::hasMarginAfterQuirk):
1145         (WebCore::RenderBlockFlow::MarginInfo::positiveMargin):
1146         (WebCore::RenderBlockFlow::MarginInfo::negativeMargin):
1147         (WebCore::RenderBlockFlow::MarginInfo::discardMargin):
1148         (WebCore::RenderBlockFlow::MarginInfo::margin):
1149         (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
1150         (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
1151         (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
1152         (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
1153         (WebCore::RenderBlockFlow::initMaxMarginValues):
1154         * rendering/RenderDeprecatedFlexibleBox.cpp:
1155         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1156         * rendering/RenderTable.cpp:
1157         (WebCore::RenderTable::layout):
1158
1159 2013-09-11  Myles C. Maxfield  <mmaxfield@apple.com>
1160
1161         Fix nested unicode-bidi: isolate
1162         https://bugs.webkit.org/show_bug.cgi?id=120504
1163
1164         Reviewed by Darin Adler.
1165
1166         When we have a nested isolate renderer if the outer isolate has a text
1167         and this text is not the first child, the isolated chain is not
1168         rendered correctly. This happens because constructBidiRunsForSegment
1169         uses always the first inner isolated renderer as isolated inline
1170         container. This patch fixes the behavior described changing
1171         containingIsolate to find the right isolated container.
1172
1173         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/840a57050eade39dd04dde0c6603e129b783151c
1174
1175         Tests: fast/text/international/unicode-bidi-isolate-nested-first-child-text.html
1176                fast/text/international/unicode-bidi-isolate-nested-simple.html
1177
1178         * rendering/InlineIterator.h:
1179         (WebCore::containingIsolate):
1180         * rendering/RenderBlockLineLayout.cpp:
1181         (WebCore::constructBidiRunsForSegment):
1182
1183 2013-09-11  Alexey Proskuryakov  <ap@apple.com>
1184
1185         https://bugs.webkit.org/show_bug.cgi?id=121169
1186         media/track/track-cue-rendering-vertical.html is flaky on Mac
1187
1188         Reviewed by Eric Carlson.
1189
1190         * html/shadow/MediaControlElements.cpp:
1191         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Added a FIXME.
1192
1193 2013-09-11  Anders Carlsson  <andersca@apple.com>
1194
1195         Stop using deleteAllValues in SVG code
1196         https://bugs.webkit.org/show_bug.cgi?id=121172
1197
1198         Reviewed by Antti Koivisto.
1199
1200         Use OwnPtr for values instead.
1201
1202         * rendering/svg/RenderSVGResourceClipper.cpp:
1203         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
1204         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
1205         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1206         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1207         * rendering/svg/RenderSVGResourceClipper.h:
1208         * rendering/svg/RenderSVGResourceFilter.cpp:
1209         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
1210         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
1211         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
1212         (WebCore::RenderSVGResourceFilter::applyResource):
1213         (WebCore::RenderSVGResourceFilter::postApplyResource):
1214         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1215         * rendering/svg/RenderSVGResourceFilter.h:
1216         * rendering/svg/RenderSVGResourceMasker.cpp:
1217         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
1218         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
1219         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
1220         (WebCore::RenderSVGResourceMasker::applyResource):
1221         * rendering/svg/RenderSVGResourceMasker.h:
1222
1223 2013-09-11  Ryosuke Niwa  <rniwa@webkit.org>
1224
1225         Make the table static const.
1226
1227         * css/makeprop.pl:
1228
1229 2013-09-11  Timothy Hatcher  <timothy@apple.com>
1230
1231         Remove TimelineTraceEventProcessor since no current ports use it
1232         https://bugs.webkit.org/show_bug.cgi?id=121171
1233
1234         Reviewed by Joseph Pecoraro.
1235
1236         * CMakeLists.txt:
1237         * GNUmakefile.list.am:
1238         * Target.pri:
1239         * WebCore.vcxproj/WebCore.vcxproj:
1240         * WebCore.vcxproj/WebCore.vcxproj.filters:
1241         * WebCore.xcodeproj/project.pbxproj:
1242         * inspector/InspectorAllInOne.cpp:
1243         * inspector/InspectorClient.h:
1244         * inspector/InspectorInstrumentation.cpp:
1245         * inspector/InspectorInstrumentation.h:
1246         * inspector/InspectorTimelineAgent.cpp:
1247         (WebCore::InspectorTimelineAgent::start):
1248         (WebCore::InspectorTimelineAgent::stop):
1249         * inspector/InspectorTimelineAgent.h:
1250         * inspector/TimelineTraceEventProcessor.cpp: Removed.
1251         * inspector/TimelineTraceEventProcessor.h: Removed.
1252
1253 2013-09-11  Commit Queue  <commit-queue@webkit.org>
1254
1255         Unreviewed, rolling out r155519.
1256         http://trac.webkit.org/changeset/155519
1257         https://bugs.webkit.org/show_bug.cgi?id=121174
1258
1259         Included regression test fails, and an existing test started
1260         to crash (Requested by ap on #webkit).
1261
1262         * dom/Document.cpp:
1263         (WebCore::Document::hoveredElementDidDetach):
1264         * page/EventHandler.cpp:
1265         (WebCore::EventHandler::EventHandler):
1266         (WebCore::EventHandler::clear):
1267         (WebCore::EventHandler::handleMouseMoveEvent):
1268         (WebCore::EventHandler::scheduleHoverStateUpdate):
1269         (WebCore::EventHandler::hoverTimerFired):
1270         * page/EventHandler.h:
1271
1272 2013-09-11  Anders Carlsson  <andersca@apple.com>
1273
1274         Stop using deleteAllValues in SVG code
1275         https://bugs.webkit.org/show_bug.cgi?id=121172
1276
1277         Reviewed by Antti Koivisto.
1278
1279         Use OwnPtr for values instead.
1280
1281         * rendering/svg/RenderSVGResourceClipper.cpp:
1282         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
1283         (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
1284         (WebCore::RenderSVGResourceClipper::removeClientFromCache):
1285         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1286         * rendering/svg/RenderSVGResourceClipper.h:
1287         * rendering/svg/RenderSVGResourceFilter.cpp:
1288         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
1289         (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache):
1290         (WebCore::RenderSVGResourceFilter::removeClientFromCache):
1291         (WebCore::RenderSVGResourceFilter::applyResource):
1292         (WebCore::RenderSVGResourceFilter::postApplyResource):
1293         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
1294         * rendering/svg/RenderSVGResourceFilter.h:
1295         * rendering/svg/RenderSVGResourceMasker.cpp:
1296         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
1297         (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache):
1298         (WebCore::RenderSVGResourceMasker::removeClientFromCache):
1299         (WebCore::RenderSVGResourceMasker::applyResource):
1300         * rendering/svg/RenderSVGResourceMasker.h:
1301
1302 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
1303
1304         REGRESSION (143483): overflow:hidden doesn't quash big repaints from text-indent: -9999px
1305         https://bugs.webkit.org/show_bug.cgi?id=121137
1306
1307         Reviewed by Ryosuke Niwa.
1308         
1309         The change in r143483 made it so that negative text-indent gets added
1310         to visual oveflow even when we have overflow:hidden, which is really bad
1311         because it causes large repaints (and large layers) for a common-on-the-web
1312         pattern.
1313         
1314         Revert the change, and add a new test to make sure it doesn't regress.
1315         
1316         I can't reproduce the bug it was trying to fix with the change reverted.
1317
1318         Tests: compositing/geometry/negative-text-indent-with-overflow-hidden-layer.html
1319                fast/repaint/negative-text-indent-with-overflow-hidden.html
1320
1321         * rendering/RenderBlock.cpp:
1322         (WebCore::RenderBlock::computeOverflow):
1323
1324 2013-09-10  Simon Fraser  <simon.fraser@apple.com>
1325
1326         Optionally show visual and layout overflow rects in layer tree dumps
1327         https://bugs.webkit.org/show_bug.cgi?id=121135
1328
1329         Reviewed by Beth Dakin.
1330
1331         When calling showLayerTree() from the debugger, show overflow rects
1332         (visaul and layout) for renderers.
1333         
1334         Does not affect test output.
1335
1336         * rendering/RenderLayer.cpp:
1337         (showLayerTree): Pass the new flag to show overflow rects.
1338         * rendering/RenderTreeAsText.cpp:
1339         (WebCore::RenderTreeAsText::writeRenderObject): Print the rects.
1340         (WebCore::write): Don't force layout on subframes if the "dont' layout"
1341         flag is set.
1342         * rendering/RenderTreeAsText.h: New flag.
1343
1344 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
1345
1346         AX: WebKit exposes AXTitleUIElement incorrectly on checkboxes and radio buttons
1347         https://bugs.webkit.org/show_bug.cgi?id=121039
1348
1349         Reviewed by Sam Weinig.
1350
1351         Stop hiding <label> elements for radio buttons and checkboxes (and using the text inside them for the AXTitle).
1352         Instead, expose the <label> element as the titleUIElement if appropriate for the input.
1353
1354         This implies:
1355            1) The web will no longer match MacOS behavior exactly (the text and the checkbox control are combined on MacOS into one element)
1356            2) But, the user will now be able to explore the <label> element which may include links or other important controls.
1357         I think sacrificing 1) here is a good tradeoff. The user will likely never know the difference in terms of output.
1358
1359         Test: platform/mac/accessibility/label-elements-exposed-as-title-ui-elements.html
1360
1361         * accessibility/AccessibilityNodeObject.cpp:
1362         (WebCore::AccessibilityNodeObject::titleElementText):
1363         (WebCore::AccessibilityNodeObject::title):
1364         * accessibility/AccessibilityRenderObject.cpp:
1365         (WebCore::AccessibilityRenderObject::hasTextAlternative):
1366         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
1367
1368 2013-09-11  Andreas Kling  <akling@apple.com>
1369
1370         Remove unnecessary Document::frame() null checks in rendererIsNeeded().
1371         <https://webkit.org/b/121166>
1372
1373         Reviewed by Anders Carlsson.
1374
1375         rendererIsNeeded() is only called during style resolve, which only happens
1376         while there's a Frame present.
1377
1378         * html/HTMLEmbedElement.cpp:
1379         (WebCore::HTMLEmbedElement::rendererIsNeeded):
1380         * html/HTMLMediaElement.cpp:
1381         (WebCore::HTMLMediaElement::rendererIsNeeded):
1382         * html/HTMLObjectElement.cpp:
1383         * html/HTMLObjectElement.h:
1384
1385 2013-09-11  Csaba Osztrogon√°c  <ossy@webkit.org>
1386
1387         ARM buildfix after r155491
1388         https://bugs.webkit.org/show_bug.cgi?id=121152
1389
1390         Reviewed by Anders Carlsson.
1391
1392         FELightingNEON.cpp and FELightingNEON.h is inside COMPILER(GCC) guard, so it's safe to use GCC attribute.
1393
1394         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Use __aligned__ GCC attribute directly.
1395         * platform/graphics/cpu/arm/filters/FELightingNEON.h: Use __aligned__ GCC attribute instead of ugly template magic.
1396         (WebCore::FELighting::platformApplyNeon):
1397
1398 2013-09-11  peavo@outlook.com  <peavo@outlook.com>
1399
1400         [WinCairo] Compile errors.
1401         https://bugs.webkit.org/show_bug.cgi?id=121153
1402
1403         Reviewed by Brent Fulgham.
1404
1405         * page/win/FrameCairoWin.cpp:
1406         (WebCore::imageFromRect): Return empty GDIObject.
1407         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1408         (WebCore::FontCustomPlatformData::fontPlatformData): Get actual handle from GDIObject.
1409
1410 2013-09-11  Darin Adler  <darin@apple.com>
1411
1412         Rework CSS parser, eliminating "floating" concept and using %destructor
1413         https://bugs.webkit.org/show_bug.cgi?id=121161
1414
1415         Reviewed by Antti Koivisto.
1416
1417         This is some basic improvement, but there is still room for a lot more
1418         consistent approach and formatting in this file. There is a mix of code that
1419         works by side effects in the CSSParser class and code that works with the
1420         values that bison generates in the union that is more or less random. And
1421         the data structures seem too costly, with too much heap allocation. And the
1422         CSSParser class has grown massive, with a mix of both function for use by
1423         code that wants to trigger parsing, and helper functions called by code in
1424         the grammar file. All of that can benefit from more refinement in the future.
1425
1426         * css/CSSGrammar.y.in: Made some incremental improvements to the structure
1427         of the grammar file, including:
1428         - Breaking up the %union so types are declared next to their use
1429         - Eliminating one shift/reduce conflict caused by two "maybe_space" in a row
1430         - Breaking the conditional sections out into their own sections instead of
1431           scattering them in with the other code.
1432         - Eliminating unused return values in productions such as charset,
1433           ignored_charset, namespace, margin_box, invalid_rule, save_block,
1434           invalid_at, and declarations_and_margins.
1435         - Adding %destructor to productions that return values that need to be deleted
1436           or deref'd. This removes the need for CSSParser to separately track these
1437           as "floating" to clean up in case of errors.
1438         - Removing unneeded productions such as media_feature, region_selector,
1439           attr_name, and medium.
1440         - Removing explicit code blocks that just say "$$ = $1" or empty blocks when
1441           there is no return type, since those are default.
1442         - Formatting many productions on single lines since I find them easier to read.
1443           Later I think we could make many more CSSParser functions and make even
1444           more of the production single lines in the grammar file.
1445         - Using adoptPtr, adoptRef, delete, deref, leakPtr, and leakRef to put
1446           heap allocated values into and out of the union without storage leaks.
1447           
1448         * css/CSSParser.cpp:
1449         (WebCore::CSSParser::~CSSParser): Remove the now-unneeded deleteAllValues for
1450         the various colections of floating things.
1451         (WebCore::CSSParser::createFilterRule): Don't put the rule into m_parsedRules,
1452         just return a PassRefPtr instead.
1453         (WebCore::CSSParser::createImportRule): Ditto.
1454         (WebCore::CSSParser::createMediaRule): Ditto.
1455         (WebCore::CSSParser::createEmptyMediaRule): Ditto.
1456         (WebCore::CSSParser::createSupportsRule): Ditto.
1457         (WebCore::CSSParser::createKeyframesRule): Ditto.
1458         (WebCore::CSSParser::createStyleRule): Ditto.
1459         (WebCore::CSSParser::createFontFaceRule): Ditto.
1460         (WebCore::CSSParser::createHostRule): Ditto.
1461         (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded): Got rid of the
1462         unused return value from this function and changed it to to take a reference
1463         instead of a pointer.
1464         (WebCore::CSSParser::rewriteSpecifiersWithElementName): Ditto.
1465         (WebCore::CSSParser::rewriteSpecifiers): Changed this to take and return OwnPtr.
1466         (WebCore::CSSParser::createPageRule): Don't put rule into m_parsedRules, return
1467         PassRefPtr instead.
1468         (WebCore::CSSParser::createSelectorVector): Added. Used to implement the
1469         optimization where we recycle a single selector vector. Not sure we still need
1470         this, or maybe we need more optimizations like it, but for now keep it.
1471         (WebCore::CSSParser::recycleSelectorVector): Ditto.
1472         (WebCore::CSSParser::createRegionRule): Don't put rule into m_parsedRules, return
1473         PassRefPtr instead.
1474         (WebCore::CSSParser::createMarginAtRule): Got rid of unused return value.
1475         When this function is implemented for real, we might add a return value.
1476         (WebCore::CSSParser::createKeyframe): Don't put keyframe into m_parsedKeyframes,
1477         return PassRefPtr instead.
1478         (WebCore::CSSParser::createViewportRule): Don't put rule into m_parsedRules, return
1479         PassRefPtr instead.
1480
1481         * css/CSSParser.h: Removed many now-needed functions to manage floating items.
1482         Changed rule creation functions to return PassRefPtr. Other changes as mentioned above.
1483
1484         * css/CSSParserValues.cpp:
1485         (WebCore::destroy): Added.
1486         (WebCore::CSSParserValueList::~CSSParserValueList): Updated to call destroy.
1487         * css/CSSParserValues.h: Ditto.
1488
1489 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
1490
1491         [GTK] Remove Gail dependency from build system for GTK3
1492         https://bugs.webkit.org/show_bug.cgi?id=119673
1493
1494         Reviewed by Gustavo Noronha Silva.
1495
1496         * GNUmakefile.am: Removed GAIL_CFLAGS.
1497         * PlatformGTK.cmake: Removed GAIL3_INCLUDE_DIRS and GAIL3_LIBRARIES.
1498
1499 2013-09-11  Andreas Kling  <akling@apple.com>
1500
1501         Remove Widget::widgetPositionsUpdated().
1502         <https://webkit.org/b/121160>
1503
1504         Reviewed by Anders Carlsson.
1505
1506         Remove this no-op virtual that was only used by chromium.
1507
1508 2013-09-11  Andreas Kling  <akling@apple.com>
1509
1510         Page::backForward() should return a reference.
1511         <https://webkit.org/b/121151>
1512
1513         Reviewed by Anders Carlsson.
1514
1515         There is always a BackForwardController, so make backForward() return a reference.
1516         Also made it store a Page& internally since it's tied to the lifetime of Page.
1517
1518 2013-09-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1519
1520         WTF::OwnPtr should behave similarly with the rest of WTF smart pointers
1521         https://bugs.webkit.org/show_bug.cgi?id=120773
1522
1523         Reviewed by Anders Carlsson.
1524
1525         Before the change OwnPtr could take either the pointer type or the pointed-to type, which was bad
1526         for the following reasons:
1527         - It distinguished OwnPtr behaviour from other WTF smart pointer classes behaviour (so it was confusing for the Client).
1528         - It was potential error-prone as it actually modified the type given by the Client in opaque way.
1529
1530         * page/animation/CSSPropertyAnimation.cpp:
1531         (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
1532         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
1533
1534 2013-09-11  Andreas Kling  <akling@apple.com>
1535
1536         FrameView: Tighten widget handling code.
1537         <https://webkit.org/b/121155>
1538
1539         Reviewed by Antti Koivisto.
1540
1541         Harden typing in this code to work with RenderEmbeddedObject& instead of RenderObject*.
1542         Functions and members renamed to reflect that they only deal with embedded objects.
1543
1544         * html/HTMLPlugInImageElement.h:
1545         (WebCore::toHTMLPlugInImageElement):
1546
1547             Add a toHTMLPlugInImageElement that takes an Element&.
1548
1549         * html/HTMLTagNames.in:
1550
1551             Generate type helpers for applet and embed elements.
1552
1553         * page/FrameView.h:
1554         * page/FrameView.cpp:
1555         (WebCore::FrameView::addEmbeddedObjectToUpdate):
1556         (WebCore::FrameView::removeEmbeddedObjectToUpdate):
1557         (WebCore::FrameView::updateEmbeddedObjects):
1558         (WebCore::FrameView::updateEmbeddedObject):
1559
1560             Re-ordered this function in early return style. Change locals into references.
1561
1562         * rendering/RenderEmbeddedObject.cpp:
1563         (WebCore::RenderEmbeddedObject::~RenderEmbeddedObject):
1564         (WebCore::RenderEmbeddedObject::layout):
1565         * rendering/RenderSnapshottedPlugIn.cpp:
1566         (WebCore::RenderSnapshottedPlugIn::layout):
1567
1568             Updated for new FrameView function signatures.
1569
1570 2013-09-11  Patrick Gansterer  <paroga@webkit.org>
1571
1572         [CMake] Split out generic Windows files into its own file
1573         https://bugs.webkit.org/show_bug.cgi?id=119514
1574
1575         Reviewed by Gyuyoung Kim.
1576
1577         This allows us to add smaller CMakeLists.txt files when
1578         adding additional Windows ports.
1579
1580         * PlatformWin.cmake: Copied from Source/WebCore/PlatformWinCE.cmake.
1581         * PlatformWinCE.cmake:
1582
1583 2013-09-11  Mario Sanchez Prada  <mario.prada@samsung.com>
1584
1585         [GTK] Get rid of Pango/Gail dependencies in accessibility for ATK
1586         https://bugs.webkit.org/show_bug.cgi?id=114867
1587
1588         Reviewed by Martin Robinson.
1589
1590         Removed all trace of Gail and Pango specific code from the AtkText
1591         implementation, now everything has been reimplemented.
1592
1593         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1594         (webkitAccessibleTextGetTextForOffset): Removed fallback code
1595         relying in Gail/Pango, now all the related code has been
1596         removed. Also, replaced the collection of if statements with a
1597         switch, for better readability of the code.
1598
1599 2013-09-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1600
1601         Mouseenter/-leave not triggered when element under cursor is moved/removed
1602         https://bugs.webkit.org/show_bug.cgi?id=120786
1603
1604         Reviewed by Antonio Gomes.
1605
1606         When a hovered element is detached it will now emit a fake mousemove event
1607         similar to what happens when a hovered element has CSS display set to none.
1608
1609         Test: fast/events/mouseenterleave-detached-element.html
1610
1611         * dom/Document.cpp:
1612         (WebCore::Document::hoveredElementDidDetach):
1613         * page/EventHandler.cpp:
1614         (WebCore::EventHandler::EventHandler):
1615         (WebCore::EventHandler::clear):
1616         (WebCore::EventHandler::handleMouseMoveEvent):
1617         * page/EventHandler.h:
1618
1619 2013-09-11  Krzysztof Czech  <k.czech@samsung.com>
1620
1621         [ATK] Adds mapping MenuItemRadioRole to ATK
1622         https://bugs.webkit.org/show_bug.cgi?id=121149
1623
1624         Reviewed by Mario Sanchez Prada.
1625
1626         Adds mapping MenuItemRadioRole to ATK.
1627
1628         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1629         (atkRole):
1630
1631 2013-09-10  Mario Sanchez Prada  <mario.prada@samsung.com>
1632
1633         [GTK] Reimplement atk_text_get_text_*_offset for LINE boundaries
1634         https://bugs.webkit.org/show_bug.cgi?id=114872
1635
1636         Reviewed by Gustavo Noronha Silva.
1637
1638         Re-implement these functions without using GailTextUtil nor Pango.
1639
1640         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1641         (lineAtPositionForAtkBoundary): New helper function to find the
1642         line at a given position considering values of AtkTextBoundary.
1643         (webkitAccessibleTextLineForBoundary): New function,
1644         implementing atk_text_get_text_*_offset for LINE.
1645         (webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
1646         LINE boundaries with webkitAccessibleTextLineForBoundary().
1647
1648 2013-09-11  Andreas Kling  <akling@apple.com>
1649
1650         Missed one BackForwardListImpl.h in the last commit.
1651
1652         * history/BackForwardList.cpp:
1653
1654 2013-09-11  Andreas Kling  <akling@apple.com>
1655
1656         Rename BackForwardListImpl.{cpp,h} => BackForwardClient.{cpp,h}
1657
1658         Rubber-stamped by Antti Koivisto.
1659
1660 2013-09-10  Ryosuke Niwa  <rniwa@webkit.org>
1661
1662         CSSProperty::isInheritedProperty is large
1663         https://bugs.webkit.org/show_bug.cgi?id=121083
1664
1665         Reviewed by Sam Weinig.
1666
1667         Support [Inherited] option in makeprop.pl and generate CSSProperty::isInheritedProperty in CSSPropertyNames.cpp
1668         using a lookup table. We can pack the table better by using bitfield in the future but I think boolean lookup
1669         table is a good first cut.
1670
1671         Updated CSSPropertyNames.in and SVGCSSPropertyNames.in to use the new option and removed the old code from
1672         CSSProperty.cpp.
1673
1674         * css/CSSProperty.cpp:
1675         * css/CSSPropertyNames.in:
1676         * css/SVGCSSPropertyNames.in:
1677         * css/makeprop.pl:
1678
1679 2013-09-11  Andreas Kling  <akling@apple.com>
1680
1681         Rename BackForwardListImpl => BackForwardList.
1682         <https://webkit.org/b/121146>
1683
1684         Reviewed by Antti Koivisto.
1685
1686         Nuke another old FIXME.
1687
1688 2013-09-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1689
1690         Generate more HTML type checks and casting
1691         https://bugs.webkit.org/show_bug.cgi?id=121080
1692
1693         Reviewed by Andreas Kling.
1694
1695         Clean-up remained functions of HTML elements using auto-generated isFooElement(),
1696         and replace toFooElement() with ELEMENT_TYPE_CASTS() macro.
1697
1698         Besides this patch clean-up unnecessary checks which are being supported by
1699         auto-generated isFooElement().
1700
1701         No new tests, no behavior change.
1702
1703         * accessibility/atk/AXObjectCacheAtk.cpp:
1704         (WebCore::notifyChildrenSelectionChange):
1705         * html/HTMLFrameElementBase.h:
1706         (WebCore::toHTMLFrameElementBase):
1707         * html/HTMLIFrameElement.h:
1708         * html/HTMLImageLoader.cpp:
1709         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1710         (WebCore::HTMLImageLoader::notifyFinished):
1711         * html/HTMLObjectElemenaeh:
1712         * html/HTMLOptionsCollection.cpp:
1713         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
1714         * html/HTMLSelectElement.h:
1715         * html/HTMLTagNames.in:
1716         * html/HTMLVideoElement.h:
1717         * html/shadow/HTMLContentElement.h:
1718         * loader/ImageLoader.cpp:
1719         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
1720         * loader/archive/cf/LegacyWebArchive.cpp:
1721         (WebCore::LegacyWebArchive::create):
1722         * page/PageSerializer.cpp:
1723         (WebCore::frameOwnerURLAttributeName):
1724         * page/SpatialNavigation.cpp:
1725         (WebCore::canScrollInDirection):
1726         * platform/gtk/PasteboardGtk.cpp:
1727         (WebCore::getURLForImageNode):
1728         * plugins/IFrameShimSupport.cpp:
1729         (WebCore::getPluginOcclusions):
1730         * rendering/HitTestResult.cpp:
1731         (WebCore::HitTestResult::mediaSupportsFullscreen):
1732         (WebCore::HitTestResult::mediaElement):
1733         (WebCore::HitTestResult::enterFullscreenForVideo):
1734         (WebCore::HitTestResult::mediaIsVideo):
1735
1736         * rendering/RenderLayerCompositor.cpp:
1737         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
1738         * rendering/RenderListBox.cpp:
1739         (WebCore::RenderListBox::RenderListBox):
1740         * rendering/RenderMenuList.cpp:
1741         (WebCore::RenderMenuList::RenderMenuList):
1742         * testing/Internals.cpp:
1743         (WebCore::Internals::isSelectPopupVisible):
1744
1745 2013-09-11  Chris Fleizach  <cfleizach@apple.com>
1746
1747         AX: Mac platform is not using accessibilityTitle from the Base implementation
1748         https://bugs.webkit.org/show_bug.cgi?id=121109
1749
1750         Reviewed by Sam Weinig.
1751
1752         Remove the Mac platform overrides of accessibilityTitle, Description, HelpText. 
1753         The Base implementation has these and we can share them between iOS and Mac
1754
1755         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
1756         (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
1757         (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
1758         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1759
1760 2013-09-11  Andreas Kling  <akling@apple.com>
1761
1762         Rename BackForwardList.h => BackForwardClient.h
1763
1764         Rubber-stamped by Antti Koivisto.
1765
1766 2013-09-11  Andreas Kling  <akling@apple.com>
1767
1768         Rename BackForwardList => BackForwardClient.
1769         <https://webkit.org/b/121143>
1770
1771         Reviewed by Antti Koivisto.
1772
1773         Nuke a 3 year old FIXME about renaming this class.
1774
1775 2013-09-10  Daniel Bates  <dabates@apple.com>
1776
1777         [iOS] Upstream text autosizing
1778         https://bugs.webkit.org/show_bug.cgi?id=121111
1779
1780         Reviewed by Andy Estes and Sam Weinig.
1781
1782         Tests: platform/iphone-simulator/text-autosizing/anonymous-block.html
1783                platform/iphone-simulator/text-autosizing/contenteditable.html
1784                platform/iphone-simulator/text-autosizing/first-letter.html
1785                platform/iphone-simulator/text-autosizing/font-family-case-insensitive.html
1786                platform/iphone-simulator/text-autosizing/lists.html
1787                platform/iphone-simulator/text-autosizing/overflow.html
1788                platform/iphone-simulator/text-autosizing/percent-adjust-length-line-height.html
1789                platform/iphone-simulator/text-autosizing/percent-adjust-number-line-height.html
1790                platform/iphone-simulator/text-autosizing/percent-adjust-percent-line-height.html
1791
1792         * WebCore.exp.in:
1793         * WebCore.xcodeproj/project.pbxproj:
1794         * css/CSSComputedStyleDeclaration.cpp:
1795         (WebCore::ComputedStyleExtractor::propertyValue):
1796         * css/CSSParser.cpp:
1797         (WebCore::isValidKeywordPropertyAndValue):
1798         (WebCore::CSSParser::parseValue):
1799         * css/CSSProperty.cpp:
1800         (WebCore::CSSProperty::isInheritedProperty):
1801         * css/CSSPropertyNames.in: Add property -webkit-text-size-adjust.
1802         * css/DeprecatedStyleBuilder.cpp:
1803         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Added.
1804         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInitialValue): Added.
1805         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInheritValue): Added.
1806         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::createHandler): Added.
1807         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1808         * css/StyleResolver.cpp:
1809         (WebCore::StyleResolver::updateFont):
1810         (WebCore::StyleResolver::applyProperties): Add COMPILE_ASSERT to ensure that
1811         all properties that affect font size, including -webkit-text-size-adjust, are
1812         resolved before properties that depend on them; see <rdar://problem/13522835>.
1813         (WebCore::StyleResolver::applyProperty):
1814         (WebCore::StyleResolver::checkForTextSizeAdjust): Added.
1815         * css/StyleResolver.h:
1816         * dom/Document.cpp:
1817         (WebCore::TextAutoSizingTraits::constructDeletedValue): Added.
1818         (WebCore::TextAutoSizingTraits::isDeletedValue): Added.
1819         (WebCore::Document::detach):
1820         (WebCore::Document::addAutoSizingNode): Added.
1821         (WebCore::Document::validateAutoSizingNodes): Added.
1822         (WebCore::Document::resetAutoSizingNodes): Added.
1823         * dom/Document.h:
1824         * editing/EditingStyle.cpp:
1825         * page/Frame.h: Add declarations for setTextAutosizingWidth(), textAutosizingWidth().
1826         * page/FrameView.cpp:
1827         (WebCore::FrameView::layout):
1828         * page/Settings.in: Generate setter and getter for setting minimumZoomFontSize.
1829         * platform/graphics/Font.h:
1830         (WebCore::Font::equalForTextAutoSizing): Added.
1831         * platform/graphics/FontDescription.cpp:
1832         (WebCore::FontDescription::familiesEqualForTextAutoSizing): Added.
1833         * platform/graphics/FontDescription.h:
1834         (WebCore::FontDescription::equalForTextAutoSizing): Added.
1835         * rendering/RenderBlock.cpp:
1836         (WebCore::RenderBlock::RenderBlock):
1837         (WebCore::isVisibleRenderText): Added.
1838         (WebCore::resizeTextPermitted): Added.
1839         (WebCore::RenderBlock::immediateLineCount): Added.
1840         (WebCore::isNonBlocksOrNonFixedHeightListItems): Added.
1841         (WebCore::oneLineTextMultiplier): Added.
1842         (WebCore::textMultiplier): Added.
1843         (WebCore::RenderBlock::adjustComputedFontSizes): Added.
1844         * rendering/RenderBlock.h:
1845         (WebCore::RenderBlock::resetComputedFontSize): Added.
1846         * rendering/RenderObject.cpp:
1847         (WebCore::RenderObject::traverseNext): Added.
1848         (WebCore::includeNonFixedHeight): Added.
1849         (WebCore::RenderObject::adjustComputedFontSizesOnBlocks): Added.
1850         (WebCore::RenderObject::resetTextAutosizing): Added.
1851         * rendering/RenderObject.h:
1852         * rendering/RenderText.cpp:
1853         (WebCore::RenderText::RenderText):
1854         * rendering/RenderText.h:
1855         (WebCore::RenderText::candidateComputedTextSize): Added.
1856         (WebCore::RenderText::setCandidateComputedTextSize): Added.
1857         * rendering/style/RenderStyle.cpp:
1858         (WebCore::computeFontHash):
1859         (WebCore::RenderStyle::hashForTextAutosizing): Added.
1860         (WebCore::RenderStyle::equalForTextAutosizing): Added.
1861         (WebCore::RenderStyle::changeRequiresLayout):
1862         (WebCore::RenderStyle::specifiedLineHeight): Added; iOS-specific variant.
1863         We should reconcile this getter with the getter of the same name that is
1864         compiled when building with IOS_TEXT_AUTOSIZING disabled.
1865         (WebCore::RenderStyle::setSpecifiedLineHeight): Added.
1866         * rendering/style/RenderStyle.h:
1867         (WebCore::RenderStyle::initialSpecifiedLineHeight): Added.
1868         (WebCore::RenderStyle::initialTextSizeAdjust): Added.
1869         (WebCore::RenderStyle::setTextSizeAdjust): Added.
1870         (WebCore::RenderStyle::textSizeAdjust): Added.
1871         * rendering/style/StyleInheritedData.cpp:
1872         (WebCore::StyleInheritedData::StyleInheritedData):
1873         (WebCore::StyleInheritedData::operator==):
1874         * rendering/style/StyleInheritedData.h:
1875         * rendering/style/StyleRareInheritedData.cpp:
1876         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1877         (WebCore::StyleRareInheritedData::operator==):
1878         * rendering/style/StyleRareInheritedData.h:
1879         * rendering/style/TextSizeAdjustment.h: Added.
1880         (TextSizeAdjustment::TextSizeAdjustment):
1881         (TextSizeAdjustment::percentage):
1882         (TextSizeAdjustment::multiplier):
1883         (TextSizeAdjustment::isAuto):
1884         (TextSizeAdjustment::isNone):
1885         (TextSizeAdjustment::isPercentage):
1886         (TextSizeAdjustment::operator == ):
1887         (TextSizeAdjustment::operator != ):
1888
1889 2013-09-10  Chris Fleizach  <cfleizach@apple.com>
1890
1891         AX: AXValue/AXMenuItemMarkChar not defined for menuitemradio (should be false (0) with aria-checked=mixed | undefined)
1892         https://bugs.webkit.org/show_bug.cgi?id=120372
1893
1894         Reviewed by Mario Sanchez Prada.
1895
1896         Add new roles to make the distinction between menu item, menu item radio and menu item checkbox.
1897         Expose AXValue for menu items, so that they can convey the, on/off/mixed state of aria-checked.
1898
1899         Test: platform/mac/accessibility/menu-item-values.html
1900
1901         * accessibility/AccessibilityNodeObject.cpp:
1902         (WebCore::AccessibilityNodeObject::isMenuRelated):
1903         (WebCore::AccessibilityNodeObject::isMenuItem):
1904         (WebCore::AccessibilityNodeObject::isChecked):
1905         (WebCore::AccessibilityNodeObject::actionElement):
1906         (WebCore::AccessibilityNodeObject::visibleText):
1907         (WebCore::AccessibilityNodeObject::title):
1908         * accessibility/AccessibilityObject.cpp:
1909         (WebCore::createARIARoleMap):
1910         (WebCore::AccessibilityObject::checkboxOrRadioValue):
1911         * accessibility/AccessibilityObject.h:
1912         * accessibility/AccessibilityRenderObject.cpp:
1913         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1914         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1915         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
1916         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
1917         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1918         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1919         (createAccessibilityRoleMap):
1920         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1921
1922 2013-09-10  Anders Carlsson  <andersca@apple.com>
1923
1924         Remove wtf/Alignment.h
1925         https://bugs.webkit.org/show_bug.cgi?id=121077
1926
1927         Reviewed by Andreas Kling.
1928
1929         * platform/PODArena.h:
1930         (WebCore::PODArena::minAlignment):
1931         * platform/graphics/cpu/arm/filters/FELightingNEON.h:
1932         (WebCore::FELighting::platformApplyNeon):
1933
1934 2013-09-10  Zoltan Horvath  <zoltan@webkit.org>
1935
1936         [Qt] Add FloatingObjects.h to Target.pri
1937         https://bugs.webkit.org/show_bug.cgi?id=121117
1938
1939         Reviewed by Andreas Kling.
1940
1941         No new tests, no behavior change.
1942
1943         * Target.pri:
1944
1945 2013-09-10  Sergio Correia  <sergio.correia@openbossa.org>
1946
1947         Fix EFL build after r155477
1948         https://bugs.webkit.org/show_bug.cgi?id=121126
1949
1950         Reviewed by Antonio Gomes.
1951
1952         No new tests, build fix.
1953
1954         * CMakeLists.txt: MediaStreamComponent.cpp and MediaStreamDescriptor.cpp
1955         were added with an incorrect path.
1956
1957 2013-09-10  Andreas Kling  <akling@apple.com>
1958
1959         AnimationController should have a Frame& internally.
1960         <https://webkit.org/b/121078>
1961
1962         Reviewed by Anders Carlsson.
1963
1964         The AnimationController is owned by the Frame so make the back-pointer
1965         a reference. This knocks off a couple of null checks.
1966
1967 2013-09-10  Anders Carlsson  <andersca@apple.com>
1968
1969         More WTF/Alignment.h removal
1970         https://bugs.webkit.org/show_bug.cgi?id=121125
1971
1972         Reviewed by Andreas Kling.
1973
1974         * platform/PODArena.h:
1975
1976 2013-09-10  Eric Carlson  <eric.carlson@apple.com>
1977
1978         Make MediaStream objects ScriptWrappable
1979         https://bugs.webkit.org/show_bug.cgi?id=120879
1980
1981         Reviewed by Jer Noble.
1982
1983         * Modules/mediastream/MediaStream.h: Inherit from ScriptWrappable.
1984         * Modules/mediastream/MediaStreamTrack.h: Ditto.
1985         * Modules/mediastream/RTCDTMFSender.h: Ditto.
1986         * Modules/mediastream/RTCDataChannel.h: Ditto.
1987         * Modules/mediastream/RTCIceCandidate.h: Ditto.
1988         * Modules/mediastream/RTCPeerConnection.h: Ditto.
1989         * Modules/mediastream/RTCSessionDescription.h: Ditto.
1990         * Modules/mediastream/RTCStatsReport.h: Ditto.
1991         * Modules/mediastream/RTCStatsResponse.h: Ditto.
1992
1993 2013-09-10  Eric Carlson  <eric.carlson@apple.com>
1994
1995         Split MediaStreamDescriptor.h and MediaStreamComponent.h into .h and .cpp
1996         https://bugs.webkit.org/show_bug.cgi?id=120878
1997
1998         Reviewed by Jer Noble.
1999
2000         No new tests, no functional change.
2001
2002         * CMakeLists.txt: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
2003         * GNUmakefile.list.am: Ditto.
2004
2005         * Modules/mediastream/LocalMediaStream.cpp:
2006         (WebCore::LocalMediaStream::create): MediaStreamDescriptor::create() doesn't take a UUID.
2007
2008         * Modules/mediastream/MediaStream.cpp:
2009         (WebCore::createFromSourceVectors): Ditto.
2010
2011         * WebCore.xcodeproj/project.pbxproj: Add MediaStreamComponent.cpp and MediaStreamDescriptor.cpp.
2012
2013         * platform/mediastream/MediaStreamComponent.cpp: Added.
2014         * platform/mediastream/MediaStreamComponent.h:
2015
2016         * platform/mediastream/MediaStreamDescriptor.cpp: Added.
2017         * platform/mediastream/MediaStreamDescriptor.h:
2018
2019 2013-09-10  Brent Fulgham  <bfulgham@apple.com>
2020
2021         [Windows] Create SharedGDIObject Class Template
2022         https://bugs.webkit.org/show_bug.cgi?id=121037
2023
2024         Reviewed by Anders Carlsson.
2025
2026         * WebCore.vcxproj/WebCore.vcxproj: Remove RefCountedGDIHandle.h, and
2027         add new SharedGDIObject.h file.
2028         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2029         * platform/graphics/FontPlatformData.h:
2030         (WebCore::FontPlatformData::hfont): Switch to new SharedGDIObject.
2031         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2032         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2033         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2034         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2035         * platform/graphics/win/FontPlatformDataWin.cpp:
2036         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2037         * platform/graphics/win/RefCountedGDIHandle.h: Removed.
2038         * platform/graphics/win/SharedGDIObject.h: Added.
2039         (WebCore::SharedGDIObject::create):
2040         (WebCore::SharedGDIObject::get):
2041         (WebCore::SharedGDIObject::hash):
2042         (WebCore::SharedGDIObject::SharedGDIObject):
2043
2044 2013-09-10  Tim Horton  <timothy_horton@apple.com>
2045
2046         [mac] PDFDocumentImage should use PDFKit to draw
2047         https://bugs.webkit.org/show_bug.cgi?id=120651
2048         <rdar://problem/12810731>
2049
2050         Unreviewed hopeful build fix.
2051
2052         * platform/graphics/mac/PDFDocumentImageMac.mm:
2053
2054 2013-09-10  Tim Horton  <timothy_horton@apple.com>
2055
2056         [mac] PDFDocumentImage should use PDFKit to draw
2057         https://bugs.webkit.org/show_bug.cgi?id=120651
2058         <rdar://problem/12810731>
2059
2060         Reviewed by Alexey Proskuryakov.
2061
2062         Use PDFKit to draw PDF-in-<img> on Mac, so that annotations in PDF are painted.
2063
2064         Test: fast/images/pdf-as-image-with-annotations.html
2065
2066         * WebCore.xcodeproj/project.pbxproj:
2067         Add PDFDocumentImageMac.mm.
2068
2069         * platform/graphics/cg/PDFDocumentImage.cpp:
2070         (WebCore::PDFDocumentImage::PDFDocumentImage):
2071         We don't need to initialize m_document anymore because it's now a RetainPtr.
2072         Initialize m_hasPage to false.
2073
2074         (WebCore::PDFDocumentImage::~PDFDocumentImage):
2075         We don't need to manually release our CGPDFDocumentRef anymore because it's now a RetainPtr.
2076
2077         (WebCore::PDFDocumentImage::size):
2078         Use expandedIntSize for explicitness.
2079
2080         (WebCore::PDFDocumentImage::applyRotationForPainting):
2081         Rename adjustCTM to applyRotationForPainting, and move the one non-rotation related transformation out.
2082         We need to do this because PDFKit applies the rotation transformation itself, so we don't need to.
2083         Also, explicitly use std::min instead of importing the whole std namespace.
2084
2085         (WebCore::PDFDocumentImage::dataChanged):
2086         Assert that we don't re-enter dataChanged after we've created a document,
2087         because it seems like that shouldn't happen - we only create a document when
2088         we've supposedly received all data, and it would be nice if we didn't have
2089         all this varying code to deal with SharedBuffers changing out from under each other.
2090         Factor the code to create a CGPDFDocumentRef out into createPDFDocument, so we can
2091         replace it with a different implementation that creates a PDFDocument.
2092
2093         (WebCore::PDFDocumentImage::setCurrentPage):
2094         Make all page-number-related things unsigned, since they are in CG and PDFKit,
2095         and add m_hasPage to denote whether we've acquired a valid page yet.
2096         Factor code to retrieve the PDF box bounds into computeBoundsForCurrentPage.
2097         Remove setCurrentPage itself, as we never use a page other than the first page;
2098         we will call computeBoundsForCurrentPage and set hasPage in dataChanged, now.
2099
2100         (WebCore::PDFDocumentImage::draw):
2101         Fix a weird comment.
2102         Factor code that actually draws the PDF out into drawPDFPage.
2103
2104         The rest of the functions in this file are only built for USE(CG) && !PLATFORM(MAC):
2105
2106         (WebCore::PDFDocumentImage::createPDFDocument):
2107         Factored out of dataChanged(). Use the PLATFORM(MAC) way of making a
2108         CGDataProvider from a SharedBuffer everywhere; we're already using it on
2109         iOS, and it should also work for Windows, the only other USE(CG) platform.
2110         Since we only createPDFDocument() after all data has been received, remove
2111         the comment about the SharedBuffer being secretly written to behind its back.
2112
2113         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
2114         Factored out of setCurrentPage().
2115         Use deg2rad since we have it.
2116
2117         (WebCore::PDFDocumentImage::pageCount):
2118         (WebCore::PDFDocumentImage::drawPDFPage):
2119         Factored out of draw().
2120         Reduced an unnecessary transform (we were effectively doing mediaBox.origin - cropBox.origin - mediaBox.origin).
2121
2122         * platform/graphics/cg/PDFDocumentImage.h:
2123         Unindent all the things, as we don't indent the first level inside a namespace scope.
2124         Forward-declare PDFDocument.
2125         Make m_currentPage unsigned as it should be.
2126         Add m_hasPage.
2127         Make m_document a PDFDocument on PLATFORM(MAC) and a CGPDFDocumentRef on other platforms.
2128
2129         * platform/graphics/mac/PDFDocumentImageMac.mm: Added.
2130         Soft-link in PDFKit and specifically the PDFDocument class.
2131
2132         (WebCore::PDFDocumentImage::createPDFDocument):
2133         Create our PDFDocument from the SharedBuffer's NSData directly. This shouldn't be a problem
2134         (with respect to the SharedBuffer's data being appended to in secret), because we've waited
2135         for the document to finish loading before getting here.
2136
2137         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
2138         Ask PDFKit for the page's media and crop boxes; it automatically performs the correct fallback.
2139         Ask PDFKit for the page's rotation.
2140
2141         (WebCore::PDFDocumentImage::pageCount):
2142         Ask PDFKit for the page count.
2143
2144         (WebCore::PDFDocumentImage::drawPDFPage):
2145         Paint the current page of the PDF. Note that we do not apply the rotation here
2146         via applyRotationForPainting because PDFKit will do it itself.
2147         Save and restore two bits of CG state which aren't saved and restored with the
2148         graphics state, as PDFKit can mutate them above us (<rdar://problem/14951759>).
2149
2150         * platform/mac/SoftLinking.h:
2151         I couldn't find any clients of SOFT_LINK_FRAMEWORK_IN_CORESERVICES_UMBRELLA,
2152         so I made it the more generic SOFT_LINK_FRAMEWORK_IN_UMBRELLA, taking the name
2153         of the umbrella framework and the subframework, so I could use it to soft link
2154         Quartz.framework's PDFKit.framework.
2155
2156 2013-09-10  Tim Horton  <timothy_horton@apple.com>
2157
2158         [mac] <progress> has rendering artifacts along the bottom
2159         https://bugs.webkit.org/show_bug.cgi?id=120865
2160         <rdar://problem/11571240>
2161
2162         Reviewed by Simon Fraser.
2163
2164         Allow RenderTheme to force the height of a <progress> bar.
2165
2166         Test: platform/mac/fast/forms/indeterminate-progress-inline-height.html
2167
2168         * rendering/RenderProgress.cpp:
2169         (WebCore::RenderProgress::computeLogicalHeight):
2170         Borrowed from RenderMeter, allow the theme to override the size of the progress bar.
2171
2172         * rendering/RenderProgress.h:
2173         Drive-by add OVERRIDE to a few things.
2174
2175         * rendering/RenderTheme.cpp:
2176         (WebCore::RenderTheme::progressBarRectForBounds):
2177         * rendering/RenderTheme.h:
2178         Add a default implementation of progressBarRectForBounds that just passes the bounds through.
2179
2180         * rendering/RenderThemeMac.h:
2181         * rendering/RenderThemeMac.mm:
2182         (WebCore::RenderThemeMac::progressBarRectForBounds):
2183         Override progressBarRectForBounds; the implementation is factored out of paintProgressBar.
2184
2185         (WebCore::RenderThemeMac::paintProgressBar):
2186         Make use of the factored-out progressBarRectForBounds().
2187
2188         Drive-by apply the device scale factor to the progress bar's image buffer,
2189         so that it is rendered at 2x on appropriate hardware. Also, multiply the
2190         progress animation phase by the device scale factor, as the phase value seems
2191         to be proportional to the actual pixel offset of the animation; without this,
2192         the animation would appear to progress half as slowly in HiDPI.
2193
2194 2013-09-10  Chris Fleizach  <cfleizach@apple.com>
2195
2196         AX: Expose DOM ID and ClassList to AX APIs for automation and AT element hashes
2197         https://bugs.webkit.org/show_bug.cgi?id=120552
2198
2199         Reviewed by Darin Adler.
2200
2201         Add Mac support for exposing the DOM ID and DOM class list so that accessibility
2202         clients can leverage that information.
2203
2204         Test: platform/mac/accessibility/id-class-attributes.html
2205
2206         * accessibility/AccessibilityObject.cpp:
2207         (WebCore::AccessibilityObject::domIdentifier):
2208         (WebCore::AccessibilityObject::domClassList):
2209         * accessibility/AccessibilityObject.h:
2210         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2211         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2212         (convertStringsToNSArray):
2213         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2214
2215 2013-09-10  Denis Nomiyama  <d.nomiyama@samsung.com>
2216
2217         [GTK] accessibility/loading-iframe-sends-notification.html is failing
2218         https://bugs.webkit.org/show_bug.cgi?id=98370
2219
2220         Reviewed by Chris Fleizach.
2221
2222         Enabled AXLayoutComplete on the GTK platform.
2223
2224         No new tests are required because this feature will use an existing
2225         accessibility layout test that is currently failing on the GTK+ platform
2226         (e.g. loading-iframe-sends-notification.html).
2227
2228         * accessibility/atk/AXObjectCacheAtk.cpp:
2229         (WebCore::AXObjectCache::postPlatformNotification): Send layout-complete
2230         signal in case of AXLayoutComplete.
2231         * dom/Document.cpp:
2232         (WebCore::Document::implicitClose): Enabled AXLayoutComplete on the GTK
2233         platform.
2234         * page/FrameView.cpp:
2235         (WebCore::FrameView::layout): Enabled AXLayoutComplete on the GTK
2236         platform.
2237
2238 2013-09-09  Brent Fulgham  <bfulgham@apple.com>
2239
2240         [Windows] Change from using OwnPtr<GDI Stuff> to new GDIObject template.
2241         https://bugs.webkit.org/show_bug.cgi?id=120778
2242
2243         Reviewed by Anders Carlsson.
2244
2245         Change code to use a GDI-specific smart pointer, rather than OwnPtr. This
2246         is a first step to simplifying OwnPtr. It also gets rid of some Windows-
2247         specific code in WTF.
2248
2249         * WebCore.vcxproj/WebCore.vcxproj: Add the new header file.
2250         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2251         * page/win/FrameCGWin.cpp:
2252         (WebCore::imageFromRect): Switch to GDIObject.
2253         * page/win/FrameCairoWin.cpp:
2254         (WebCore::imageFromRect): Switch to GDIObject.
2255         * page/win/FrameWin.cpp:
2256         (WebCore::imageFromSelection): Switch to GDIObject.
2257         (WebCore::Frame::dragImageForSelection): Ditto.
2258         (WebCore::Frame::nodeImage): Ditto.
2259         * page/win/FrameWin.h:
2260         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
2261         (WebCore::getDirtyRects): Switch from OwnPtr to GDIObject.
2262         * platform/graphics/win/FontCacheWin.cpp:
2263         (WebCore::createGDIFont): Switch to GDIObject.
2264         (WebCore::FontCache::createFontPlatformData): Ditto.
2265         * platform/graphics/win/FontCustomPlatformData.cpp:
2266         (WebCore::FontCustomPlatformData::fontPlatformData): Switch to GDIObject.
2267         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2268         (WebCore::FontCustomPlatformData::fontPlatformData): Switch to GDIObject.
2269         * platform/graphics/win/GraphicsContextCGWin.cpp:
2270         (WebCore::GraphicsContext::releaseWindowsContext): Switch to GDIObject.
2271         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2272         (WebCore::GraphicsContext::releaseWindowsContext): Switch to GDIObject.
2273         * platform/graphics/win/GraphicsContextWin.cpp:
2274         (WebCore::GraphicsContext::getWindowsContext): Switch to GDIObject.
2275         * platform/graphics/win/SimpleFontDataWin.cpp:
2276         (WebCore::SimpleFontData::platformCreateScaledFontData): Switch to GDIObject.
2277         * platform/win/CursorWin.cpp:
2278         (WebCore::createSharedCursor): Switch to GDIObject.
2279         * platform/win/DragImageCGWin.cpp:
2280         (WebCore::scaleDragImage): Switch to GDIObject.
2281         (WebCore::createDragImageFromImage):
2282         * platform/win/DragImageCairoWin.cpp: 
2283         (WebCore::scaleDragImage): Switch to GDIObject.
2284         (WebCore::createDragImageFromImage): Ditto.
2285         * platform/win/DragImageWin.cpp:
2286         (WebCore::createDragImageForLink): Switch to GDIObject.
2287         * platform/win/PasteboardWin.cpp:
2288         (WebCore::Pasteboard::writeImage): Switch to GDIObject.
2289         * platform/win/ScrollbarThemeWin.cpp:
2290         (WebCore::ScrollbarThemeWin::paintTrackPiece): Switch to GDIObject.
2291         * plugins/win/PluginViewWin.cpp:
2292         (WebCore::PluginView::updatePluginWidget): Switch to GDIObject.
2293         (WebCore::PluginView::snapshot): Ditto.
2294         * rendering/RenderThemeWin.cpp:
2295         (WebCore::drawControl): Switch to GDIObject.
2296
2297 2013-09-10  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2298
2299         REGRESSION (r147454): Youtube annotation links to new window broken
2300         https://bugs.webkit.org/show_bug.cgi?id=114242
2301
2302         Reviewed by Anders Carlsson.
2303
2304         Set the UserGestureIndicator to allow popups the same way the issue was solved for WebKit2.
2305
2306         * plugins/PluginView.cpp:
2307         (WebCore::PluginView::performRequest):
2308
2309 2013-09-10  Alberto Garcia  <berto@igalia.com>
2310
2311         [GTK] The code generator produces a warning if a parameter can be NULL
2312         https://bugs.webkit.org/show_bug.cgi?id=121093
2313
2314         Reviewed by Christophe Dumez.
2315
2316         Return an empty string instead of an undefined value if a
2317         particular parameter doesn't need to be checked.
2318
2319         * bindings/scripts/CodeGeneratorGObject.pm:
2320         (GetGReturnMacro):
2321
2322 2013-09-10  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2323
2324         MediaStream API: Enhance MediaStreamDescriptor add/remove component
2325         https://bugs.webkit.org/show_bug.cgi?id=120874
2326
2327         Merge blink https://chromium.googlesource.com/chromium/blink/+/67fcacf13ce922a762d7a1c6fb9e1b8e51e662ea
2328
2329         Reviewed by Eric Carlson.
2330
2331         No new tests needed.
2332
2333         * Modules/mediastream/MediaStream.cpp:
2334         (WebCore::MediaStream::addTrack):
2335         (WebCore::MediaStream::removeTrack):
2336         (WebCore::MediaStream::addRemoteTrack):
2337         (WebCore::MediaStream::removeRemoteTrack):
2338         * platform/mediastream/MediaStreamDescriptor.h:
2339         (WebCore::MediaStreamDescriptor::addRemoteTrack):
2340         (WebCore::MediaStreamDescriptor::removeRemoteTrack):
2341         (WebCore::MediaStreamDescriptor::addComponent):
2342         (WebCore::MediaStreamDescriptor::removeComponent):
2343
2344 2013-09-10  Andreas Kling  <akling@apple.com>
2345
2346         toFooElement() should use static_cast, not reinterpret_cast.
2347         <https://webkit.org/b/121087>
2348
2349         Reviewed by Antti Koivisto.
2350
2351         reinterpret_cast is not safe for downcasting with multiple inheritance.
2352         Add a ELEMENT_TYPE_CASTS(classname) macro that goes after class definitions.
2353         It expands into the following methods:
2354
2355             - FooElement* toFooElement(Node*)
2356             - const FooElement* toFooElement(const Node*)
2357             - FooElement& toFooElement(Node&)
2358             - const FooElement& toFooElement(const Node&)
2359
2360         As a bonus, it also adds these to catch unnecessary casting:
2361
2362             - void toFooElement(const Node*)
2363             - void toFooElement(const Node&)
2364
2365         There might be a more clever way of doing this, but this gets us to a
2366         correct place so we can think in peace.
2367
2368         * bridge/qt/qt_pixmapruntime.cpp:
2369         (JSC::Bindings::assignToHTMLImageElement):
2370         (JSC::Bindings::QtPixmapRuntime::toQt):
2371         * dom/Element.h:
2372         (WebCore::isElement):
2373         * dom/make_names.pl:
2374         (printTypeHelpers):
2375         * html/HTMLAnchorElement.h:
2376         * html/HTMLAreaElement.h:
2377         * html/HTMLAudioElement.h:
2378         * html/HTMLBaseElement.h:
2379         * html/HTMLCanvasElement.h:
2380         * html/HTMLElement.h:
2381         (WebCore::isHTMLElement):
2382         * html/HTMLFieldSetElement.h:
2383         * html/HTMLFormElement.h:
2384         * html/HTMLFrameSetElement.h:
2385         * html/HTMLImageElement.h:
2386         * html/HTMLInputElement.h:
2387         * html/HTMLLabelElement.h:
2388         * html/HTMLLegendElement.h:
2389         * html/HTMLMapElement.h:
2390         * html/HTMLMeterElement.h:
2391         * html/HTMLOptGroupElement.h:
2392         * html/HTMLOptionElement.h:
2393         * html/HTMLParamElement.h:
2394         * html/HTMLProgressElement.h:
2395         * html/HTMLScriptElement.h:
2396         * html/HTMLSourceElement.h:
2397         * html/HTMLStyleElement.h:
2398         * html/HTMLTableElement.h:
2399         * html/HTMLTableRowElement.h:
2400         * html/HTMLTextAreaElement.h:
2401         * html/HTMLTitleElement.h:
2402         * html/HTMLTrackElement.h:
2403         * svg/SVGAltGlyphDefElement.h:
2404         * svg/SVGAltGlyphElement.h:
2405         * svg/SVGAltGlyphItemElement.h:
2406         * svg/SVGAnimateMotionElement.h:
2407         * svg/SVGAnimateTransformElement.h:
2408         * svg/SVGCircleElement.h:
2409         * svg/SVGClipPathElement.h:
2410         * svg/SVGCursorElement.h:
2411         * svg/SVGEllipseElement.h:
2412         * svg/SVGFEDistantLightElement.h:
2413         * svg/SVGFEFuncAElement.h:
2414         * svg/SVGFEFuncBElement.h:
2415         * svg/SVGFEFuncGElement.h:
2416         * svg/SVGFEFuncRElement.h:
2417         * svg/SVGFEMergeNodeElement.h:
2418         * svg/SVGFEPointLightElement.h:
2419         * svg/SVGFESpotLightElement.h:
2420         * svg/SVGFilterElement.h:
2421         * svg/SVGFontElement.h:
2422         * svg/SVGFontFaceElement.h:
2423         * svg/SVGFontFaceNameElement.h:
2424         * svg/SVGFontFaceSrcElement.h:
2425         * svg/SVGFontFaceUriElement.h:
2426         * svg/SVGForeignObjectElement.h:
2427         * svg/SVGGlyphElement.h:
2428         * svg/SVGGlyphRefElement.h:
2429         * svg/SVGHKernElement.h:
2430         * svg/SVGImageElement.h:
2431         * svg/SVGLineElement.h:
2432         * svg/SVGLinearGradientElement.h:
2433         * svg/SVGMPathElement.h:
2434         * svg/SVGMarkerElement.h:
2435         * svg/SVGMaskElement.h:
2436         * svg/SVGMissingGlyphElement.h:
2437         * svg/SVGPathElement.h:
2438         * svg/SVGPatternElement.h:
2439         * svg/SVGRadialGradientElement.h:
2440         * svg/SVGRectElement.h:
2441         * svg/SVGSVGElement.h:
2442         * svg/SVGScriptElement.h:
2443         * svg/SVGStyleElement.h:
2444         * svg/SVGTextElement.h:
2445         * svg/SVGTextPathElement.h:
2446         * svg/SVGTitleElement.h:
2447         * svg/SVGUseElement.h:
2448         * svg/SVGVKernElement.h:
2449         * svg/SVGViewElement.h:
2450
2451 2013-09-10  Mario Sanchez Prada  <mario.prada@samsung.com>
2452
2453         [GTK] Test /webkit/atk/getTextInParagraphAndBodyModerate fails
2454         https://bugs.webkit.org/show_bug.cgi?id=105538
2455
2456         Reviewed by Chris Fleizach.
2457
2458         Expose '\n' for linebreaks when they were explicitly set by the
2459         author of the web content with a <br> tag.
2460
2461         Tests: accessibility/paragraph-with-linebreaks.html
2462
2463         * accessibility/AccessibilityNodeObject.cpp:
2464         (WebCore::shouldAddSpaceBeforeAppendingNextElement): Helper
2465         function to decide when to append spaces when building the text
2466         under an element, considering line breaks.
2467         (WebCore::AccessibilityNodeObject::textUnderElement): Use the
2468         shouldAddSpaceBeforeAppendingNextElement() function here.
2469         * accessibility/AccessibilityRenderObject.cpp:
2470         (WebCore::AccessibilityRenderObject::textUnderElement): Return the
2471         renderer's text for accessibility objects exposing <br> elements.
2472         * html/parser/HTMLParserIdioms.h:
2473         (WebCore::isHTMLSpaceButNotLineBreak): New helper function, useful
2474         to be passed to other functions like simplifyWhiteSpace().
2475
2476 2013-09-10  Arpita Bahuguna  <a.bah@samsung.com>
2477
2478         When deleting editable content, typing style should be reset when moving into another node.
2479         https://bugs.webkit.org/show_bug.cgi?id=120726
2480
2481         Reviewed by Ryosuke Niwa.
2482
2483         When moving from one text node to the other, while deleting characters,
2484         the deleted text node's style was being applied to any new characters
2485         added into the existing text node.
2486
2487         Typing Style in the frame selection maintains the editing style for the
2488         deleted text node, so that if new characters are inserted at the position
2489         of the deleted text node, it's style can be applied to them.
2490
2491         However, when moving into another text node, we should reset or clear the
2492         typing style maintained by the frame selection. This ensures that any new
2493         content inserted within the existing node does not take on any uncleared
2494         style of the deleted node.
2495
2496         Test: editing/deleting/maintain-style-after-delete.html
2497
2498         * editing/DeleteSelectionCommand.cpp:
2499         (WebCore::DeleteSelectionCommand::saveTypingStyleState):
2500         Calling clearTypingStyle() on frame selection whenever deletion occurs
2501         within the same text node. Thus any existing typing styleh held by the
2502         frame selection shall be cleared.
2503
2504 2013-09-09  Darin Adler  <darin@apple.com>
2505
2506         Some refinements in FrameView::layout
2507         https://bugs.webkit.org/show_bug.cgi?id=121076
2508
2509         Reviewed by Andreas Kling.
2510
2511         * page/FrameView.cpp:
2512         (WebCore::FrameView::layout): Use a reference for the document in
2513         this function since code assumes it's non-null anyway. Change code to
2514         only call styleResolverIfExists once. Rewrite comments about blocks
2515         and the scopes they create for better clarity. Make m_nestedLayoutCount
2516         easier to read. Use HTMLElement* for the pointer to the body element.
2517         Moved the call to calculateScrollbarModesForLayout in so we don't
2518         waste time doing it for subtree layouts. Get rid of the unhelpful
2519         currentHMode and currentVMode local variables. Get rid of an extra
2520         block scope we did not need.
2521
2522 2013-09-09  Santosh Mahto  <santosh.ma@samsung.com>
2523
2524         Adding "explicit" keyword in DOM related classes constructor
2525         https://bugs.webkit.org/show_bug.cgi?id=121031
2526
2527         Reviewed by Ryosuke Niwa.
2528
2529         Added the explicit keyword in constructors.
2530
2531         * dom/ActiveDOMObject.h:
2532         * dom/ContainerNode.h:
2533         * dom/DocumentStyleSheetCollection.h:
2534         * dom/ElementAncestorIterator.h:
2535         * dom/ElementData.h:
2536         * dom/ElementRareData.h:
2537         * dom/EventListenerMap.h:
2538         * dom/QualifiedName.h:
2539         (WebCore::QualifiedName::QualifiedName):
2540         * dom/TreeScope.h:
2541         * dom/ViewportArguments.h:
2542         (WebCore::ViewportArguments::ViewportArguments):
2543         * dom/VisitedLinkState.h:
2544
2545 2013-09-09  Andreas Kling  <akling@apple.com>
2546
2547         Remove unreviewed gunk I just accidentally committed :|
2548
2549 2013-09-09  Andreas Kling  <akling@apple.com>
2550
2551         HTMLTextAreaElement no longer needs custom style resolve callbacks.
2552         <https://webkit.org/b/121073>
2553
2554         Reviewed by Ryosuke Niwa.
2555
2556         After r155408 HTMLTextAreaElement doesn't override didAttachRenderer() anymore,
2557         so we don't need to fire callbacks on textarea elements during style resolve.
2558
2559         * html/HTMLTextAreaElement.cpp:
2560         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
2561
2562 2013-09-09  Andreas Kling  <akling@apple.com>
2563
2564         ScriptController should have a Frame& internally.
2565         <https://webkit.org/b/121071>
2566
2567         Reviewed by Anders Carlsson.
2568
2569         Change ScriptController::m_frame to a reference since it's tied to
2570         the lifetime of the owning Frame.
2571
2572 2013-09-09  Andreas Kling  <akling@apple.com>
2573
2574         ScriptRunner should have a Document& internally.
2575         <https://webkit.org/b/121072>
2576
2577         Reviewed by Anders Carlsson.
2578
2579         Change ScriptRunner::m_document to a reference since it's tied to
2580         the lifetime of the Document.
2581
2582 2013-09-09  Andreas Kling  <akling@apple.com>
2583
2584         Ref-ify more stack guards.
2585         <https://webkit.org/b/121070>
2586
2587         Rubber-stamped by Anders Carlsson.
2588
2589         RefPtr<Foo> protect(this) => Ref<Foo> protect(*this).
2590
2591 2013-09-09  Andreas Kling  <akling@apple.com>
2592
2593         Generate more SVG type checks and conversions.
2594         <https://webkit.org/b/121066>
2595
2596         Reviewed by Anders Carlsson.
2597
2598         Switch another slew of SVG elements to auto-generated isFooElement()
2599         and toFooElement() helpers.
2600
2601         Removed now-unnecessary casts and assertions as appropriate.
2602         Converted some simple loops to childrenOfType iteration instead of
2603         traversing child Nodes.
2604
2605         PS. This patch also adds const versions of toFooElement().
2606
2607 2013-09-09  Dean Jackson  <dino@apple.com>
2608
2609         [WebGL] Allow multithreaded OpenGL contexts
2610         https://bugs.webkit.org/show_bug.cgi?id=121062
2611
2612         Reviewed by Simon Fraser.
2613
2614         Expose a new preference "multithreadedWebGLEnabled".
2615
2616         Also examine the value of that preference and, on Mac,
2617         tell the CGLContext that it should go to multithreaded mode.
2618
2619         * html/canvas/WebGLRenderingContext.cpp:
2620         (WebCore::WebGLRenderingContext::create): Look at the value of the new setting, and
2621         toggle a flag on the context attributes.
2622         * page/Settings.in: New Setting "multithreadedWebGLEnabled".
2623         * platform/graphics/GraphicsContext3D.h:
2624         (WebCore::GraphicsContext3D::Attributes::Attributes): Add a "multithreaded" flag.
2625         * platform/graphics/mac/GraphicsContext3DMac.mm:
2626         (WebCore::GraphicsContext3D::GraphicsContext3D): If the context attributes
2627         suggest we should, tell the OpenGL context to go into multithreaded mode.
2628
2629 2013-09-09  Ryosuke Niwa  <rniwa@webkit.org>
2630
2631         Remove HTMLTextFormControl::fixPlaceholderRenderer
2632         https://bugs.webkit.org/show_bug.cgi?id=121058
2633
2634         Reviewed by Kent Tamura.
2635
2636         HTMLTextFormControl::fixPlaceholderRenderer was added in r118733 to swap the order in which placeholder appears.
2637         Namely, when a text form control element is focused, placeholder should be rendered behind the text for the caret
2638         to render on top of, not behind, the placeholder text.  However, we can achieve the same effect by changing
2639         the order of elements in the shadow DOM instead of manually manipuating the render tree as the assertion failure
2640         mentioned in the change log is a bogus one.
2641
2642         Cleaned up the code by removing HTMLTextFormControl::fixPlaceholderRenderer and changed the order in which inner
2643         text element and placeholder element appear. Also fixed the assertion in Position's constructor.
2644
2645         * dom/Position.cpp:
2646         (WebCore::Position::Position): The original assertion was bogus. What we don't want have is for a Position to be
2647         before or after a shadow root. It's fine for it be anchroed against the shadow root as long as it's inside.
2648
2649         * html/HTMLTextAreaElement.cpp:
2650         (WebCore::HTMLTextAreaElement::updatePlaceholderText): Insert the placeholder before the inner text element.
2651         * html/HTMLTextAreaElement.h:
2652         * html/HTMLTextFormControlElement.cpp:
2653         * html/HTMLTextFormControlElement.h:
2654         * html/TextFieldInputType.cpp:
2655         (WebCore::TextFieldInputType::updatePlaceholderText): Ditto.
2656         * html/TextFieldInputType.h:
2657
2658 2013-09-09  Andreas Kling  <akling@apple.com>
2659
2660         Hide node() below RenderSVGModelObject, use element() instead.
2661         <https://webkit.org/b/121051>
2662
2663         Reviewed by Darin Adler.
2664
2665         This was almost already there, just delete node() and add an element() that returns a SVGElement*.
2666         The SVG render tree is crazy casual about compile-time types, this is only scratching the surface.
2667
2668 2013-09-09  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2669
2670         Fixing EFL build
2671         https://bugs.webkit.org/show_bug.cgi?id=121048
2672
2673         Reviewed by Darin Adler.
2674
2675         No new tests needed.
2676
2677         * platform/efl/RenderThemeEfl.cpp:
2678         (WebCore::RenderThemeEfl::applyEdjeRTLState):
2679
2680 2013-09-09  Bem Jones-Bey  <bjonesbe@adobe.com>
2681
2682         Move Floats out of RenderBlock
2683         https://bugs.webkit.org/show_bug.cgi?id=120779
2684
2685         Reviewed by Alexandru Chiculita.
2686
2687         Move FloatingObject, FloatingObjects and related code into
2688         FloatingObjects.{h,cpp}. This not only makes the code more readable
2689         and maintainable, it also will allow for more decoupling of
2690         RenderBlock and the FloatingObjects, hopefully making it possible for
2691         FloatingObjects to be more central and not need to have one for each
2692         RenderBlock that is affected by floats.
2693
2694         No new tests, no behavior change.
2695
2696         * CMakeLists.txt:
2697         * GNUmakefile.list.am:
2698         * Target.pri:
2699         * WebCore.vcxproj/WebCore.vcxproj:
2700         * WebCore.xcodeproj/project.pbxproj:
2701         * rendering/FloatingObjects.cpp: Added.
2702         (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
2703         (WebCore::ComputeFloatOffsetAdapter::lowValue):
2704         (WebCore::ComputeFloatOffsetAdapter::highValue):
2705         (WebCore::ComputeFloatOffsetAdapter::outermostFloat):
2706         (WebCore::FloatingObjects::FloatingObjects):
2707         (WebCore::FloatingObjects::~FloatingObjects):
2708         (WebCore::FloatingObjects::clearLineBoxTreePointers):
2709         (WebCore::FloatingObjects::clear):
2710         (WebCore::FloatingObjects::increaseObjectsCount):
2711         (WebCore::FloatingObjects::decreaseObjectsCount):
2712         (WebCore::FloatingObjects::intervalForFloatingObject):
2713         (WebCore::FloatingObjects::addPlacedObject):
2714         (WebCore::FloatingObjects::removePlacedObject):
2715         (WebCore::FloatingObjects::add):
2716         (WebCore::FloatingObjects::remove):
2717         (WebCore::FloatingObjects::computePlacedFloatsTree):
2718         (WebCore::FloatingObjects::logicalLeftOffset):
2719         (WebCore::FloatingObjects::logicalRightOffset):
2720         (WebCore::rangesIntersect):
2721         (WebCore::::updateOffsetIfNeeded):
2722         (WebCore::::collectIfNeeded):
2723         (WebCore::::getHeightRemaining):
2724         (WebCore::::string):
2725         * rendering/FloatingObjects.h: Added.
2726         (WebCore::FloatingObject::FloatingObject):
2727         (WebCore::FloatingObject::clone):
2728         (WebCore::FloatingObject::type):
2729         (WebCore::FloatingObject::renderer):
2730         (WebCore::FloatingObject::isPlaced):
2731         (WebCore::FloatingObject::setIsPlaced):
2732         (WebCore::FloatingObject::x):
2733         (WebCore::FloatingObject::maxX):
2734         (WebCore::FloatingObject::y):
2735         (WebCore::FloatingObject::maxY):
2736         (WebCore::FloatingObject::width):
2737         (WebCore::FloatingObject::height):
2738         (WebCore::FloatingObject::setX):
2739         (WebCore::FloatingObject::setY):
2740         (WebCore::FloatingObject::setWidth):
2741         (WebCore::FloatingObject::setHeight):
2742         (WebCore::FloatingObject::frameRect):
2743         (WebCore::FloatingObject::setFrameRect):
2744         (WebCore::FloatingObject::paginationStrut):
2745         (WebCore::FloatingObject::setPaginationStrut):
2746         (WebCore::FloatingObject::isInPlacedTree):
2747         (WebCore::FloatingObject::setIsInPlacedTree):
2748         (WebCore::FloatingObject::shouldPaint):
2749         (WebCore::FloatingObject::setShouldPaint):
2750         (WebCore::FloatingObject::isDescendant):
2751         (WebCore::FloatingObject::setIsDescendant):
2752         (WebCore::FloatingObject::setRenderer):
2753         (WebCore::FloatingObject::originatingLine):
2754         (WebCore::FloatingObject::setOriginatingLine):
2755         (WebCore::FloatingObject::logicalTop):
2756         (WebCore::FloatingObject::logicalBottom):
2757         (WebCore::FloatingObject::logicalLeft):
2758         (WebCore::FloatingObject::logicalRight):
2759         (WebCore::FloatingObject::logicalWidth):
2760         (WebCore::FloatingObject::pixelSnappedLogicalTop):
2761         (WebCore::FloatingObject::pixelSnappedLogicalBottom):
2762         (WebCore::FloatingObject::pixelSnappedLogicalLeft):
2763         (WebCore::FloatingObject::pixelSnappedLogicalRight):
2764         (WebCore::FloatingObject::setLogicalTop):
2765         (WebCore::FloatingObject::setLogicalLeft):
2766         (WebCore::FloatingObject::setLogicalHeight):
2767         (WebCore::FloatingObject::setLogicalWidth):
2768         (WebCore::FloatingObjectHashFunctions::hash):
2769         (WebCore::FloatingObjectHashFunctions::equal):
2770         (WebCore::FloatingObjectHashTranslator::hash):
2771         (WebCore::FloatingObjectHashTranslator::equal):
2772         (WebCore::FloatingObjects::setHorizontalWritingMode):
2773         (WebCore::FloatingObjects::hasLeftObjects):
2774         (WebCore::FloatingObjects::hasRightObjects):
2775         (WebCore::FloatingObjects::set):
2776         (WebCore::FloatingObjects::placedFloatsTree):
2777         * rendering/RenderBlock.cpp:
2778         (WebCore::RenderBlock::RenderBlock):
2779         (WebCore::RenderBlock::insertFloatingObject):
2780         * rendering/RenderBlock.h:
2781         * rendering/RenderBlockLineLayout.cpp:
2782         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2783         (WebCore::LineLayoutState::lastFloat):
2784         (WebCore::LineLayoutState::setLastFloat):
2785         * rendering/RenderView.cpp:
2786         (WebCore::RenderView::intervalArena):
2787
2788 2013-09-09  David Hyatt  <hyatt@apple.com>
2789
2790         REGRESSION (r155377): Convert the media elements that were RenderBlocks to RenderBlockFlows
2791         https://bugs.webkit.org/show_bug.cgi?id=121052
2792
2793         Reviewed by Anders Carlsson.
2794
2795         Convert a couple of media renderers that I missed from RenderBlock to RenderBlockFlow.
2796         The previous patch that I landed added asserts that get triggered now when this
2797         situation occurs.
2798
2799         * rendering/RenderMediaControlElements.cpp:
2800         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
2801         (WebCore::RenderMediaVolumeSliderContainer::layout):
2802         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
2803         (WebCore::RenderTextTrackContainerElement::layout):
2804         * rendering/RenderMediaControlElements.h:
2805
2806 2013-09-09  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2807
2808         [Bug Fix] Calling m_audioComponents.remove in removeAudioComponent (MediaStreamDescriptor)
2809         https://bugs.webkit.org/show_bug.cgi?id=121034
2810
2811         Reviewed by Eric Carlson.
2812
2813         No new tests needed.
2814
2815         * platform/mediastream/MediaStreamDescriptor.h:
2816         (WebCore::MediaStreamDescriptor::removeAudioComponent):
2817
2818 2013-09-09  Anders Carlsson  <andersca@apple.com>
2819
2820         Stop using WTF type traits in WebCore
2821         https://bugs.webkit.org/show_bug.cgi?id=121042
2822
2823         Reviewed by Andreas Kling.
2824
2825         Replace uses of WTF type traits in CrossThreadCopier with a simpler solution
2826         that uses std::is_convertible_to and some helpers.
2827
2828         * dom/CrossThreadTask.h:
2829         * platform/CrossThreadCopier.h:
2830         * platform/MainThreadTask.h:
2831
2832 2013-09-06  Ryosuke Niwa  <rniwa@webkit.org>
2833
2834         Internals should always cause a layout before calling into TextIterator
2835         https://bugs.webkit.org/show_bug.cgi?id=120891
2836
2837         Reviewed by Antti Koivisto.
2838
2839         Inspired by https://chromium.googlesource.com/chromium/blink/+/5fee5da7b04a710171c79bd6e87eca3533188e45.
2840
2841         Force a layout in the constructors of TextIterator, and SimplifiedBackwardsTextIterator and remove
2842         superfluous calls to updateLayout() in other places.
2843
2844         As much as I hate for a constructor to have a side effect like this, I couldn't think of a better place
2845         to update the layout. Unfortunately, we're slowly moving away from manually createing TextIterator and
2846         wrapping them in a static function.
2847
2848         * editing/TextIterator.cpp:
2849         (WebCore::TextIterator::TextIterator):
2850         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
2851         (WebCore::TextIterator::rangeFromLocationAndLength):
2852         (WebCore::findPlainText):
2853
2854 2013-09-09  David Hyatt  <hyatt@apple.com>
2855
2856         Move layoutBlock and layoutBlockChildren into RenderBlockFlow
2857         https://bugs.webkit.org/show_bug.cgi?id=121036
2858
2859         Reviewed by Dean Jackson.
2860
2861         Move layoutBlock into RenderBlockFlow and make the base class version of
2862         the method ASSERT_NOT_REACHED. Begin the process of moving block layout 
2863         into RenderBlockFlow by putting layoutBlockChildren there as well.
2864         
2865         This patch also puts clearFloats into RenderBlockFlow and just ditches the
2866         SVG-specific forceLayoutInlineChildren by letting RenderSVGText do what it
2867         needs in its own file.
2868
2869         Convert RenderListBox to be a RenderBlockFlow, since this is necessary for it
2870         to get the correct layoutBlock method.
2871         
2872         Patch RenderRegion to call RenderBlockFlow::layoutBlock rather than RenderBlock::layoutBlock.
2873         
2874         Fix run-ins so that they create block flows rather than blocks, and restrict run-ins to
2875         only be block flows.
2876
2877         * rendering/RenderBlock.cpp:
2878         (WebCore::RenderBlock::layoutBlock):
2879         (WebCore::RenderBlock::createReplacementRunIn):
2880         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
2881         * rendering/RenderBlock.h:
2882         * rendering/RenderBlockFlow.cpp:
2883         (WebCore::RenderBlockFlow::clearFloats):
2884         (WebCore::RenderBlockFlow::layoutBlock):
2885         (WebCore::RenderBlockFlow::layoutBlockChildren):
2886         * rendering/RenderBlockFlow.h:
2887         * rendering/RenderBlockLineLayout.cpp:
2888         (WebCore::RenderBlockFlow::layoutInlineChildren):
2889         * rendering/RenderListBox.cpp:
2890         (WebCore::RenderListBox::RenderListBox):
2891         (WebCore::RenderListBox::layout):
2892         (WebCore::RenderListBox::paintObject):
2893         (WebCore::RenderListBox::addFocusRingRects):
2894         (WebCore::RenderListBox::nodeAtPoint):
2895         * rendering/RenderListBox.h:
2896         * rendering/RenderRegion.cpp:
2897         (WebCore::RenderRegion::paintObject):
2898         (WebCore::RenderRegion::styleDidChange):
2899         (WebCore::RenderRegion::layoutBlock):
2900         (WebCore::RenderRegion::insertedIntoTree):
2901         (WebCore::RenderRegion::willBeRemovedFromTree):
2902         (WebCore::RenderRegion::computeIntrinsicLogicalWidths):
2903         (WebCore::RenderRegion::computePreferredLogicalWidths):
2904         (WebCore::RenderRegion::updateLogicalHeight):
2905         * rendering/RenderTextControlSingleLine.cpp:
2906         (WebCore::RenderTextControlSingleLine::layout):
2907         * rendering/svg/RenderSVGText.cpp:
2908         (WebCore::RenderSVGText::layout):
2909
2910 2013-09-09  Antti Koivisto  <antti@apple.com>
2911
2912         Try to fix GTK build.
2913         
2914         Not reviewed.
2915
2916         * accessibility/AccessibilityTable.cpp:
2917         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2918
2919 2013-09-09  Antti Koivisto  <antti@apple.com>
2920
2921         Hide node() below RenderLayerModelObject, use element() instead
2922         https://bugs.webkit.org/show_bug.cgi?id=121038
2923
2924         Reviewed by Dave Hyatt.
2925
2926         Switch all call sites to element(). Remove now unnecessary casts, type checks and dead code.
2927         Make constructors below RenderLayerModelObject take an Element instead of a ContainerNode.
2928         
2929         This also removes a branch from many hasTagName() and isFooElement() calls.
2930
2931         * accessibility/AccessibilityRenderObject.cpp:
2932         (WebCore::startOfContinuations):
2933         * accessibility/AccessibilityTable.cpp:
2934         (WebCore::AccessibilityTable::isDataTable):
2935         * accessibility/AccessibilityTableCell.cpp:
2936         (WebCore::AccessibilityTableCell::titleUIElement):
2937         * accessibility/AccessibilityTableColumn.cpp:
2938         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2939         * editing/markup.cpp:
2940         (WebCore::highestAncestorToWrapMarkup):
2941         * html/HTMLTableCellElement.cpp:
2942         (WebCore::HTMLTableCellElement::cellAbove):
2943         * html/shadow/SliderThumbElement.cpp:
2944         (WebCore::RenderSliderThumb::updateAppearance):
2945         (WebCore::RenderSliderContainer::computeLogicalHeight):
2946         (WebCore::RenderSliderContainer::layout):
2947         * page/Frame.cpp:
2948         (WebCore::Frame::frameForWidget):
2949         * rendering/RenderBlock.cpp:
2950         (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
2951         (WebCore::RenderBlock::RenderBlock):
2952         (WebCore::RenderBlock::clone):
2953         (WebCore::RenderBlock::createReplacementRunIn):
2954         (WebCore::RenderBlock::paintObject):
2955         (WebCore::RenderBlock::isSelectionRoot):
2956         (WebCore::RenderBlock::nodeForHitTest):
2957         (WebCore::RenderBlock::hasLineIfEmpty):
2958         (WebCore::RenderBlock::addFocusRingRects):
2959         * rendering/RenderBlock.h:
2960         * rendering/RenderBlockFlow.cpp:
2961         (WebCore::RenderBlockFlow::RenderBlockFlow):
2962         * rendering/RenderBlockFlow.h:
2963         * rendering/RenderBlockLineLayout.cpp:
2964         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2965         * rendering/RenderBox.cpp:
2966         (WebCore::RenderBox::RenderBox):
2967         (WebCore::RenderBox::updateFromStyle):
2968         (WebCore::RenderBox::scroll):
2969         (WebCore::RenderBox::logicalScroll):
2970         (WebCore::RenderBox::canBeProgramaticallyScrolled):
2971         (WebCore::RenderBox::nodeAtPoint):
2972         (WebCore::RenderBox::paintCustomHighlight):
2973         (WebCore::RenderBox::computeLogicalWidthInRegion):
2974         (WebCore::RenderBox::sizesLogicalWidthToFitContent):
2975         (WebCore::RenderBox::localCaretRect):
2976         * rendering/RenderBox.h:
2977         * rendering/RenderBoxModelObject.cpp:
2978         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
2979         * rendering/RenderBoxModelObject.h:
2980         * rendering/RenderButton.cpp:
2981         (WebCore::RenderButton::updateFromElement):
2982         (WebCore::RenderButton::canHaveGeneratedChildren):
2983         * rendering/RenderButton.h:
2984         * rendering/RenderEmbeddedObject.cpp:
2985         (WebCore::RenderEmbeddedObject::paintContents):
2986         (WebCore::RenderEmbeddedObject::isReplacementObscured):
2987         (WebCore::RenderEmbeddedObject::layout):
2988         (WebCore::RenderEmbeddedObject::viewCleared):
2989         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2990         * rendering/RenderFileUploadControl.cpp:
2991         (WebCore::RenderFileUploadControl::updateFromElement):
2992         (WebCore::RenderFileUploadControl::maxFilenameWidth):
2993         (WebCore::RenderFileUploadControl::paintObject):
2994         (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
2995         (WebCore::RenderFileUploadControl::uploadButton):
2996         (WebCore::RenderFileUploadControl::fileTextValue):
2997         * rendering/RenderFrame.cpp:
2998         (WebCore::RenderFrame::edgeInfo):
2999         (WebCore::RenderFrame::viewCleared):
3000         * rendering/RenderFrameBase.cpp:
3001         (WebCore::RenderFrameBase::layoutWithFlattening):
3002         * rendering/RenderFrameSet.cpp:
3003         (WebCore::RenderFrameSet::frameSet):
3004         * rendering/RenderHTMLCanvas.cpp:
3005         (WebCore::RenderHTMLCanvas::requiresLayer):
3006         (WebCore::RenderHTMLCanvas::paintReplaced):
3007         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
3008         * rendering/RenderIFrame.cpp:
3009         (WebCore::RenderIFrame::isSeamless):
3010         (WebCore::RenderIFrame::flattenFrame):
3011         * rendering/RenderImage.cpp:
3012         (WebCore::RenderImage::imageChanged):
3013         (WebCore::RenderImage::paintAreaElementFocusRing):
3014         (WebCore::RenderImage::areaElementFocusChanged):
3015         (WebCore::RenderImage::paintIntoRect):
3016         (WebCore::RenderImage::imageMap):
3017         (WebCore::RenderImage::nodeAtPoint):
3018         (WebCore::RenderImage::updateAltText):
3019         * rendering/RenderInline.cpp:
3020         (WebCore::RenderInline::clone):
3021         (WebCore::RenderInline::hitTestCulledInline):
3022         (WebCore::RenderInline::updateHitTestResult):
3023         * rendering/RenderInline.h:
3024         * rendering/RenderLayer.cpp:
3025         (WebCore::RenderLayer::RenderLayer):
3026         (WebCore::RenderLayer::~RenderLayer):
3027         (WebCore::RenderLayer::name):
3028         (WebCore::RenderLayer::isTransparent):
3029         (WebCore::RenderLayer::scrollTo):
3030         (WebCore::RenderLayer::resize):
3031         (WebCore::RenderLayer::filterNeedsRepaint):
3032         * rendering/RenderLayerBacking.cpp:
3033         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3034         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3035         * rendering/RenderLayerCompositor.cpp:
3036         (WebCore::RenderLayerCompositor::frameContentsCompositor):
3037         * rendering/RenderLayerFilterInfo.cpp:
3038         (WebCore::RenderLayer::FilterInfo::notifyFinished):
3039         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
3040         (WebCore::RenderLayer::FilterInfo::notifyCustomFilterProgramLoaded):
3041         * rendering/RenderLayerModelObject.cpp:
3042         (WebCore::RenderLayerModelObject::RenderLayerModelObject):
3043         * rendering/RenderLayerModelObject.h:
3044         (WebCore::RenderLayerModelObject::element):
3045         * rendering/RenderListBox.cpp:
3046         (WebCore::RenderListBox::selectElement):
3047         (WebCore::RenderListBox::paintItemForeground):
3048         (WebCore::RenderListBox::paintItemBackground):
3049         (WebCore::RenderListBox::scrollTo):
3050         (WebCore::RenderListBox::createScrollbar):
3051         * rendering/RenderListItem.cpp:
3052         (WebCore::isList):
3053         (WebCore::enclosingList):
3054         (WebCore::nextListItem):
3055         (WebCore::previousListItem):
3056         (WebCore::RenderListItem::calcValue):
3057         (WebCore::RenderListItem::explicitValueChanged):
3058         (WebCore::RenderListItem::setExplicitValue):
3059         (WebCore::RenderListItem::clearExplicitValue):
3060         (WebCore::previousOrNextItem):
3061         (WebCore::RenderListItem::updateListMarkerNumbers):
3062         * rendering/RenderMarquee.cpp:
3063         (WebCore::RenderMarquee::marqueeSpeed):
3064         * rendering/RenderMedia.cpp:
3065         (WebCore::RenderMedia::mediaElement):
3066         * rendering/RenderMediaControlElements.cpp:
3067         (WebCore::RenderMediaControlTimelineContainer::layout):
3068         (WebCore::RenderTextTrackContainerElement::layout):
3069         * rendering/RenderMenuList.cpp:
3070         (WebCore::RenderMenuList::selectElement):
3071         (WebCore::RenderMenuList::valueChanged):
3072         (WebCore::RenderMenuList::createScrollbar):
3073         * rendering/RenderMeter.cpp:
3074         (WebCore::RenderMeter::meterElement):
3075         * rendering/RenderPart.cpp:
3076         (WebCore::RenderPart::requiresAcceleratedCompositing):
3077         (WebCore::RenderPart::embeddedContentBox):
3078         * rendering/RenderProgress.cpp:
3079         (WebCore::RenderProgress::progressElement):
3080         * rendering/RenderReplaced.cpp:
3081         (WebCore::RenderReplaced::positionForPoint):
3082         (WebCore::RenderReplaced::isSelected):
3083         * rendering/RenderSearchField.cpp:
3084         (WebCore::RenderSearchField::autosaveName):
3085         (WebCore::RenderSearchField::createScrollbar):
3086         * rendering/RenderSlider.cpp:
3087         (WebCore::RenderSlider::layout):
3088         (WebCore::RenderSlider::inDragMode):
3089         * rendering/RenderSnapshottedPlugIn.cpp:
3090         (WebCore::RenderSnapshottedPlugIn::plugInImageElement):
3091         * rendering/RenderTable.cpp:
3092         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
3093         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
3094         (WebCore::RenderTable::nodeAtPoint):
3095         * rendering/RenderTableCell.cpp:
3096         (WebCore::RenderTableCell::parseColSpanFromDOM):
3097         (WebCore::RenderTableCell::parseRowSpanFromDOM):
3098         (WebCore::RenderTableCell::updateColAndRowSpanFlags):
3099         (WebCore::RenderTableCell::colSpanOrRowSpanChanged):
3100         (WebCore::RenderTableCell::computePreferredLogicalWidths):
3101         * rendering/RenderTableCol.cpp:
3102         (WebCore::RenderTableCol::updateFromElement):
3103         * rendering/RenderTextControl.cpp:
3104         (WebCore::RenderTextControl::textFormControlElement):
3105         (WebCore::RenderTextControl::adjustInnerTextStyle):
3106         (WebCore::RenderTextControl::updateFromElement):
3107         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
3108         * rendering/RenderTextControlMultiLine.cpp:
3109         (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine):
3110         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
3111         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
3112         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
3113         * rendering/RenderTextControlSingleLine.cpp:
3114         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3115         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
3116         (WebCore::RenderTextControlSingleLine::textShouldBeTruncated):
3117         (WebCore::RenderTextControlSingleLine::inputElement):
3118         * rendering/RenderThemeMac.mm:
3119         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
3120         * rendering/RenderTreeAsText.cpp:
3121         (WebCore::writeRenderRegionList):
3122         * rendering/RenderVideo.cpp:
3123         (WebCore::RenderVideo::updateIntrinsicSize):
3124         (WebCore::RenderVideo::videoElement):
3125         * rendering/RenderWidget.cpp:
3126         (WebCore::RenderWidget::setWidgetGeometry):
3127         (WebCore::RenderWidget::updateWidgetPosition):
3128         (WebCore::RenderWidget::nodeAtPoint):
3129         * rendering/mathml/RenderMathMLFenced.cpp:
3130         (WebCore::RenderMathMLFenced::updateFromElement):
3131         (WebCore::RenderMathMLFenced::createMathMLOperator):
3132         (WebCore::RenderMathMLFenced::styleDidChange):
3133         * rendering/mathml/RenderMathMLFraction.cpp:
3134         (WebCore::RenderMathMLFraction::updateFromElement):
3135         * rendering/mathml/RenderMathMLOperator.cpp:
3136         (WebCore::RenderMathMLOperator::updateFromElement):
3137         (WebCore::RenderMathMLOperator::createGlyph):
3138         * rendering/mathml/RenderMathMLSpace.cpp:
3139         (WebCore::RenderMathMLSpace::updateFromElement):
3140         * rendering/svg/RenderSVGForeignObject.cpp:
3141         (WebCore::RenderSVGForeignObject::layout):
3142         * rendering/svg/RenderSVGRoot.cpp:
3143         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
3144         (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
3145         (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument):
3146         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
3147         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
3148         (WebCore::RenderSVGRoot::layout):
3149         (WebCore::RenderSVGRoot::paintReplaced):
3150         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
3151         (WebCore::RenderSVGRoot::nodeAtPoint):
3152         (WebCore::RenderSVGRoot::hasRelativeDimensions):
3153         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
3154         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
3155         * rendering/svg/RenderSVGText.cpp:
3156         (WebCore::RenderSVGText::layout):
3157         (WebCore::RenderSVGText::strokeBoundingBox):
3158         * rendering/svg/RenderSVGTextPath.cpp:
3159         (WebCore::RenderSVGTextPath::layoutPath):
3160         (WebCore::RenderSVGTextPath::startOffset):
3161         (WebCore::RenderSVGTextPath::exactAlignment):
3162         (WebCore::RenderSVGTextPath::stretchMethod):
3163
3164 2013-09-09  Antti Koivisto  <antti@apple.com>
3165
3166         Make RenderView anonymous
3167         https://bugs.webkit.org/show_bug.cgi?id=121013
3168
3169         Reviewed by Darin Adler and Dave Hyatt.
3170
3171         RenderView is currently the only renderer that has an associated Node that is not either Element or Text.
3172         By making it anonymous (not have associated node, RenderView::node() returns null) we will be able to 
3173         significantly tighten typing in both render and DOM trees.
3174
3175         * accessibility/AccessibilityRenderObject.cpp:
3176         (WebCore::AccessibilityRenderObject::node):
3177         
3178             We need to grab document() instead of node() in a few places for RenderViews to keep existing code
3179             behaving like it did.
3180
3181         * inspector/InspectorLayerTreeAgent.cpp:
3182         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
3183         
3184             Don't tell inspector that the root layer is anonymous for now to avoid changing behavior.
3185
3186         * rendering/RenderBlock.cpp:
3187         (WebCore::RenderBlock::nodeForHitTest):
3188         * rendering/RenderBox.cpp:
3189         (WebCore::RenderBox::canBeProgramaticallyScrolled):
3190         
3191             The old non-virtual RenderView test renderer->node == &renderer->document() does not work anymore.
3192             Switch to isRenderView() which is now non-virtual in a number of places.
3193
3194         (WebCore::RenderBox::canAutoscroll):
3195         (WebCore::RenderBox::findAutoscrollable):
3196         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3197         * rendering/RenderBoxModelObject.cpp:
3198         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
3199         * rendering/RenderLayerBacking.cpp:
3200         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
3201         * rendering/RenderObject.h:
3202         (WebCore::RenderObject::isRenderReplaced):
3203         (WebCore::RenderObject::isAnonymousBlock):
3204         
3205             RenderView is anonymous but not a CSS anonymous block.
3206
3207         (WebCore::RenderObject::isText):
3208         (WebCore::RenderObject::isRenderView):
3209         
3210             Make isRenderView non-virtual since it is now hot. Reuse existing bits.
3211
3212         (WebCore::RenderObject::setIsText):
3213         (WebCore::RenderObject::setIsRenderView):
3214         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
3215         * rendering/RenderTreeAsText.cpp:
3216         (WebCore::writeSelection):
3217         * rendering/RenderView.cpp:
3218         
3219             Make anonymous.
3220
3221         (WebCore::RenderView::RenderView):
3222         * rendering/RenderView.h:
3223         * rendering/svg/RenderSVGRoot.cpp:
3224         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
3225
3226 2013-09-09  Bem Jones-Bey  <bjonesbe@adobe.com>
3227
3228         Move logical(Left|Right)FloatOffsetForLine methods into FloatingObjects
3229         https://bugs.webkit.org/show_bug.cgi?id=120705
3230
3231         Reviewed by Sam Weinig.
3232
3233         These are the only consumers of the CalculateFloatOffsetAdapter and
3234         the placed floats tree, so it will allow us to reduce the public
3235         interface of FloatingObjects and make the placed floats tree private.
3236
3237         No new tests, no behavior change.
3238
3239         * rendering/RenderBlock.cpp:
3240         (WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
3241         (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
3242         (WebCore::RenderBlock::FloatingObjects::logicalLeftOffset):
3243         (WebCore::RenderBlock::FloatingObjects::logicalRightOffset):
3244         * rendering/RenderBlock.h:
3245         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
3246
3247 2013-09-09  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3248
3249         Add support for BeforeUnloadEvent interface
3250         https://bugs.webkit.org/show_bug.cgi?id=120849
3251
3252         Reviewed by Darin Adler.
3253
3254         Add support for BeforeUnloadEvent as per the specification:
3255         http://www.whatwg.org/specs/web-apps/current-work/#beforeunloadevent
3256
3257         BeforeUnloadEvent has a returnValue attribute. Setting returnValue to a non-empty
3258         string in an event handler causes the user agent should ask the user to confirm
3259         that they wish to unload the document. This is equivalent to returning a non-empty
3260         string in the EventHandler:
3261         http://www.whatwg.org/specs/web-apps/current-work/#onbeforeunloadeventhandler
3262
3263         BeforeUnloadEvent and returnValue are already supported by IE and Firefox. Previously,
3264         WebKit was passing a base Event type to the beforeunload event handlers instead of
3265         a BeforeUnloadEvent.
3266
3267         Note that this patch keeps support for the legacy Event.returnValue attribute. This used
3268         to be an IE extension but this is no longer supported by IE (nor Firefox). The standard
3269         preventDefault() should be used instead however (supported in IE >= 9).
3270
3271         Test: fast/events/before-unload-returnValue.html
3272
3273         * CMakeLists.txt:
3274         * DerivedSources.cpp:
3275         * DerivedSources.make:
3276         * DerivedSources.pri:
3277         * GNUmakefile.list.am:
3278         * WebCore.order:
3279         * WebCore.vcxproj/WebCore.vcxproj:
3280         * bindings/js/JSEventListener.cpp:
3281         (WebCore::JSEventListener::handleEvent):
3282         * dom/BeforeUnloadEvent.cpp:
3283         (WebCore::BeforeUnloadEvent::isBeforeUnloadEvent):
3284         (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent):
3285         * dom/BeforeUnloadEvent.h:
3286         (WebCore::BeforeUnloadEvent::create):
3287         (WebCore::BeforeUnloadEvent::returnValue):
3288         (WebCore::BeforeUnloadEvent::setReturnValue):
3289         (WebCore::toBeforeUnloadEvent):
3290         * dom/BeforeUnloadEvent.idl: Added.
3291         * dom/Event.cpp:
3292         (WebCore::Event::isBeforeUnloadEvent):
3293         * dom/Event.h:
3294         (WebCore::Event::legacyReturnValue):
3295         (WebCore::Event::setLegacyReturnValue):
3296         * dom/Event.idl:
3297         * dom/EventNames.in:
3298         * loader/FrameLoader.cpp:
3299         (WebCore::FrameLoader::handleBeforeUnloadEvent):
3300
3301 2013-09-06  David Hyatt  <hyatt@apple.com>
3302
3303         Get rid of isBlockFlowFlexBoxOrGrid().
3304         https://bugs.webkit.org/show_bug.cgi?id=120897
3305
3306         Convert all callers and get rid of this method.
3307
3308         Reviewed by Beth Dakin.
3309
3310         * accessibility/AccessibilityRenderObject.cpp:
3311         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3312         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3313         * dom/Position.cpp:
3314         (WebCore::Position::isCandidate):
3315         (WebCore::Position::getInlineBoxAndOffset):
3316         (WebCore::Position::primaryDirection):
3317         * dom/PositionIterator.cpp:
3318         (WebCore::PositionIterator::isCandidate):
3319         * editing/CompositeEditCommand.cpp:
3320         (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
3321         * editing/Editor.cpp:
3322         (WebCore::Editor::baseWritingDirectionForSelectionStart):
3323         * editing/FrameSelection.cpp:
3324         (WebCore::caretRenderer):
3325         * editing/TextIterator.cpp:
3326         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
3327         * editing/TypingCommand.cpp:
3328         (WebCore::TypingCommand::makeEditableRootEmpty):
3329         * editing/htmlediting.cpp:
3330         (WebCore::isBlockFlowElement):
3331         * rendering/LayoutState.cpp:
3332         (WebCore::LayoutState::LayoutState):
3333         * rendering/RenderBlock.cpp:
3334         (WebCore::RenderBlock::layoutBlock):
3335         (WebCore::RenderBlock::collapseMargins):
3336         (WebCore::RenderBlock::selectionGaps):
3337         (WebCore::RenderBlock::firstLineBoxBaseline):
3338         (WebCore::RenderBlock::lastLineBoxBaseline):
3339         (WebCore::RenderBlock::firstLineBlock):
3340         (WebCore::findFirstLetterBlock):
3341         (WebCore::shouldCheckLines):
3342         (WebCore::RenderBlock::adjustForBorderFit):
3343         * rendering/RenderBox.cpp:
3344         (WebCore::RenderBox::computeRectForRepaint):
3345         (WebCore::RenderBox::positionForPoint):
3346         * rendering/RenderBoxModelObject.h:
3347         (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):
3348         * rendering/RenderInline.cpp:
3349         (WebCore::RenderInline::computeRectForRepaint):
3350         * rendering/RenderLineBoxList.cpp:
3351         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3352         * rendering/RenderObject.cpp:
3353         (WebCore::RenderObject::computeRectForRepaint):
3354         (WebCore::RenderObject::styleWillChange):
3355         (WebCore::firstLineStyleForCachedUncachedType):
3356         * rendering/RenderObject.h:
3357         * rendering/RenderObjectChildList.cpp:
3358         (WebCore::RenderObjectChildList::insertChildNode):
3359         * rendering/RenderView.h:
3360
3361 2013-09-09  Eric Carlson  <eric.carlson@apple.com>
3362
3363         MediaStream API: Stop means stop
3364         https://bugs.webkit.org/show_bug.cgi?id=120873
3365
3366         Reviewed by Jer Noble.
3367
3368         Merge blink https://chromium.googlesource.com/chromium/blink/+/9a97b0f3892320fa5741485e06a78183b77c3635
3369         by Tommy Widenflycht.
3370
3371         Removing notification functionality from MediaStreamTrack::stop because the world is being torn down.
3372
3373         No new tests, the original author was unable to come up with a reliable test case.
3374
3375         * Modules/mediastream/MediaStreamTrack.cpp:
3376         (WebCore::MediaStreamTrack::stop): Don't call didEndTrack, the world is going away.
3377
3378 2013-09-09  Filip Pizlo  <fpizlo@apple.com>
3379
3380         Unreviewed, fix build.
3381
3382         * Modules/encryptedmedia/MediaKeySession.h:
3383
3384 2013-09-09  Eric Carlson  <eric.carlson@apple.com>
3385
3386         MediaStream API: Moving Add/Remove track from WebMediaStreamCenterClient to WebMediaStream
3387         https://bugs.webkit.org/show_bug.cgi?id=120872
3388
3389         Reviewed by Jer Noble.
3390
3391         Merge https://chromium.googlesource.com/chromium/blink/+/7d740fd27c1f345b59c846df01c3adce53c18e6e
3392         Simple cleanup that makes the API cleaner.
3393
3394         * Modules/mediastream/MediaStream.cpp:
3395         (WebCore::MediaStream::removeTrack):
3396         (WebCore::MediaStream::addRemoteTrack):
3397         (WebCore::MediaStream::removeRemoteTrack):
3398         * platform/mediastream/MediaStreamCenter.cpp:
3399         * platform/mediastream/MediaStreamCenter.h:
3400         * platform/mediastream/MediaStreamDescriptor.h:
3401         (WebCore::MediaStreamDescriptor::removeAudioComponent):
3402         (WebCore::MediaStreamDescriptor::addRemoteTrack):
3403         (WebCore::MediaStreamDescriptor::removeRemoteTrack):
3404
3405 2013-09-09  ChangSeok Oh  <changseok.oh@collabora.com>
3406
3407         [WK2] Assertion failure in WebCore::Page::checkSubframeCountConsistency when going back
3408         https://bugs.webkit.org/show_bug.cgi?id=119781
3409
3410         Reviewed by Alexey Proskuryakov.
3411
3412         We should pair restoring a cached frame and adding it to FrameTree so that
3413         actual added frame count in FrameTree keeps same with restored frame count.
3414         Otherwise assert failure occurs in Page::CheckSubframeCountConsistency.
3415         We have added cached frames to FrameTree ahead and then restored them by tree travelsal.
3416         But this way doesn't guarantee subframecount of Page and the number of child of FrameTree are equal.
3417         In addition, we still make sure that adding a cached frame to FrameTree should happen
3418         before opening it. Because FrameTree might be used while restoring a cached page.
3419
3420         Test: fast/history/go-back-to-iframe-with-plugin.html
3421
3422         * history/CachedFrame.cpp:
3423         (WebCore::CachedFrameBase::restore):
3424         (WebCore::CachedFrame::open):
3425
3426 2013-09-09  Luciano Wolf  <luciano.wolf@openbossa.org>
3427
3428         Nix upstreaming - Adding stubs and Nix specific platform files
3429         https://bugs.webkit.org/show_bug.cgi?id=118358
3430
3431         Reviewed by Benjamin Poulain.
3432
3433         Basically adding all files that have "Nix" in their names and
3434         are related to WebCore module.
3435
3436         No new tests. They will be uploaded on another patch during the
3437         upstreaming process.
3438
3439         * css/mediaControlsNix.css: Added.
3440         * css/mediaControlsNixFullscreen.css: Added.
3441         * page/nix/EventHandlerNix.cpp: Added.
3442         * platform/graphics/egl/GLContextFromCurrentEGL.cpp: Added.
3443         * platform/graphics/egl/GLContextFromCurrentEGL.h: Added.
3444         * platform/graphics/gstreamer/PlatformVideoWindowNix.cpp: Added.
3445         * platform/graphics/nix/IconNix.cpp: Added.
3446         * platform/graphics/nix/ImageNix.cpp: Added.
3447         * platform/nix/CursorNix.cpp: Added.
3448         * platform/nix/DragDataNix.cpp: Added.
3449         * platform/nix/DragImageNix.cpp: Added.
3450         * platform/nix/GamepadsNix.cpp: Added.
3451         * platform/nix/LanguageNix.cpp: Added.
3452         * platform/nix/LocalizedStringsNix.cpp: Added.
3453         * platform/nix/NixKeyboardUtilities.cpp: Added.
3454         * platform/nix/NixKeyboardUtilities.h: Added.
3455         * platform/nix/PasteboardNix.cpp: Added.
3456         * platform/nix/PlatformKeyboardEventNix.cpp: Added.
3457         * platform/nix/PlatformScreenNix.cpp: Added.
3458         * platform/nix/SoundNix.cpp: Added.
3459         * platform/nix/WidgetNix.cpp: Added.
3460         * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Added.
3461
3462 2013-09-09  Hugo Parente Lima  <hugo.lima@openbossa.org>