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