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