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