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