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