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