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