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