Set Attr.ownerDocument in Element#setAttributeNode()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Set Attr.ownerDocument in Element#setAttributeNode()
4         https://bugs.webkit.org/show_bug.cgi?id=118031
5
6         Reviewed by Andreas Kling.
7
8         Merge https://chromium.googlesource.com/chromium/blink/+/fa739fe5369f55bbdcb3fa123cb64df36b8ae414.
9
10         Adopt Attr node as needed.
11
12         Test: fast/dom/Attr/set-attribute-node-from-iframe.html
13
14         * dom/Element.cpp:
15         (WebCore::Element::setAttributeNode):
16
17 2013-06-25  David Hyatt  <hyatt@apple.com>
18
19         Flex boxes (both old and new) don't handle max-height images correctly.
20         https://bugs.webkit.org/show_bug.cgi?id=118000
21
22         Reviewed by Beth Dakin.
23
24         Tests: css3/flexbox/image-percent-max-height.html
25                fast/flexbox/image-percent-max-height.html
26
27         * rendering/RenderBlock.cpp:
28         (WebCore::RenderBlock::dirtyForLayoutFromPercentageHeightDescendants):
29         (WebCore::RenderBlock::layoutBlockChildren):
30         Pull the percentage height descendant code that dirties those descendants
31         out of layoutBlockChildren and into a protected helper function,
32         dirtyForLayoutFromPercentageHeightDescendants, that can be called from the 
33         flex box code.
34         
35         Also patch dirtyForLayoutFromPercentageHeightDescendants so that it will dirty
36         preferred logical widths when a child has an aspect ratio, since we know that
37         percentage height changes will potentially affect the preferred widths of the image and
38         its ancestor blocks.
39
40         * rendering/RenderBlock.h:
41         Declaration of the new dirtyForLayoutFromPercentageHeightDescendants function.
42
43         * rendering/RenderDeprecatedFlexibleBox.cpp:
44         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
45         Make the old flex box code call dirtyForLayoutFromPercentageHeightDescendants so
46         that everything is dirtied properly.
47
48         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
49         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
50         Remove the isReplaced()/percentage height/width dirtying now that the old flexible
51         box is using the same dirtying mechanism as RenderBlock.
52
53         * rendering/RenderFlexibleBox.cpp:
54         (WebCore::RenderFlexibleBox::layoutBlock):
55         Patch the new flexible box code to use the dirtying mechanism that RenderBlock
56         uses for percentage heights/widths on replaced descendants.
57
58         * rendering/RenderObject.h:
59         (WebCore::RenderObject::hasAspectRatio):
60         Pulled the static helper function from RenderReplaced into a full-blown method
61         on RenderObject, so that dirtyForLayoutFromPercentageHeightDescendants can call
62         it to check if an object has an aspect ratio.
63
64         * rendering/RenderReplaced.cpp:
65         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
66         (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
67         Patch the call sites of the static helper function to use hasAspectRatio instead
68         and get rid of the static in the cpp file.
69
70 2013-06-26  Kangil Han  <kangil.han@samsung.com>
71
72         Adopt is/toHTMLAreaElement for code cleanup
73         https://bugs.webkit.org/show_bug.cgi?id=117980
74
75         Reviewed by Antonio Gomes.
76
77         To enhance readibility, this patch adopts is/toHTMLAreaElement.
78         This also helps out to reduce duplicated use of static_cast.
79
80         * accessibility/AXObjectCache.cpp:
81         (WebCore::AXObjectCache::focusedUIElementForPage):
82         * accessibility/AccessibilityRenderObject.cpp:
83         (WebCore::AccessibilityRenderObject::getDocumentLinks):
84         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
85         (WebCore::AccessibilityRenderObject::addImageMapChildren):
86         * html/HTMLAreaElement.h:
87         (WebCore::isHTMLAreaElement):
88         (WebCore::toHTMLAreaElement):
89         * html/HTMLMapElement.cpp:
90         (WebCore::HTMLMapElement::mapMouseEvent):
91         * page/FocusController.cpp:
92         (WebCore::FocusController::advanceFocusDirectionally):
93         * page/SpatialNavigation.cpp:
94         (WebCore::FocusCandidate::FocusCandidate):
95         (WebCore::areElementsOnSameLine):
96         * rendering/HitTestResult.cpp:
97         (WebCore::HitTestResult::absoluteLinkURL):
98         * rendering/RenderImage.cpp:
99         (WebCore::RenderImage::paintAreaElementFocusRing):
100
101 2013-06-26  Brady Eidson  <beidson@apple.com>
102
103         [Mac] Document URL is not updated by HSTS
104         <rdar://problem/14241270> and https://bugs.webkit.org/show_bug.cgi?id=118003
105         
106         Patch started by Alexey Proskuryakov, finished by Brady Eidson.
107
108         Reviewed by Brady Eidson and then Alexey Proskuryakov.
109
110         Synthesize a response and properly handle willSendRequest when the URL changes in a way that's typical for HSTS.
111
112         * platform/network/mac/WebCoreURLResponse:
113         * platform/network/mac/WebCoreURLResponse:
114         (WebCore::synthesizeRedirectResponseIfNecessary): Synthesize a redirect response and when the URL changes in a way that's
115           typical for HSTS connections.
116
117         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
118         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Call synthesizeRedirectResponseIfNecessary.
119
120         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
121         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]): Ditto.
122
123 2013-06-26  Andrei Bucur  <abucur@adobe.com>
124
125         [CSS Regions] fast/regions/seamless-iframe-flowed-into-regions.html asserts
126         https://bugs.webkit.org/show_bug.cgi?id=117797
127
128         Reviewed by Antti Koivisto.
129
130         The seamless iframes inherit the current RenderFlowThread during layout. This means getting
131         the LayoutState object from the flow thread RenderView object is not always correct.
132         For RenderObjects inside the seamless iframes the view()/LayoutState object is different than the one
133         of the RenderFlowThread. The patch changes the code to use the correct LayoutState object during
134         layout when pushing a new state.
135
136         Tests: covered by fast/regions/seamless-iframe-flowed-into-regions.html
137
138         * rendering/RenderFlowThread.cpp:
139         (WebCore::RenderFlowThread::currentActiveRenderBox):
140         (WebCore::RenderFlowThread::pushFlowThreadLayoutState):
141         (WebCore::RenderFlowThread::popFlowThreadLayoutState):
142
143 2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
144
145         Remove many static_casts to Element types from AccessibilityNodeObject
146         https://bugs.webkit.org/show_bug.cgi?id=118021
147
148         Reviewed by Chris Fleizach.
149
150         Merge https://chromium.googlesource.com/chromium/blink/+/ecd837f94996a20fdb8798e24f26cf6edea2a423.
151
152         * accessibility/AccessibilityNodeObject.cpp:
153         (WebCore::AccessibilityNodeObject::isReadOnly):
154         (WebCore::AccessibilityNodeObject::alternativeTextForWebArea):
155         (WebCore::AccessibilityNodeObject::text):
156
157 2013-06-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
158
159         Stop inheriting SVGExternalResourcesRequired, SVGFitToViewBox and SVGZoomAndPan
160         https://bugs.webkit.org/show_bug.cgi?id=118029
161
162         Reviewed by Kentaro Hara.
163
164         Stop inheriting SVGExternalResourcesRequired, SVGFitToViewBox and SVGZoomAndPan
165         in the IDL and use implements statements instead.
166
167         This is one step towards getting rid of multiple inheritance in the SVG code
168         and matching the latest specification:
169         http://www.w3.org/TR/SVG2/types.html#BasicDOMInterfaces
170
171         There is no webexposed behavior change.
172
173         No new tests, no behavior change.
174
175         * svg/SVGAnimationElement.idl:
176         * svg/SVGCircleElement.idl:
177         * svg/SVGClipPathElement.idl:
178         * svg/SVGCursorElement.idl:
179         * svg/SVGDefsElement.idl:
180         * svg/SVGEllipseElement.idl:
181         * svg/SVGFEImageElement.idl:
182         * svg/SVGFilterElement.idl:
183         * svg/SVGForeignObjectElement.idl:
184         * svg/SVGGElement.idl:
185         * svg/SVGGradientElement.idl:
186         * svg/SVGImageElement.idl:
187         * svg/SVGLineElement.idl:
188         * svg/SVGMPathElement.idl:
189         * svg/SVGMarkerElement.idl:
190         * svg/SVGMaskElement.idl:
191         * svg/SVGPathElement.idl:
192         * svg/SVGPatternElement.idl:
193         * svg/SVGPolygonElement.idl:
194         * svg/SVGPolylineElement.idl:
195         * svg/SVGRectElement.idl:
196         * svg/SVGSVGElement.idl:
197         * svg/SVGScriptElement.idl:
198         * svg/SVGSwitchElement.idl:
199         * svg/SVGSymbolElement.idl:
200         * svg/SVGTextContentElement.idl:
201         * svg/SVGUseElement.idl:
202         * svg/SVGViewSpec.idl:
203
204 2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
205
206         Use-after-free in RadioInputType::handleKeydownEvent
207         https://bugs.webkit.org/show_bug.cgi?id=118035
208
209         Reviewed by Kent Tamura.
210
211         Use RefPtr for inputElement since setFocusedNode could blow it away.
212
213         * html/RadioInputType.cpp:
214         (WebCore::RadioInputType::handleKeydownEvent):
215
216 2013-06-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
217
218         Get rid of multiple inheritence for SVGViewElement interface
219         https://bugs.webkit.org/show_bug.cgi?id=118014
220
221         Reviewed by Kentaro Hara.
222
223         Web IDL no longer supports multiple inheritence. As per the latest
224         specification SVGViewElement should only inherit from SVGElement.
225         'implements' statements are used for the rest. This patch refactors
226         the IDL files to match the latest specification:
227         http://www.w3.org/TR/SVG2/linking.html#InterfaceSVGViewElement
228
229         Note that there is a WebExposed change as SVGZoomAndPan used to be
230         exposed on the Window and it is not anymore. SVGZoomAndPan merely
231         supplements SVGViewElement and should not be exposed to JavaScript
232         according to the latest specification.
233
234         No new tests, covered by existing tests.
235
236         * CMakeLists.txt:
237         * DerivedSources.pri:
238         * GNUmakefile.list.am:
239         * svg/SVGExternalResourcesRequired.idl:
240         * svg/SVGFitToViewBox.idl:
241         * svg/SVGViewElement.idl:
242         * svg/SVGZoomAndPan.idl:
243
244 2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
245
246         Mark SVG(Circle|Path|Rect)Element::createRenderer() with OVERRIDE
247         https://bugs.webkit.org/show_bug.cgi?id=118037
248
249         Reviewed by Philip Rogers.
250
251         Merge https://chromium.googlesource.com/chromium/blink/+/e8196920e769ab0786b2b4b21d3fdc2d87afef0d.
252
253         * svg/SVGCircleElement.h:
254         * svg/SVGPathElement.h:
255         * svg/SVGRectElement.h:
256
257 2013-06-26  Kangil Han  <kangil.han@samsung.com>
258
259         Adopt is/toHTMLAudioElement for code cleanup
260         https://bugs.webkit.org/show_bug.cgi?id=117985
261
262         Reviewed by Jer Noble.
263
264         To enhance readibility, this patch adopts is/toHTMLAudioElement.
265         This also helps out to reduce duplicated use of static_cast.
266
267         * bindings/js/JSNodeCustom.cpp:
268         (WebCore::isReachableFromDOM):
269         * css/CSSDefaultStyleSheets.cpp:
270         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
271         * css/StyleResolver.cpp:
272         (WebCore::StyleResolver::canShareStyleWithElement):
273         * html/HTMLAudioElement.h:
274         (WebCore::isHTMLAudioElement):
275         (WebCore::toHTMLAudioElement):
276         * loader/SubframeLoader.cpp:
277         (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
278         * rendering/HitTestResult.cpp:
279         (WebCore::HitTestResult::mediaElement):
280         * rendering/RenderLayerCompositor.cpp:
281         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
282         * rendering/RenderThemeMac.mm:
283         (WebCore::RenderThemeMac::paintMediaMuteButton):
284         (WebCore::RenderThemeMac::paintMediaPlayButton):
285
286 2013-06-26  Ryosuke Niwa  <rniwa@webkit.org>
287
288         Refactoring: Fold Document::focusedNodeRemoved into Document::removeFocusedNodeOfSubtree
289         https://bugs.webkit.org/show_bug.cgi?id=118036
290
291         Reviewed by Kent Tamura.
292
293         Merge https://chromium.googlesource.com/chromium/blink/+/3391beabe75548cc638a6c88982f913621a4410f.
294
295         * dom/Document.cpp:
296         (WebCore::Document::removeFocusedNodeOfSubtree):
297         * dom/Document.h:
298
299 2013-06-25  Ryosuke Niwa  <rniwa@webkit.org>
300
301         JSString should remember AtomicString
302         https://bugs.webkit.org/show_bug.cgi?id=117386
303
304         Reviewed by Geoffrey Garen.
305
306         Added "Atomic" attribute as a WebKit extension to WebIDL, and deployed it in Element.idl and Node.idl so that
307         the binding code can use newly added JSValue::toAtomic to update JSString's m_value.
308
309         * bindings/js/JSDOMBinding.cpp:
310         (WebCore::valueToAtomicStringWithNullCheck): Added.
311         (WebCore::valueToAtomicStringWithUndefinedOrNullCheck): Added.
312
313         * bindings/js/JSDOMBinding.h:
314
315         * bindings/scripts/CodeGeneratorJS.pm:
316         (GetNativeTypeFromSignature): Return const AtomicString& when either Atomic attribute is specified or the type is
317         Reflect. Note that setAttribute and getAttribute both use AtomicString for all arguments.
318         (JSValueToNative): Use AtomicString equivalents when possible when converting DOMString to a WebCore object.
319
320         * bindings/scripts/IDLAttributes.txt: Added "Atomic" attribute.
321
322         * bindings/scripts/test/JS/JSTestObj.cpp: Baselined test cases.
323         (WebCore::setJSTestObjReflectedStringAttr):
324         (WebCore::setJSTestObjReflectedURLAttr):
325         (WebCore::setJSTestObjReflectedCustomURLAttr):
326
327         * dom/Document.idl:
328         * dom/Element.idl:
329         * dom/Node.idl:
330
331 2013-06-25  Kangil Han  <kangil.han@samsung.com>
332
333         Adopt is/toHTMLAnchorElement for code cleanup
334         https://bugs.webkit.org/show_bug.cgi?id=117973
335
336         Reviewed by Andreas Kling.
337
338         To enhance readibility, this patch adopts is/toHTMLAnchorElement.
339         This also helps out to reduce duplicated use of static_cast.
340
341         * accessibility/AccessibilityNodeObject.cpp:
342         (WebCore::AccessibilityNodeObject::anchorElement):
343         * accessibility/AccessibilityRenderObject.cpp:
344         (WebCore::AccessibilityRenderObject::anchorElement):
345         (WebCore::AccessibilityRenderObject::internalLinkElement):
346         (WebCore::AccessibilityRenderObject::url):
347         (WebCore::AccessibilityRenderObject::stringValueForMSAA):
348         (WebCore::AccessibilityRenderObject::isLinked):
349         * css/CSSDefaultStyleSheets.cpp:
350         (WebCore::elementCanUseSimpleDefaultStyle):
351         * css/SelectorChecker.cpp:
352         (WebCore::SelectorChecker::checkOne):
353         * dom/Document.cpp:
354         (WebCore::Document::updateBaseURL):
355         * dom/TreeScope.cpp:
356         (WebCore::TreeScope::findAnchor):
357         * dom/VisitedLinkState.cpp:
358         (WebCore::linkHashForElement):
359         (WebCore::VisitedLinkState::determineLinkStateSlowCase):
360         * html/HTMLAnchorElement.h:
361         (WebCore::isHTMLAnchorElement):
362         (WebCore::toHTMLAnchorElement):
363         * page/DragController.cpp:
364         (WebCore::DragController::draggableElement):
365         * rendering/HitTestResult.cpp:
366         (WebCore::HitTestResult::absoluteLinkURL):
367         (WebCore::HitTestResult::isLiveLink):
368         * rendering/RenderObject.cpp:
369         (WebCore::RenderObject::getTextDecorationColors):
370
371 2013-06-25  Dean Jackson  <dino@apple.com>
372
373         Don't snapshot plug-ins that come from the same host as the page
374         https://bugs.webkit.org/show_bug.cgi?id=117969
375         <rdar://problem/12885400>
376
377         Reviewed by Tim Horton.
378
379         If a page is serving plug-in content directly, then that content
380         is typically very important to the page. For example, embedding
381         a video or audio player. In this case, don't snapshot the plug-ins.
382
383         * html/HTMLPlugInImageElement.cpp:
384         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Add a test
385         that compares the plug-in's URL against the main page's URL and don't snapshot
386         if they are the same.
387
388 2013-06-25  Alex Christensen  <achristensen@apple.com>
389
390         Added PLATFORM(WIN) to many places where it was missing for compiling WebGL for Windows.
391         https://bugs.webkit.org/show_bug.cgi?id=117955
392
393         Reviewed by Brent Fulgham.
394
395         * platform/graphics/GraphicsContext3D.cpp:
396         * platform/graphics/OpenGLShims.cpp:
397         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Include new location of ShaderLang.h on Windows as of r151854.
398         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
399         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
400         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
401         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
402         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
403         * platform/graphics/opengl/Extensions3DOpenGL.h:
404         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
405         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
406         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Added PLATFORM(WIN) when necessary to each file.
407
408 2013-06-25  Bruno de Oliveira Abinader  <brunoabinader@gmail.com>
409
410         Fixes a typo in renderTextDecorationFlagsToCSSValue
411         https://bugs.webkit.org/show_bug.cgi?id=117989
412
413         Reviewed by Gyuyoung Kim.
414
415         Return value should be PassRefPtr instead of RefPtr.
416
417         Backported from Blink:
418         https://src.chromium.org/viewvc/blink?view=rev&revision=152994
419
420         No new tests, no behavior change.
421
422         * css/CSSComputedStyleDeclaration.cpp:
423         (WebCore::renderTextDecorationFlagsToCSSValue):
424
425 2013-06-25  Santosh Mahto  <santosh.ma@samsung.com>
426
427         "application/x-mimearchive" should be included in finding remoteWebArchive while document loading
428         https://bugs.webkit.org/show_bug.cgi?id=117734
429
430         Reviewed by Alexey Proskuryakov.
431
432         "application/x-mimearchive" is also used  while checking for
433          RemoteArchive.
434
435         * loader/DocumentLoader.cpp:
436         (WebCore::DocumentLoader::continueAfterContentPolicy):
437
438 2013-06-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
439
440         HTMLMediaElement should inherit from MediaPlayerClient privately
441         https://bugs.webkit.org/show_bug.cgi?id=117874
442
443         Reviewed by Andreas Kling.
444
445         Fixing FIXME: HTMLMediaElement was stuck with public inheritance from
446         MediaPlayerClient due to the Chromium and Qt port.
447
448         The Qt port is changed to not cast from MediaPlayerClient to HTMLMediaElement.
449
450         * html/HTMLMediaElement.h:
451         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
452         (WebCore::MediaPlayerPrivateQt::commitLoad):
453
454 2013-06-25  Csaba Osztrogonác  <ossy@webkit.org>
455
456         Checking if frame is complete and access duration doesn't need a decode
457         https://bugs.webkit.org/show_bug.cgi?id=116041
458
459         Reviewed by Allan Sandfeld Jensen.
460
461         This change is to avoid image decoding for these two operations:
462         1. frameIsCompleteAtIndex
463         2. frameDurationAtIndex
464         These two operations are moved to ImageDecoder interface and are now const
465         to prevent future regression.
466
467         We are now able to check if a frame is complete by parsing the entire GIF file
468         without decoding. This also provides information like frame duration such that
469         controller the animation doesn't require any decoding.
470
471         Based on the Blink patch by Hin-Chung Lam <hclam@google.com>
472         https://src.chromium.org/viewvc/blink?revision=149883&view=revision
473
474         * platform/graphics/BitmapImage.cpp:
475         (WebCore::BitmapImage::frameIsCompleteAtIndex):
476         (WebCore::BitmapImage::frameDurationAtIndex):
477         * platform/graphics/ImageSource.cpp:
478         (WebCore::ImageSource::frameDurationAtIndex):
479         (WebCore::ImageSource::frameHasAlphaAtIndex):
480         (WebCore::ImageSource::frameIsCompleteAtIndex):
481         * platform/graphics/ImageSource.h:
482         * platform/image-decoders/ImageDecoder.cpp:
483         (WebCore::ImageDecoder::frameHasAlphaAtIndex):
484         (WebCore::ImageDecoder::frameIsCompleteAtIndex):
485         * platform/image-decoders/ImageDecoder.h:
486         (WebCore::ImageDecoder::frameDurationAtIndex):
487         * platform/image-decoders/gif/GIFImageDecoder.cpp:
488         (WebCore::GIFImageDecoder::frameIsCompleteAtIndex):
489         (WebCore::GIFImageDecoder::frameDurationAtIndex):
490         (WebCore::GIFImageDecoder::haveDecodedRow):
491         (WebCore::GIFImageDecoder::gifComplete):
492         (WebCore::GIFImageDecoder::decode):
493         (WebCore::GIFImageDecoder::initFrameBuffer):
494         * platform/image-decoders/gif/GIFImageDecoder.h:
495         * platform/image-decoders/gif/GIFImageReader.h:
496         (GIFImageReader::frameContext):
497         (GIFImageReader::parseCompleted):
498
499 2013-06-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
500
501         Update AbstractWorker, Worker and SharedWorker to match the specification
502         https://bugs.webkit.org/show_bug.cgi?id=117930
503
504         Reviewed by Kentaro Hara.
505
506         Update AbstractWorker, Worker and SharedWorker to match the spec:
507         http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#abstractworker
508         http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#worker
509         http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#sharedworker
510
511         Worker and SharedWorker no longer inherit from AbstractWorker. Web IDL 'implements'
512         statements are used instead. Worker and SharedWorker can now inherit from EventTarget
513         as per the specification.
514
515         No new tests, no behavior change.
516
517         * workers/AbstractWorker.idl:
518         * workers/SharedWorker.idl:
519         * workers/Worker.idl:
520
521 2013-06-24  Andy Estes  <aestes@apple.com>
522
523         DerivedSources.make should optionally include SupplementalDependencies.dep
524         https://bugs.webkit.org/show_bug.cgi?id=117972
525
526         Reviewed by Dan Bernstein.
527
528         make(1) logs a non-fatal error to stderr when an included Makefile can't
529         be found. This error is non-fatal because after make(1) reads in all the
530         Makefiles it runs the recipe for any rule that specifies one of the
531         Makefiles as a target. Only if the Makefile is still missing after
532         applying these rules does the error become fatal.
533
534         Since SupplementalDependencies.dep is generated by running a script on
535         SupplementalDependencies.txt, the file won't exist during clean builds.
536         Each time make(1) logs this non-fatal error, Xcode sees it and itself
537         logs a non-fatal error. This is annoying.
538
539         We don't care about this error. We only care if the recipe to generate
540         SupplementalDependencies.dep fails, which is already a fatal error.
541         Suppress the error by including SupplementalDependencies.dep optionally.
542
543         * DerivedSources.make:
544
545 2013-06-24  Kangil Han  <kangil.han@samsung.com>
546
547         Add support for document.currentScript
548         https://bugs.webkit.org/show_bug.cgi?id=104221
549
550         Reviewed by Ryosuke Niwa.
551
552         Merge http://src.chromium.org/viewvc/blink?view=revision&revision=152230
553         document.currentScript reflects the script that is currently being executed.
554
555         Merge http://src.chromium.org/viewvc/blink?view=revision&revision=152237
556         Following up patch for code clean-up.
557
558         Tests: fast/dom/Document/document-current-script-async.html
559                fast/dom/Document/document-current-script.html
560
561         * dom/Document.cpp:
562         (WebCore::Document::pushCurrentScript):
563         (WebCore::Document::popCurrentScript):
564         * dom/Document.h:
565         (WebCore::Document::currentScript):
566         * dom/Document.idl:
567         * dom/ScriptElement.cpp:
568         (WebCore::isHTMLScriptElement):
569         (WebCore::isSVGScriptElement):
570         (WebCore::ScriptElement::executeScript):
571         (WebCore::toScriptElementIfPossible):
572         * html/HTMLScriptElement.h:
573         (WebCore::toHTMLScriptElement):
574         * svg/SVGScriptElement.cpp:
575         * svg/SVGScriptElement.h:
576         (WebCore::toSVGScriptElement):
577
578 2013-06-24  Kangil Han  <kangil.han@samsung.com>
579
580         Adopt is/toHTMLFormElement for code cleanup
581         https://bugs.webkit.org/show_bug.cgi?id=117937
582
583         Reviewed by Andreas Kling.
584
585         This refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152859
586
587         To enhance readibility, this patch adopts is/toHTMLFormElement.
588         This also helps out to reduce duplicated use of static_cast.
589
590         * accessibility/AccessibilityRenderObject.cpp:
591         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
592         * bindings/js/JSDOMFormDataCustom.cpp:
593         (WebCore::toHTMLFormElement):
594         * bindings/js/JSHTMLFormElementCustom.cpp:
595         (WebCore::JSHTMLFormElement::nameGetter):
596         * editing/FrameSelection.cpp:
597         (WebCore::scanForForm):
598         (WebCore::FrameSelection::currentForm):
599         * editing/InsertParagraphSeparatorCommand.cpp:
600         (WebCore::InsertParagraphSeparatorCommand::doApply):
601         * html/FormAssociatedElement.cpp:
602         (WebCore::FormAssociatedElement::findAssociatedForm):
603         * html/HTMLElement.cpp:
604         (WebCore::HTMLElement::findFormAncestor):
605         * html/HTMLFormControlsCollection.cpp:
606         (WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
607         (WebCore::HTMLFormControlsCollection::formControlElements):
608         (WebCore::HTMLFormControlsCollection::formImageElements):
609         (WebCore::HTMLFormControlsCollection::updateNameCache):
610         * html/HTMLFormElement.h:
611         (WebCore::isHTMLFormElement):
612         (WebCore::toHTMLFormElement):
613         * html/HTMLImageElement.cpp:
614         (WebCore::HTMLImageElement::insertedInto):
615         * html/HTMLNameCollection.cpp:
616         (WebCore::WindowNameCollection::nodeMatchesIfNameAttributeMatch):
617         (WebCore::DocumentNameCollection::nodeMatchesIfNameAttributeMatch):
618         (WebCore::DocumentNameCollection::nodeMatches):
619         * html/RadioInputType.cpp:
620         (WebCore::RadioInputType::handleKeydownEvent):
621         * html/RadioNodeList.cpp:
622         (WebCore::RadioNodeList::RadioNodeList):
623         (WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
624         * html/parser/HTMLConstructionSite.cpp:
625         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
626         * html/parser/HTMLTreeBuilder.cpp:
627         (WebCore::closestFormAncestor):
628         * page/Frame.cpp:
629         (WebCore::Frame::searchForLabelsBeforeElement):
630
631 2013-06-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
632
633         Remove unneeded include header files from WebCore
634         https://bugs.webkit.org/show_bug.cgi?id=117926
635
636         Reviewed by Andreas Kling.
637
638         Merge from https://chromiumcodereview.appspot.com/17388003. 
639
640         Cleanup unused includes from WebCore.
641
642         * editing/CompositeEditCommand.cpp:
643         * editing/DeleteSelectionCommand.cpp:
644         * editing/EditingStyle.cpp:
645         * editing/Editor.cpp:
646         * editing/FrameSelection.cpp:
647         * editing/HTMLInterchange.cpp:
648         * editing/IndentOutdentCommand.cpp:
649         * editing/InsertListCommand.cpp:
650         * editing/InsertTextCommand.cpp:
651         * editing/SpellChecker.h:
652         * editing/VisibleUnits.cpp:
653         * editing/VisibleUnits.h:
654         * editing/markup.cpp:
655         * fileapi/Blob.h:
656         * fileapi/File.h:
657         * fileapi/WebKitBlobBuilder.h:
658         * history/HistoryItem.cpp:
659         * history/HistoryItem.h:
660         * html/BaseDateAndTimeInputType.cpp:
661         * html/BaseDateAndTimeInputType.h:
662         * html/ClassList.cpp:
663         * html/ClassList.h:
664         * html/DOMSettableTokenList.h:
665         * html/DOMURL.cpp:
666         * html/DateInputType.h:
667         * html/FormController.h:
668         * html/HTMLCanvasElement.cpp:
669         * html/HTMLCollection.cpp:
670         * html/HTMLCollection.h:
671         * html/HTMLDocument.h:
672         * html/HTMLEmbedElement.cpp:
673         * html/HTMLFieldSetElement.h:
674         * html/HTMLFormElement.cpp:
675         * html/HTMLFrameOwnerElement.h:
676         * html/HTMLIFrameElement.cpp:
677         * html/HTMLInputElement.cpp:
678         * html/HTMLLegendElement.cpp:
679         * html/HTMLLinkElement.h:
680         * html/HTMLMediaElement.cpp:
681         * html/HTMLMeterElement.cpp:
682         * html/HTMLOptionElement.cpp:
683         * html/HTMLOutputElement.h:
684         * html/HTMLPlugInImageElement.cpp:
685         * html/HTMLPlugInImageElement.h:
686         * html/HTMLProgressElement.cpp:
687         * html/HTMLSelectElement.cpp:
688         * html/HTMLTableElement.cpp:
689         * html/HTMLTitleElement.cpp:
690         * html/HTMLTrackElement.cpp:
691         * html/ImageInputType.h:
692         * html/InputType.h:
693         * html/MediaController.h:
694         * html/MediaFragmentURIParser.h:
695         * html/NumberInputType.cpp:
696         * html/RadioNodeList.h:
697         * html/TextFieldInputType.h:
698         * html/TypeAhead.cpp:
699         * html/ValidityState.cpp:
700         * html/canvas/CanvasPathMethods.h:
701         * html/canvas/CanvasRenderingContext2D.cpp:
702         * html/canvas/CanvasRenderingContext2D.h:
703         * html/canvas/OESVertexArrayObject.h:
704         * html/canvas/WebGLBuffer.cpp:
705         * html/canvas/WebGLBuffer.h:
706         * html/canvas/WebGLCompressedTextureATC.h:
707         * html/canvas/WebGLCompressedTextureS3TC.cpp:
708         * html/canvas/WebGLCompressedTextureS3TC.h:
709         * html/canvas/WebGLContextObject.h:
710         * html/canvas/WebGLDebugShaders.cpp:
711         * html/canvas/WebGLObject.h:
712         * html/canvas/WebGLProgram.h:
713         * html/canvas/WebGLRenderingContext.cpp:
714         * html/canvas/WebGLRenderingContext.h:
715         * html/canvas/WebGLShader.h:
716         * html/canvas/WebGLTexture.h:
717         * html/canvas/WebGLUniformLocation.h:
718         * html/canvas/WebGLVertexArrayObjectOES.h:
719         * html/parser/BackgroundHTMLParser.cpp:
720         * html/parser/BackgroundHTMLParser.h:
721         * html/parser/CSSPreloadScanner.cpp:
722         * html/parser/HTMLConstructionSite.cpp:
723         * html/parser/HTMLConstructionSite.h:
724         * html/parser/HTMLDocumentParser.h:
725         * html/parser/HTMLElementStack.h:
726         * html/parser/HTMLParserIdioms.cpp:
727         * html/parser/HTMLParserIdioms.h:
728         * html/parser/HTMLParserScheduler.h:
729         * html/parser/HTMLPreloadScanner.cpp:
730         * html/parser/HTMLSourceTracker.h:
731         * html/parser/HTMLTreeBuilder.h:
732         * html/parser/HTMLTreeBuilderSimulator.h:
733         * html/parser/XSSAuditor.cpp:
734         * html/parser/XSSAuditorDelegate.h:
735         * html/shadow/HTMLContentElement.cpp:
736         * html/shadow/HTMLContentElement.h:
737         * html/shadow/MediaControlElements.cpp:
738         * html/shadow/MediaControls.h:
739         * html/shadow/SliderThumbElement.cpp:
740         * html/shadow/SliderThumbElement.h:
741         * html/shadow/TextControlInnerElements.cpp:
742         * html/track/InbandTextTrack.h:
743         * html/track/LoadableTextTrack.cpp:
744         * html/track/LoadableTextTrack.h:
745         * html/track/TextTrackCueGeneric.h:
746
747 2013-06-24  Simon Fraser  <simon.fraser@apple.com>
748
749         Don't crash if renderName() is called on a renderer with no style
750         https://bugs.webkit.org/show_bug.cgi?id=117960
751
752         Reviewed by Dave Hyatt.
753
754         Calling renderName() at the top of RenderObject::willChangeStyle() when
755         adding debug logging would often crash because various functions called
756         from renderName() assume style is non-null. Fix this.
757
758         * rendering/RenderBlock.cpp:
759         (WebCore::RenderBlock::renderName):
760         * rendering/RenderInline.cpp:
761         (WebCore::RenderInline::renderName):
762
763 2013-06-24  Alex Christensen  <achristensen@apple.com>
764
765         Added /d option to xcopy to prevent unnecessary copying and compiling.
766         https://bugs.webkit.org/show_bug.cgi?id=117951
767
768         Reviewed by Brent Fulgham.
769
770         * WebCore.vcxproj/WebCorePreBuild.cmd:
771
772 2013-06-24  Simon Fraser  <simon.fraser@apple.com>
773
774         Fix various crashes on sites with fixed backgrounds
775         https://bugs.webkit.org/show_bug.cgi?id=117959
776
777         Reviewed by Andy Estes.
778         
779         FrameView::removeSlowRepaintObject() would assume that addSlowRepaintObject()
780         had been called before it, but this isn't always the case. For example, if
781         a page has a fixed background on the body, this falls into the accelerated
782         path in WK2 tiled mode, so addSlowRepaintObject() is never called. However,
783         we still call removeSlowRepaintObject() if the body is removed.
784         
785         So null-check m_slowRepaintObjects to avoid crashing.
786
787         Test: platform/mac-wk2/tiled-drawing/fixed-background/fixed-background-removal.html
788
789         * page/FrameView.cpp:
790         (WebCore::FrameView::removeSlowRepaintObject):
791
792 2013-06-24  Ruth Fong  <ruth_fong@apple.com>
793
794         Expose the mediaHasAudio() function in WK2
795         https://bugs.webkit.org/show_bug.cgi?id=117946
796         <rdar://problem/14250527>
797
798         Reviewed by Beth Dakin.
799
800         * WebCore.exp.in: Updated to include symbol for
801         HTMLMediaElement::mediaHasAudio() function.
802
803 2013-06-24  Simon Fraser  <simon.fraser@apple.com>
804
805         Move displayID stuff from Widget to Chrome
806         https://bugs.webkit.org/show_bug.cgi?id=117944
807
808         Reviewed by Anders Carlsson.
809
810         In r151877 I polluted Widget with displayID-related stuff. This would
811         be better on HostWindow, so move it there. This is a net code reduction,
812         and eliminates PlatformScreenMac.h, and the NSScreen category.
813
814         * WebCore.exp.in: Remove some functions from the exports list.
815         * WebCore.xcodeproj/project.pbxproj: PlatformScreenMac.h is gone!
816         * dom/Document.cpp:
817         (WebCore::Document::requestAnimationFrame): Get the displayID from page->chrome()
818         * page/Chrome.cpp:
819         (WebCore::Chrome::Chrome): Initialize m_displayID.
820         (WebCore::Chrome::displayID):
821         (WebCore::Chrome::windowScreenDidChange): Code moved from Page; save the
822         displayID, and tell all subframes that the displayID changed.
823         * page/Chrome.h: Add displayID-related functions.
824         * page/FrameView.cpp: Removed windowDisplayID().
825         * page/FrameView.h: Ditto.
826         * page/Page.cpp: Removed code.
827         (WebCore::Page::Page):
828         * page/Page.h:
829         * platform/HostWindow.h: Added virtual displayID-related functions.
830         * platform/Widget.cpp: Removed code.
831         * platform/Widget.h: Ditto.
832         * platform/mac/PlatformScreenMac.h: Removed.
833         * platform/mac/PlatformScreenMac.mm: Removed the NSScreen category.
834         (WebCore::displayIDFromScreen):
835         (WebCore::screenForDisplayID):
836         (WebCore::displayFromWidget):
837         (WebCore::screenForWidget):
838         * platform/mac/WidgetMac.mm: Removed windowDisplayID().
839         * rendering/RenderLayerCompositor.cpp:
840         (WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh): Get
841         the displayID via chrome().
842
843 2013-06-24  Andreas Kling  <akling@apple.com>
844
845         Don't create Document's selector query cache just to invalidate it.
846         <http://webkit.org/b/117942>
847
848         Reviewed by Anders Carlsson.
849
850         If Document::m_selectorQueryCache is null, there's nothing to invalidate,
851         so don't go through the trouble of creating a query cache.
852
853         * dom/Document.cpp:
854         (WebCore::Document::setCompatibilityMode):
855         (WebCore::Document::updateBaseURL):
856
857 2013-06-24  Robert Hogan  <robert@webkit.org>
858
859         Refactor adding a line break
860         https://bugs.webkit.org/show_bug.cgi?id=117907
861
862         Reviewed by Ryosuke Niwa.
863
864         Reduce code duplication when adding a line break.
865         
866         No new tests, refactoring.
867
868         * rendering/RenderBlockLineLayout.cpp:
869         (WebCore::addLineBreak):
870         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
871
872 2013-06-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
873
874         HashMap: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
875         https://bugs.webkit.org/show_bug.cgi?id=117911
876
877         Reviewed by Anders Carlsson.
878
879         The order of the template arguments at HashMap alternate 'find', 'contains' and
880         'add' methods is reversed so that callers can just pass the translator
881         and let the compiler deduce input argument type.
882
883         Another rational is consistency with HashSet class.
884
885         * platform/network/HTTPHeaderMap.cpp:
886         (WebCore::HTTPHeaderMap::get):
887         (WebCore::HTTPHeaderMap::contains):
888         (WebCore::HTTPHeaderMap::add):
889
890 2013-06-24  Robert Hogan  <robert@webkit.org>
891
892         Remove unnecessary check in RenderBlockLineLayout::nextSegmentBreak()
893         https://bugs.webkit.org/show_bug.cgi?id=117713
894
895         Reviewed by David Hyatt.
896
897         Changeset r151613 should have done this instead. Since r151518 changed
898         nextSegmentBreak() to detect line-break opportunities between no-wrap
899         inlines there is no need to force the break later.
900
901         No new tests, covered by existing tests.
902
903         * rendering/RenderBlockLineLayout.cpp:
904         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
905
906 2013-06-24  Eric Carlson  <eric.carlson@apple.com>
907
908         Potential crash when in-band track is removed
909         https://bugs.webkit.org/show_bug.cgi?id=117938
910         <rdar://problem/14246763>
911
912         Reviewed by Jer Noble.
913
914         This is timing dependent and I was unable to come up with a reliable test.
915
916         * html/track/InbandTextTrack.cpp:
917         (WebCore::InbandTextTrack::willRemoveTextTrackPrivate): Early return if the media element
918             has been cleared.
919
920 2013-06-24  Chris Rogers  <crogers@google.com>
921
922         WaveTable name has changed to PeriodicWave
923         https://bugs.webkit.org/show_bug.cgi?id=117748
924
925         Reviewed by Jer Noble.
926
927         See related Web Audio bug and spec change:
928         https://www.w3.org/Bugs/Public/show_bug.cgi?id=19561
929         https://dvcs.w3.org/hg/audio/rev/7c4a40a9bb57
930
931         * CMakeLists.txt:
932         * DerivedSources.make:
933         * DerivedSources.pri:
934         * GNUmakefile.list.am:
935         * Modules/webaudio/AudioContext.cpp:
936         (WebCore::AudioContext::createPeriodicWave):
937         * Modules/webaudio/AudioContext.h:
938         * Modules/webaudio/AudioContext.idl:
939         * Modules/webaudio/OscillatorNode.cpp:
940         (WebCore::OscillatorNode::OscillatorNode):
941         (WebCore::OscillatorNode::setType):
942         (WebCore::OscillatorNode::calculateSampleAccuratePhaseIncrements):
943         (WebCore::OscillatorNode::process):
944         (WebCore::OscillatorNode::setPeriodicWave):
945         (WebCore::OscillatorNode::propagatesSilence):
946         * Modules/webaudio/OscillatorNode.h:
947         * Modules/webaudio/OscillatorNode.idl:
948         * Modules/webaudio/PeriodicWave.cpp: Renamed from Source/WebCore/Modules/webaudio/WaveTable.cpp.
949         (WebCore::PeriodicWave::create):
950         (WebCore::PeriodicWave::createSine):
951         (WebCore::PeriodicWave::createSquare):
952         (WebCore::PeriodicWave::createSawtooth):
953         (WebCore::PeriodicWave::createTriangle):
954         (WebCore::PeriodicWave::PeriodicWave):
955         (WebCore::PeriodicWave::waveDataForFundamentalFrequency):
956         (WebCore::PeriodicWave::maxNumberOfPartials):
957         (WebCore::PeriodicWave::numberOfPartialsForRange):
958         (WebCore::PeriodicWave::createBandLimitedTables):
959         (WebCore::PeriodicWave::generateBasicWaveform):
960         * Modules/webaudio/PeriodicWave.h: Renamed from Source/WebCore/Modules/webaudio/WaveTable.h.
961         (WebCore::PeriodicWave::rateScale):
962         (WebCore::PeriodicWave::periodicWaveSize):
963         (WebCore::PeriodicWave::sampleRate):
964         (WebCore::PeriodicWave::numberOfRanges):
965         * Modules/webaudio/PeriodicWave.idl: Renamed from Source/WebCore/Modules/webaudio/WaveTable.idl.
966         * Target.pri:
967         * WebCore.xcodeproj/project.pbxproj:
968
969 2013-06-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
970
971         Commented IDL implements statements should not impact code generation
972         https://bugs.webkit.org/show_bug.cgi?id=117932
973
974         Reviewed by Kentaro Hara.
975
976         Fix regular expression in preprocess-idls.pl script so that commented
977         IDL implements statements no longer cause any code to be generated.
978
979         No new tests, covered by TestObj.idl.
980
981         * bindings/scripts/preprocess-idls.pl:
982         (getImplementedInterfacesFromIDL):
983         * bindings/scripts/test/TestObj.idl:
984
985 2013-06-24  Kangil Han  <kangil.han@samsung.com>
986
987         Adopt is/toHTMLStyleElement for minor code cleanup
988         https://bugs.webkit.org/show_bug.cgi?id=117917
989
990         Reviewed by Antti Koivisto.
991
992         This patch refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152853
993
994         There are some usages of static_cast to HTMLStyleElement so this patch creates toHTMLStyleElement
995         function for code cleanup. Plus, isHTMLStyleElement is also made for same purpose.
996
997         * css/CSSStyleSheet.cpp:
998         (WebCore::isAcceptableCSSStyleSheetParent):
999         * css/StyleScopeResolver.cpp:
1000         (WebCore::StyleScopeResolver::scopeFor):
1001         * css/StyleSheetList.cpp:
1002         (WebCore::StyleSheetList::getNamedItem):
1003         * dom/DocumentStyleSheetCollection.cpp:
1004         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
1005         * dom/Node.cpp:
1006         (WebCore::Node::numberOfScopedHTMLStyleChildren):
1007         * html/HTMLStyleElement.h:
1008         (WebCore::isHTMLStyleElement):
1009         (WebCore::toHTMLStyleElement):
1010         * inspector/InspectorCSSAgent.cpp:
1011         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1012         * inspector/InspectorStyleSheet.cpp:
1013         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
1014         * page/PageSerializer.cpp:
1015         (WebCore::PageSerializer::serializeFrame):
1016
1017 2013-06-24  Patrick Gansterer  <paroga@webkit.org>
1018
1019         Cleanup RenderThemeWin after r151783 and r151794.
1020         https://bugs.webkit.org/show_bug.cgi?id=117936
1021
1022         Reviewed by Alexis Menard.
1023
1024         GetSysColor() takes an integer as argument. Let cssValueIdToSysColorIndex()
1025         return an int instead of casting the values to the CSSValueID type.
1026
1027         * rendering/RenderThemeWin.cpp:
1028         (WebCore::cssValueIdToSysColorIndex):
1029         (WebCore::RenderThemeWin::systemColor):
1030
1031 2013-06-24  Patrick Gansterer  <paroga@webkit.org>
1032
1033         Use SetFilePointer instead of SetFilePointerEx in FileSystemWin
1034         https://bugs.webkit.org/show_bug.cgi?id=116205
1035
1036         Reviewed by Ryosuke Niwa.
1037
1038         SetFilePointerEx is not available on Windows CE, so use SetFilePointer.
1039         Also add a extra return for the case of an failure.
1040
1041         * platform/win/FileSystemWin.cpp:
1042         (WebCore::seekFile):
1043
1044 2013-06-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1045
1046         Introduce WindowTimers IDL interface
1047         https://bugs.webkit.org/show_bug.cgi?id=117929
1048
1049         Reviewed by Kentaro Hara.
1050
1051         Introduce WindowTimers IDL interface and have both DOMWindow and WorkerContext
1052         implement it to match the latest specification and avoid IDL duplication:
1053         - http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#windowtimers
1054         - http://dev.w3.org/html5/workers/#apis-available-to-workers
1055
1056         No new tests, no behavior change.
1057
1058         * CMakeLists.txt:
1059         * DerivedSources.make:
1060         * DerivedSources.pri:
1061         * GNUmakefile.list.am:
1062         * page/DOMWindow.idl:
1063         * page/WindowTimers.idl:
1064         * workers/WorkerContext.idl:
1065
1066 2013-06-24  Patrick Gansterer  <paroga@webkit.org>
1067
1068         Build fix for WinCE after r151563.
1069
1070         * bindings/js/JSDOMBinding.cpp:
1071         (WebCore::toInt8): Use fabs() instead of abs().
1072         (WebCore::toUInt8): Ditto.
1073
1074 2013-06-24  Patrick Gansterer  <paroga@webkit.org>
1075
1076         Build fix for WinCE after r151783.
1077
1078         * rendering/RenderThemeWinCE.cpp:
1079         (WebCore::cssValueIdToSysColorIndex):
1080         (WebCore::RenderThemeWinCE::systemColor):
1081
1082 2013-06-24  Commit Queue  <commit-queue@webkit.org>
1083
1084         Unreviewed, rolling out r151021.
1085         http://trac.webkit.org/changeset/151021
1086         https://bugs.webkit.org/show_bug.cgi?id=117924
1087
1088         caused regressions on Qt and GTK (#117141 and #117688)
1089         (Requested by philn on #webkit).
1090
1091         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1092         (webkit_web_src_init):
1093         (webKitWebSrcFinalize):
1094         (webKitWebSrcSetProperty):
1095         (webKitWebSrcGetProperty):
1096         (webKitWebSrcStop):
1097         (webKitWebSrcStart):
1098         (webKitWebSrcChangeState):
1099         (webKitWebSrcQueryWithParent):
1100         (webKitWebSrcGetUri):
1101         (webKitWebSrcSetUri):
1102         (webKitWebSrcNeedDataMainCb):
1103         (webKitWebSrcEnoughDataMainCb):
1104         (webKitWebSrcSeekMainCb):
1105         (webKitWebSrcSeekDataCb):
1106         (StreamingClient::StreamingClient):
1107         (StreamingClient::~StreamingClient):
1108         (StreamingClient::didReceiveResponse):
1109         (StreamingClient::didReceiveData):
1110         (StreamingClient::didFinishLoading):
1111         (StreamingClient::wasBlocked):
1112         (StreamingClient::cannotShowURL):
1113
1114 2013-06-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1115
1116         Move IDL implements statements to IDL files that implement the interface
1117         https://bugs.webkit.org/show_bug.cgi?id=117921
1118
1119         Reviewed by Kentaro Hara.
1120
1121         Move IDL implements statements to IDL files that implement the interface
1122         so that we can more easily know that a given IDL interface implements
1123         another.
1124
1125         The generator now enforces this as well for consistency.
1126
1127         No new tests, covered by TestImplements.idl.
1128
1129         * bindings/scripts/preprocess-idls.pl:
1130         (getImplementedInterfacesFromIDL):
1131         * bindings/scripts/test/TestImplements.idl:
1132         * bindings/scripts/test/TestInterface.idl:
1133         * dom/CharacterData.idl:
1134         * dom/ChildNode.idl:
1135         * dom/DocumentType.idl:
1136         * dom/Element.idl:
1137
1138 2013-06-24  Zalan Bujtas  <zalan@apple.com>
1139
1140         Hittest finds the truncated text instead of the floating input, when the input is clicked.
1141         https://bugs.webkit.org/show_bug.cgi?id=115675
1142
1143         Reviewed by David Hyatt.
1144
1145         Ignore truncated text on inline textbox and everything beyond the ellipsis box on
1146         the root inlinebox while hittesting. (provided that nodeAtPoint finds no hit for any of
1147         the root inline's children.)
1148
1149         Test: fast/css/text-overflow-ellipsis-and-floating-input-hittest.html
1150
1151         * rendering/InlineFlowBox.cpp:
1152         (WebCore::InlineFlowBox::nodeAtPoint):
1153         * rendering/InlineTextBox.cpp:
1154         (WebCore::InlineTextBox::nodeAtPoint):
1155         (WebCore::InlineTextBox::paint):
1156
1157 2013-06-17  Darin Adler  <darin@apple.com>
1158
1159         Sort all the Xcode project files
1160         https://bugs.webkit.org/show_bug.cgi?id=117696
1161
1162         Reviewed by Anders Carlsson.
1163
1164         * WebCore.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
1165
1166 2013-06-22  Zalan Bujtas  <zalan@apple.com>
1167
1168         Remove redundant helper from RenderRegion.
1169         https://bugs.webkit.org/show_bug.cgi?id=117915
1170
1171         Reviewed by Andreas Kling.
1172
1173         Minor code cleanup.
1174
1175         * rendering/RenderRegion.cpp:
1176         (WebCore::RenderRegion::regionOversetState):
1177         (WebCore::RenderRegion::setRegionOversetState):
1178         * rendering/RenderRegion.h:
1179
1180 2013-06-22  Mark Rowe  <mrowe@apple.com>
1181
1182         Build fix after r151878.
1183
1184         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
1185         (WebCore::WebCoreAVFResourceLoader::startLoading): Pass the new UseDefaultOriginRestrictionsForType
1186         argument to the ResourceLoaderOptions constructor.
1187
1188 2013-06-22  Simon Fraser  <simon.fraser@apple.com>
1189
1190         Followup from r151877 .
1191         Fix crash in fast/frames/iframe-access-screen-of-deleted.html by null-checking the widget.
1192
1193         * platform/mac/PlatformScreenMac.mm:
1194         (WebCore::screenForWidget):
1195
1196 2013-06-22  Hans Muller  <hmuller@adobe.com>
1197
1198         [CSS Shapes] limit shape image values to same origin
1199         https://bugs.webkit.org/show_bug.cgi?id=117610
1200
1201         Reviewed by Alexey Proskuryakov.
1202
1203         Restrict the image URL values for shape-inside and shape-outside to
1204         the same origin as the document. The alpha channel of image shape values
1205         will be thresholded to produce the shape's boundaries (see bug 116643)
1206         so normal image access rules aren't secure enough.
1207
1208         Added a RequestOriginPolicy ResourceLoaderOption which is used by
1209         StyleResolver::loadPendingShapeImage() to request the additional restriction.
1210         The change should have no other effect although it does enable one to apply
1211         the same restriction to other resources which can currently be loaded from
1212         any origin - see CachedResourceLoader::canRequest().
1213
1214         Test: http/tests/security/shape-inside-image-origin.html
1215
1216         * css/CSSImageValue.cpp:
1217         (WebCore::CSSImageValue::cachedImage): Add an effectively optional ResourceLoaderOptions parameter.
1218         * css/CSSImageValue.h:
1219         (WebCore::CSSImageValue::cachedImage): Ditto.
1220         * css/StyleResolver.cpp:
1221         (WebCore::StyleResolver::loadPendingShapeImage): Load the image with the default CachedResourceLoader options plus RestrictToSameOrigin.
1222         (WebCore::StyleResolver::loadPendingImages): Call loadPendingShapeImage().
1223         * css/StyleResolver.h:
1224         * loader/DocumentLoader.cpp:
1225         (WebCore::DocumentLoader::startLoadingMainResource): Update the ResourceLoaderOptions static variable.
1226         * loader/NetscapePlugInStreamLoader.cpp:
1227         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): Ditto.
1228         * loader/ResourceLoader.h:
1229         (WebCore::ResourceLoader::options):
1230         * loader/ResourceLoaderOptions.h: Add RequestOriginPolicy enum.
1231         (WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
1232         * loader/SubresourceLoader.cpp:
1233         (WebCore::SubresourceLoader::willSendRequest): Pass ResourceLoaderOptions along to revised CachedResourceLoader::canRequest().
1234         * loader/cache/CachedResourceLoader.cpp:
1235         (WebCore::CachedResourceLoader::requestImage):
1236         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Update load() ResourceLoaderOptions.
1237         (WebCore::CachedResourceLoader::canRequest): Replaced ContentSecurityPolicyCheck parameter with ResourceLoaderOptions.
1238         (WebCore::CachedResourceLoader::requestResource): Pass ResourceLoaderOptions along to revised CachedResourceLoader::canRequest().
1239         (WebCore::CachedResourceLoader::defaultCachedResourceOptions): Added UseDefaultOriginRestrictionsForType initializer.
1240         * loader/cache/CachedResourceLoader.h:
1241         * loader/icon/IconLoader.cpp:
1242         (WebCore::IconLoader::startLoading): Added UseDefaultOriginRestrictionsForType intializer.
1243
1244 2013-06-22  Simon Fraser  <simon.fraser@apple.com>
1245
1246         screen.availWidth always returns width of primary display
1247         https://bugs.webkit.org/show_bug.cgi?id=117863
1248
1249         Reviewed by Geoffrey Garen.
1250
1251         In WebKit2, Widgets have no platformWidget, so trying to get to the
1252         NSScreen via the platform widget's window never succeeded, and we always
1253         fell back on getting info for the main display.
1254
1255         However, we were already pushing the WKView's displayID down to the
1256         WebProcess for the requestAnimationFrame infrastructure, so use that.
1257
1258         Add a virtual function on Widget windowDisplayID(), that is overridden
1259         in FrameView to return the PlatformDisplayID which Page has.
1260
1261         Fix PlatformScreenMac to fall back to Widget::windowDisplayID() when it fails
1262         to get an NSWindow from the Widget.
1263
1264         Add a utility category on NSScreen to get an NSScreen's displayID, and to
1265         find an NSScreen given a displayID.
1266
1267         * WebCore.exp.in:
1268         * WebCore.xcodeproj/project.pbxproj:
1269         * page/FrameView.cpp:
1270         (WebCore::FrameView::windowDisplayID):
1271         * page/FrameView.h:
1272         * platform/Widget.cpp:
1273         (WebCore::Widget::windowDisplayID):
1274         * platform/Widget.h:
1275         * platform/mac/PlatformScreenMac.h: Added.
1276         * platform/mac/PlatformScreenMac.mm:
1277         (+[NSScreen screenForDislayID:]):
1278         (-[NSScreen displayID]):
1279         (WebCore::screenRect):
1280         (WebCore::screenAvailableRect):
1281         * platform/mac/WidgetMac.mm:
1282         (WebCore::Widget::windowDisplayID):
1283
1284 2013-06-21  Geoffrey Garen  <ggaren@apple.com>
1285
1286         Crashes due to NULL dereference beneath WebCore::StyleResolver::loadPendingSVGDocuments and related functions
1287         https://bugs.webkit.org/show_bug.cgi?id=117903
1288         <rdar://problem/14202130>
1289
1290         Reviewed by Darin Adler.
1291
1292         * css/StyleResolver.cpp:
1293         (WebCore::StyleResolver::loadPendingSVGDocuments): Add a NULL check for
1294         RenderStyle here...
1295         (WebCore::StyleResolver::loadPendingResources): ...and here.
1296
1297 2013-06-21  Simon Fraser  <simon.fraser@apple.com>
1298
1299         Occasional crash swiping between pages
1300         https://bugs.webkit.org/show_bug.cgi?id=117902
1301
1302         Reviewed by Beth Dakin.
1303
1304         m_scrollingStateTree->rootStateNode() can be null when quickly swiping between pages,
1305         so check this in ScrollingCoordinatorMac::commitTreeState().
1306
1307         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1308         (WebCore::ScrollingCoordinatorMac::commitTreeState):
1309
1310 2013-06-21  Brent Fulgham  <bfulgham@apple.com>
1311
1312         AX: Title for ListItemRole should consist of concatenated child text elements.
1313         https://bugs.webkit.org/show_bug.cgi?id=117892
1314
1315         Reviewed by Chris Fleizach.
1316
1317         accessibility/listitem-title.html
1318
1319         * accessibility/AccessibilityNodeObject.cpp:
1320         (WebCore::AccessibilityNodeObject::visibleText): Add ListItemRole to set of
1321         elements that concatenate their children for display purposes.
1322         (WebCore::AccessibilityNodeObject::title): Ditto.
1323
1324 2013-06-21  Sergio Correia  <sergio.correia@openbossa.org>
1325
1326         [MediaStream]: Remove ``>= 0'' assertion from a size_t variable
1327         https://bugs.webkit.org/show_bug.cgi?id=117890
1328
1329         Reviewed by Adam Barth.
1330
1331         This patch fixes a strict build by removing the ``>= 0'' assertion from
1332         a size_t (unsigned type) variable in RTCStatsResponse.cpp.
1333
1334         No new tests; build fix.
1335
1336         * Modules/mediastream/RTCStatsResponse.cpp:
1337         (WebCore::RTCStatsResponse::addStatistic): Remove ``>=0''assertion,
1338         since the variable is unsigned and is always >= 0.
1339
1340 2013-06-21  Alex Christensen  <achristensen@apple.com>
1341
1342         GraphicsContext3DNEON.h cannot be found on Windows and does not need to be found.
1343         https://bugs.webkit.org/show_bug.cgi?id=117894
1344
1345         Reviewed by Brent Fulgham.
1346
1347         * platform/graphics/GraphicsContext3D.cpp:
1348         Added #if HAVE(ARM_NEON_INTRINSICS) around #include "GraphicsContext3DNEON.h"
1349
1350 2013-06-21  Robert Hogan  <robert@webkit.org>
1351
1352         Ignoring padding-right of inline elements in containers with undefined width
1353         https://bugs.webkit.org/show_bug.cgi?id=76451
1354
1355         Reviewed by David Hyatt.
1356
1357         Collapsed trailing space on a normal wrap line should not cause a line-break 
1358         if it is the difference between fitting on the line and breaking. Likewise, on a line that
1359         has a mix of auto-wrap and no-wrap inlines we don't want a trailing space at the end of a no-wrap inline
1360         to be the difference between that no-wrap inline fitting or breaking the line. This latter
1361         scenario is covered already by inline-whitespace-wrapping-8.html.
1362
1363         Test: fast/text/whitespace/inline-whitespace-wrapping-9.html
1364
1365         * rendering/RenderBlockLineLayout.cpp:
1366         (WebCore::LineWidth::fitsOnLine):
1367         (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
1368         (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
1369         (WebCore::LineWidth::currentWidth):
1370         (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
1371         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1372
1373 2013-06-21  Alex Christensen  <achristensen@apple.com>
1374
1375         Added WebGL source files to Windows build and made Windows build successfully with them.
1376         https://bugs.webkit.org/show_bug.cgi?id=117853
1377
1378         Reviewed by Brent Fulgham.
1379
1380         * WebCore.vcxproj/WebCore.vcxproj: Added WebGL source files.
1381         * WebCore.vcxproj/WebCore.vcxproj.filters: Added platform\graphics\opengl and platform\graphics\gpu filters.
1382         * WebCore.vcxproj/WebCorePreBuild.cmd: Copy ANGLE headers and glext.h before building WebCore (which now uses them).
1383         * platform/graphics/ANGLEWebKitBridge.h: Look in newly copied directory for ShaderLang.h.
1384         * platform/graphics/OpenGLShims.h: Include GL/glext.h.
1385         * platform/graphics/gpu/LoopBlinnShader.cpp: 
1386         (WebCore::LoopBlinnShader::use): Fixed parameter ordering in call to uniformMatrix4fv.
1387         * platform/graphics/opengl/GLPlatformSurface.cpp:
1388         (WebCore::GLPlatformSurface::createOffScreenSurface): Added notImplemented for non-EGL builds for now.
1389
1390 2013-06-21  Eric Carlson  <eric.carlson@apple.com>
1391
1392         Update platform text track menu
1393         https://bugs.webkit.org/show_bug.cgi?id=117884
1394
1395         Reviewed by Jer Noble.
1396
1397         * html/HTMLMediaElement.cpp:
1398         (WebCore::HTMLMediaElement::setSelectedTextTrack):
1399         * html/track/TextTrack.cpp:
1400         (WebCore::TextTrack::platformTextTrack):
1401         * platform/graphics/PlatformTextTrack.h:
1402         (WebCore::PlatformTextTrack::create): 
1403         (WebCore::PlatformTextTrack::uniqueId):
1404         (WebCore::PlatformTextTrack::captionMenuOffItem):
1405         (WebCore::PlatformTextTrack::captionMenuAutomaticItem):
1406         (WebCore::PlatformTextTrack::PlatformTextTrack):
1407
1408 2013-06-21  James Craig  <james@cookiecrook.com>
1409
1410         AX: audio/video playback control timers (elapsed and remaining) should be exposed as ApplicationTimerRole
1411         https://bugs.webkit.org/show_bug.cgi?id=117883
1412
1413         Reviewed by Chris Fleizach.
1414
1415         Some of the media controls were returning the wrong role. Updated existing test coverage.
1416
1417         * accessibility/AccessibilityMediaControls.h:
1418         (WebCore::AccessibilityMediaTimeDisplay::roleValue):
1419
1420 2013-06-21  Alex Christensen  <achristensen@apple.com>
1421
1422         Added glext.h from http://www.opengl.org/registry/oldspecs/glext.h for Windows
1423         This file does not meet WebKit style guidelines.
1424         Part of https://bugs.webkit.org/show_bug.cgi?id=117853
1425         
1426         Reviewed by Brent Fulgham.
1427
1428         * platform/graphics/win/GL: Added.
1429         * platform/graphics/win/GL/glext.h: Added.
1430
1431 2013-06-21  Ruth Fong  <ruth_fong@apple.com>
1432
1433         Fix TextTrackCue::cueIndex() to handle the null case of TextTrack::cues(() properly
1434         https://bugs.webkit.org/show_bug.cgi?id=117815
1435         <rdar://problem/14211041> 
1436
1437         Reviewed by Ryosuke Niwa.
1438
1439         This patch adds assert statements to try to catch when 
1440         track()->cues() returns a null pointer.
1441
1442         * html/track/TextTrackCue.cpp:
1443         (WebCore::TextTrackCue::cueIndex):
1444
1445 2013-06-21  Jer Noble  <jer.noble@apple.com>
1446
1447         [iOS] Hang drawing captions after pressing the home button while playing a video
1448         https://bugs.webkit.org/show_bug.cgi?id=117882
1449
1450         Reviewed by Eric Carlson.
1451
1452         Instead of rendering in a callback on the main thread, pre-render the captions and pass to the main
1453         thread as a CGImage. As such, rename paintTextTrackRepresentation() to createTextTrackRepresentationImage().
1454
1455         * html/shadow/MediaControlElements.cpp:
1456         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage): Renamed from
1457             paintTextTrackRepresentation. Now returns an Image object.
1458         * html/shadow/MediaControlElements.h:
1459         * platform/graphics/MediaPlayer.h:
1460         * platform/graphics/TextTrackRepresentation.h:
1461
1462 2013-06-21  Radu Stavila  <stavila@adobe.com>
1463
1464         [CSS Regions] Move overset compute code from flow thread to named flow thread
1465         https://bugs.webkit.org/show_bug.cgi?id=117835
1466
1467         Reviewed by Andreas Kling.
1468
1469         Moved computeOversetStateForRegions() and overset() methods from RenderFlowThread to RenderNamedFlowThread. 
1470         Added ASSERTS in RenderRegion::regionOversetState and RenderRegion::setRegionOversetState to ensure
1471         the region was created from an element.
1472
1473         * rendering/RenderBlock.cpp:
1474         (WebCore::RenderBlock::computeOverflow):
1475         * rendering/RenderFlowThread.cpp:
1476         (WebCore::RenderFlowThread::RenderFlowThread):
1477         * rendering/RenderFlowThread.h:
1478         * rendering/RenderNamedFlowThread.cpp:
1479         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
1480         (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
1481         * rendering/RenderNamedFlowThread.h:
1482         (WebCore::RenderNamedFlowThread::overset):
1483         * rendering/RenderRegion.cpp:
1484         (WebCore::RenderRegion::regionOversetState):
1485         (WebCore::RenderRegion::setRegionOversetState):
1486
1487 2013-06-21  Commit Queue  <commit-queue@webkit.org>
1488
1489         Unreviewed, rolling out r151838.
1490         http://trac.webkit.org/changeset/151838
1491         https://bugs.webkit.org/show_bug.cgi?id=117880
1492
1493         Breaks MediaPlayerPrivateQt on Mac (Requested by carewolf on
1494         #webkit).
1495
1496         * html/HTMLMediaElement.h:
1497
1498 2013-06-20  Brent Fulgham  <bfulgham@apple.com>
1499
1500         [Windows] AX: Radio buttons with "tab" role should describe themselves as tabs
1501         https://bugs.webkit.org/show_bug.cgi?id=117837
1502
1503         Reviewed by Chris Fleizach.
1504
1505         accessibility/aria-tab-role-on-buttons.html
1506
1507         * accessibility/AccessibilityNodeObject.cpp:
1508         (WebCore::AccessibilityNodeObject::canSetSelectedAttribute): Indicate that certain accessibility
1509         types (such as Tabs) can be selected.
1510         * accessibility/AccessibilityNodeObject.h: Signature for canSelectAttribute override.
1511
1512 2013-06-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1513
1514         Remove unused GesturePinch events
1515         https://bugs.webkit.org/show_bug.cgi?id=117875
1516
1517         Reviewed by Andreas Kling.
1518
1519         The gesturePinch events have not been used for some time, even Chromium
1520         had stop using them before moving out of webkit.
1521
1522         * dom/GestureEvent.cpp:
1523         (WebCore::GestureEvent::create):
1524         * page/EventHandler.cpp:
1525         (WebCore::EventHandler::handleGestureEvent):
1526         * platform/PlatformEvent.h:
1527
1528 2013-06-21  Radu Stavila  <stavila@adobe.com>
1529
1530         Improve the reattaching process while applying the :hover style
1531         https://bugs.webkit.org/show_bug.cgi?id=117590
1532
1533         Reviewed by Andreas Kling.
1534
1535         Changes made:
1536             - context is properly propagated to the element's children and to Shadow DOM elements.
1537             - context is properly set on the lazyReattach method.
1538             - another hit-testing is triggered when needed.
1539             - when a hovered element is detached, it's ancestors are also removed from the hovered state.
1540
1541         Tests: fast/css/hover-display-block-inline.html
1542                fast/css/hover-display-block-none.html
1543
1544         * dom/ContainerNode.cpp:
1545         (WebCore::ContainerNode::attach):
1546         (WebCore::ContainerNode::detach):
1547         * dom/ContainerNode.h:
1548         (WebCore::ContainerNode::attachChildren):
1549         (WebCore::ContainerNode::detachChildrenIfNeeded):
1550         (WebCore::ContainerNode::detachChildren):
1551         * dom/Document.cpp:
1552         (WebCore::Document::recalcStyle):
1553         (WebCore::Document::updateHoverActiveState):
1554         * dom/Element.cpp:
1555         (WebCore::Element::attach):
1556         (WebCore::Element::detach):
1557         * dom/ElementShadow.cpp:
1558         (WebCore::ElementShadow::attach):
1559         (WebCore::ElementShadow::detach):
1560         * dom/ElementShadow.h:
1561         * dom/Node.h:
1562         (WebCore::Node::lazyReattach):
1563
1564 2013-06-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1565
1566         HTMLMediaElement should inherit from MediaPlayerClient privately
1567         https://bugs.webkit.org/show_bug.cgi?id=117874
1568
1569         Reviewed by Andreas Kling.
1570
1571         Fixing FIXME: HTMLMediaElement was stuck with public inheritance from
1572         MediaPlayerClient due to the Chromium port.
1573         This can now be fixed to a private inheritance.
1574
1575         * html/HTMLMediaElement.h:
1576
1577 2013-06-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1578
1579         Remove Chromium-only TouchDisambiguation
1580         https://bugs.webkit.org/show_bug.cgi?id=117873
1581
1582         Reviewed by Andreas Kling.
1583
1584         * page/TouchDisambiguation.cpp: Removed.
1585         * page/TouchDisambiguation.h: Removed.
1586
1587 2013-06-21  Zalan Bujtas  <zalan@apple.com>
1588
1589         Rollout r150602: Restoring text-overflow vs. floating rendering behaviour.
1590         https://bugs.webkit.org/show_bug.cgi?id=117871
1591
1592         Unreviewed. Rolling out r150602.
1593         Undesirable rendering behaviour.
1594
1595         * rendering/RenderBlockLineLayout.cpp:
1596         (WebCore::RenderBlock::checkLinesForTextOverflow):
1597
1598 2013-06-21  Radu Stavila  <stavila@adobe.com>
1599
1600         Web Inspector: Integrate new regionOversetChange event into inspector
1601         https://bugs.webkit.org/show_bug.cgi?id=117833
1602
1603         Added the new regionOversetChange event to the WebInspector.
1604
1605         Reviewed by Joseph Pecoraro.
1606
1607         Tests:  inspector/styles/protocol-css-regions-commands.html:
1608
1609         * inspector/Inspector.json:
1610         * inspector/InspectorCSSAgent.cpp:
1611         (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
1612         (WebCore::ChangeRegionOversetTask::scheduleFor):
1613         (WebCore::ChangeRegionOversetTask::unschedule):
1614         (WebCore::ChangeRegionOversetTask::reset):
1615         (WebCore::ChangeRegionOversetTask::onTimer):
1616         (WebCore::InspectorCSSAgent::resetNonPersistentData):
1617         (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
1618         (WebCore::InspectorCSSAgent::didChangeRegionOverset):
1619         (WebCore::InspectorCSSAgent::regionOversetChanged):
1620         * inspector/InspectorCSSAgent.h:
1621         * inspector/InspectorInstrumentation.cpp:
1622         (WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
1623         * inspector/InspectorInstrumentation.h:
1624         (WebCore::InspectorInstrumentation::didChangeRegionOverset):
1625         * inspector/front-end/CSSNamedFlowCollectionsView.js:
1626         (WebInspector.CSSNamedFlowCollectionsView.prototype._regionOversetChanged):
1627         (WebInspector.CSSNamedFlowCollectionsView.prototype.wasShown):
1628         (WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
1629         * inspector/front-end/CSSStyleModel.js:
1630         (WebInspector.CSSStyleModel.prototype._regionOversetChanged):
1631         (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
1632         (WebInspector.CSSDispatcher.prototype.regionOversetChanged):
1633         * rendering/RenderNamedFlowThread.cpp:
1634         (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
1635
1636 2013-06-21  Sergio Correia  <sergio.correia@openbossa.org>
1637
1638         [EFL] NetworkStateNotifierEfl: Use closeWithRetry instead of looping for EINTR on close
1639         https://bugs.webkit.org/show_bug.cgi?id=117872
1640
1641         Reviewed by Christophe Dumez.
1642
1643         closeWithRetry works around the Linux behavior of closing the file descriptor
1644         unconditionally even if the close() call is interrupted.
1645
1646         No new tests, no behavior change.
1647
1648         * platform/network/efl/NetworkStateNotifierEfl.cpp:
1649         (WebCore::NetworkStateNotifier::~NetworkStateNotifier): Use closeWithRetry instead of
1650         looping for EINTR on close.
1651
1652 2013-06-21  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1653
1654         REGRESSION (r150663): Using webkitAudioContext in Inspector makes it undefined everywhere
1655         https://bugs.webkit.org/show_bug.cgi?id=117825
1656
1657         Reviewed by Kentaro Hara.
1658
1659         Partially revert r150663 so that we use Settings to enable WebAudio instead of
1660         RuntimeEnabledFeatures.
1661
1662         Introduce a new [EnabledBySetting] IDL extended attribute which behaves similarly to
1663         the existing [EnabledAtRuntime] but relies on Settings instead of RuntimeEnabledFeatures
1664         to determine if the feature should be enabled. Make use of this new IDL attribute for
1665         webkitAudioContext interface.
1666
1667         No new tests, no behavior change.
1668
1669         * Modules/webaudio/AudioContext.idl:
1670         * WebCore.exp.in:
1671         * WebCore.order:
1672         * bindings/generic/RuntimeEnabledFeatures.cpp:
1673         * bindings/generic/RuntimeEnabledFeatures.h:
1674         * bindings/scripts/CodeGeneratorJS.pm:
1675         (GenerateImplementation):
1676         * bindings/scripts/IDLAttributes.txt:
1677         * bindings/scripts/preprocess-idls.pl:
1678         (GenerateConstructorAttribute):
1679         * bindings/scripts/test/JS/JSTestObj.cpp:
1680         (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
1681         (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
1682         * bindings/scripts/test/JS/JSTestObj.h:
1683         * bindings/scripts/test/ObjC/DOMTestObj.h:
1684         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1685         (-[DOMTestObj TestSubObjEnabledBySetting]):
1686         (-[DOMTestObj setTestSubObjEnabledBySetting:]):
1687         * bindings/scripts/test/TestObj.idl:
1688         * page/Settings.in:
1689
1690 2013-06-21  Krzysztof Czech  <k.czech@samsung.com>
1691
1692         [ATK] Added support for aria-required attribute.
1693         https://bugs.webkit.org/show_bug.cgi?id=117730
1694
1695         Reviewed by Chris Fleizach.
1696
1697         Tests: accessibility/aria-required.html
1698                accessibility/html5-required-attribute.html
1699
1700         The aria-required attribute is used to indicate that user input is required on an
1701         element before a form can be submitted.
1702
1703         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1704         (setAtkStateSetFromCoreObject):
1705
1706 2013-06-21  Chris Fleizach  <cfleizach@apple.com>
1707
1708         IndieUI: Add basic IndieUI infrastructure
1709         https://bugs.webkit.org/show_bug.cgi?id=117367
1710
1711         Unreviewed. Revert erroneous file that was included accidentally.
1712
1713         * accessibility/AccessibilityNodeObject.h:
1714
1715 2013-06-21  Chris Fleizach  <cfleizach@apple.com>
1716
1717         IndieUI: Add basic IndieUI infrastructure
1718         https://bugs.webkit.org/show_bug.cgi?id=117367
1719
1720         Reviewed by Ryosuke Niwa.
1721
1722         IndieUI is a new W3C spec that aims to abstract the connection between input and action, so that
1723         a user (possibly using assistive technologies like a screen reader) does not need a specific kind
1724         of device (like a mouse) to interact with an object.
1725         http://www.w3.org/WAI/IndieUI/
1726
1727         This initial patch adds in the basic support for UIRequestEvent and the uiactions attribute.
1728         It modifies the config files to enable and build this feature.
1729
1730         Tests: indieui/create-uirequestevent.html
1731                indieui/uiactions.html
1732
1733         * CMakeLists.txt:
1734         * Configurations/FeatureDefines.xcconfig:
1735         * DerivedSources.make:
1736         * GNUmakefile.am:
1737         * Modules/indieui: Added.
1738         * Modules/indieui/UIRequestEvent.cpp: Added.
1739         (WebCore::UIRequestEventInit::UIRequestEventInit):
1740         (WebCore::UIRequestEvent::create):
1741         (WebCore::UIRequestEvent::UIRequestEvent):
1742         (WebCore::UIRequestEvent::~UIRequestEvent):
1743         (WebCore::UIRequestEvent::interfaceName):
1744         (WebCore::UIRequestEventDispatchMediator::UIRequestEventDispatchMediator):
1745         (WebCore::UIRequestEventDispatchMediator::event):
1746         (WebCore::UIRequestEventDispatchMediator::dispatchEvent):
1747         * Modules/indieui/UIRequestEvent.h: Added.
1748         (WebCore::UIRequestEvent::receiver):
1749         (WebCore::UIRequestEventDispatchMediator::create):
1750         * Modules/indieui/UIRequestEvent.idl: Added.
1751         * WebCore.xcodeproj/project.pbxproj:
1752         * accessibility/AccessibilityNodeObject.h:
1753         * dom/Element.cpp:
1754         (WebCore::Element::setUIActions):
1755         (WebCore::Element::UIActions):
1756         * dom/Element.h:
1757         * dom/Element.idl:
1758         * dom/Event.cpp:
1759         (WebCore::EventInit::EventInit):
1760         * dom/Event.h:
1761         * dom/EventNames.in:
1762         * dom/Node.cpp:
1763         (WebCore::Node::dispatchUIRequestEvent):
1764         * dom/Node.h:
1765         * dom/UIEvent.cpp:
1766         (WebCore::UIEventInit::UIEventInit):
1767         * dom/UIEvent.h:
1768         * html/HTMLAttributeNames.in:
1769
1770 2013-06-20  Ryosuke Niwa  <rniwa@webkit.org>
1771
1772         REGRESSION(r145788): mouse drag on canvas shouldn't start selection
1773         https://bugs.webkit.org/show_bug.cgi?id=117860
1774
1775         Reviewed by Benjamin Poulain.
1776
1777         Like HTMLImageElement, HTMLCanvasElement shouldn't start selection.
1778
1779         Also uninline some virtual function overrides.
1780
1781         Test: fast/events/mosuedrag-on-canvas-should-not-start-selection.html
1782
1783         * html/HTMLCanvasElement.cpp:
1784         (WebCore::HTMLCanvasElement::areAuthorShadowsAllowed):
1785         (WebCore::HTMLCanvasElement::canContainRangeEndPoint):
1786         (WebCore::HTMLCanvasElement::canStartSelection):
1787         * html/HTMLCanvasElement.h:
1788
1789 2013-06-20  Ryosuke Niwa  <rniwa@webkit.org>
1790
1791         REGRESSION(r149652): accessing items in .children via id doesn't work when element is not rooted in DOM tree
1792         https://bugs.webkit.org/show_bug.cgi?id=117836
1793
1794         Reviewed by Benjamin Poulain.
1795
1796         When the root node of a HTML collection is not in the document or in a shadow tree,
1797         we shouldn't use its tree scope's id and name maps to find name getters.
1798
1799         Always use the slow path in such cases.
1800
1801         Test: fast/dom/htmlallcollection-detached-node-children.html
1802
1803         * html/HTMLCollection.cpp:
1804         (WebCore::HTMLCollection::namedItem):
1805
1806 2013-06-20  Alexey Proskuryakov  <ap@apple.com>
1807
1808         https://bugs.webkit.org/show_bug.cgi?id=116495
1809         Fix null-pointer deref in DocumentLoader::responseReceived()
1810
1811         Patch by Nate Chapin, reviewed by Mike West and myself.
1812
1813         Test: http/tests/security/XFrameOptions/x-frame-options-deny-delete-frame-in-load-event.html
1814
1815         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::responseReceived): Added
1816         a null check.
1817
1818 2013-06-20  Roger Fong  <roger_fong@apple.com>
1819
1820         Unreviewed. Roll out part of r150618.
1821
1822         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1823
1824 2013-06-20  Enrica Casucci  <enrica@apple.com>
1825
1826         Initial advance on the first glyph of the run is not correctly set for rtl text.
1827         https://bugs.webkit.org/show_bug.cgi?id=117839
1828         <rdar://problem/13860717>
1829
1830         Reviewed by Sam Weinig.
1831
1832         We need to set the initial advance to the glyphBuffer, using the
1833         initial advance of the complex run that will be drawn first.
1834         In order to choose the run correctly we must consider the text direction.
1835
1836         Test: fast/text/complex-first-glyph-with-initial-advance.html
1837
1838         * platform/graphics/mac/ComplexTextController.cpp:
1839         (WebCore::ComplexTextController::advance):
1840
1841 2013-06-20  Alex Christensen  <achristensen@apple.com>
1842
1843         Fixed WebGL compile errors on Windows.
1844         https://bugs.webkit.org/show_bug.cgi?id=117805
1845
1846         Reviewed by Brent Fulgham.
1847
1848         * html/canvas/WebGLRenderingContext.cpp: Included CString.h.
1849         Added PLATFORM(WIN) to existing lists of platform macros.
1850         * platform/graphics/ANGLEWebKitBridge.h:
1851         * platform/graphics/GraphicsContext3D.h:
1852         (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
1853         * platform/graphics/OpenGLESShims.h:
1854
1855 2013-06-20  Simon Fraser  <simon.fraser@apple.com>
1856
1857         FrameView needs to initialize paintsEntireContents on creation
1858         https://bugs.webkit.org/show_bug.cgi?id=117844
1859
1860         Reviewed by Anders Carlsson.
1861
1862         In WebKit1, if the WebView is layer-backed, WebHTMLView gets a layer.
1863         In this mode, FrameView::paintsEntireContents() is true. However,
1864         we would only call setPaintsEntireContents(true) on the FrameView
1865         when the view's layer-backed status changes. FrameView also needs
1866         to fetch this state when it is initialized, because we may be creating
1867         a new FrameView for an already layer-backed WebHTMLView.
1868
1869         * page/ChromeClient.h:
1870         (WebCore::ChromeClient::shouldPaintEntireContents):
1871         * page/FrameView.cpp:
1872         (WebCore::FrameView::init):
1873
1874 2013-06-20  Simon Fraser  <simon.fraser@apple.com>
1875
1876         Sticky elements are missing or misplaced sometimes when reloading a page that scrolls to a named anchor
1877         https://bugs.webkit.org/show_bug.cgi?id=117819
1878
1879         Reviewed by Anders Carlsson.
1880         
1881         At the end of FrameView::performPostLayoutTasks() we call scrollToAnchor() which attempts
1882         to restore the scroll position to a named anchor, even when the document has been
1883         changed by layout. This ends up in a call to ScrollView::scrollTo(), which in turn
1884         calls repaintFixedElementsAfterScrolling(). However, repaintFixedElementsAfterScrolling()
1885         would bail if m_nestedLayoutCount != 0, so we never updated layer positions which
1886         depend on scroll position (but which would not be updated by layout, since their
1887         renderers are not marked for layout when scrolling happens).
1888         
1889         We've solved this problem once before in updateFixedElementsAfterScrolling() which
1890         checks for m_nestedLayoutCount <= 1, so that we do work on the outermost nested layout.
1891         Apply that same fix to repaintFixedElementsAfterScrolling().
1892
1893         Very timing-dependent, so hard to make a test.
1894
1895         * page/FrameView.cpp:
1896         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
1897
1898 2013-06-20  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1899
1900         HashSet: reverse the order of the template arguments at alternate 'find', 'contains' and 'add' methods
1901         https://bugs.webkit.org/show_bug.cgi?id=117830
1902
1903         Reviewed by Anders Carlsson.
1904
1905         The order of the template arguments at HashSet alternate 'find', 'contains' and
1906         'add' methods is reversed so that callers can just pass the translator
1907         and let the compiler deduce input argument type.
1908
1909         No new tests. No new functionality.
1910
1911         * dom/QualifiedName.cpp:
1912         (WebCore::QualifiedName::QualifiedName):
1913         * platform/graphics/cg/SubimageCacheWithTimer.cpp:
1914         (WebCore::SubimageCacheWithTimer::getSubimage):
1915         * svg/SVGAElement.cpp:
1916         (WebCore::SVGAElement::isSupportedAttribute):
1917         * svg/SVGAnimateMotionElement.cpp:
1918         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
1919         * svg/SVGAnimateTransformElement.cpp:
1920         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
1921         * svg/SVGAnimationElement.cpp:
1922         (WebCore::SVGAnimationElement::isSupportedAttribute):
1923         * svg/SVGCircleElement.cpp:
1924         (WebCore::SVGCircleElement::isSupportedAttribute):
1925         * svg/SVGClipPathElement.cpp:
1926         (WebCore::SVGClipPathElement::isSupportedAttribute):
1927         * svg/SVGComponentTransferFunctionElement.cpp:
1928         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
1929         * svg/SVGCursorElement.cpp:
1930         (WebCore::SVGCursorElement::isSupportedAttribute):
1931         * svg/SVGEllipseElement.cpp:
1932         (WebCore::SVGEllipseElement::isSupportedAttribute):
1933         * svg/SVGFEBlendElement.cpp:
1934         (WebCore::SVGFEBlendElement::isSupportedAttribute):
1935         * svg/SVGFEColorMatrixElement.cpp:
1936         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
1937         * svg/SVGFEComponentTransferElement.cpp:
1938         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
1939         * svg/SVGFECompositeElement.cpp:
1940         (WebCore::SVGFECompositeElement::isSupportedAttribute):
1941         * svg/SVGFEConvolveMatrixElement.cpp:
1942         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
1943         * svg/SVGFEDiffuseLightingElement.cpp:
1944         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
1945         * svg/SVGFEDisplacementMapElement.cpp:
1946         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
1947         * svg/SVGFEDropShadowElement.cpp:
1948         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
1949         * svg/SVGFEGaussianBlurElement.cpp:
1950         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
1951         * svg/SVGFEImageElement.cpp:
1952         (WebCore::SVGFEImageElement::isSupportedAttribute):
1953         * svg/SVGFELightElement.cpp:
1954         (WebCore::SVGFELightElement::isSupportedAttribute):
1955         * svg/SVGFEMergeNodeElement.cpp:
1956         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
1957         * svg/SVGFEMorphologyElement.cpp:
1958         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
1959         * svg/SVGFEOffsetElement.cpp:
1960         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
1961         * svg/SVGFESpecularLightingElement.cpp:
1962         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
1963         * svg/SVGFETileElement.cpp:
1964         (WebCore::SVGFETileElement::isSupportedAttribute):
1965         * svg/SVGFETurbulenceElement.cpp:
1966         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
1967         * svg/SVGFilterElement.cpp:
1968         (WebCore::SVGFilterElement::isSupportedAttribute):
1969         (WebCore::SVGFilterElement::childShouldCreateRenderer):
1970         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1971         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
1972         * svg/SVGForeignObjectElement.cpp:
1973         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
1974         * svg/SVGGElement.cpp:
1975         (WebCore::SVGGElement::isSupportedAttribute):
1976         * svg/SVGGradientElement.cpp:
1977         (WebCore::SVGGradientElement::isSupportedAttribute):
1978         * svg/SVGImageElement.cpp:
1979         (WebCore::SVGImageElement::isSupportedAttribute):
1980         * svg/SVGLineElement.cpp:
1981         (WebCore::SVGLineElement::isSupportedAttribute):
1982         * svg/SVGLinearGradientElement.cpp:
1983         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
1984         * svg/SVGMPathElement.cpp:
1985         (WebCore::SVGMPathElement::isSupportedAttribute):
1986         * svg/SVGMarkerElement.cpp:
1987         (WebCore::SVGMarkerElement::isSupportedAttribute):
1988         * svg/SVGMaskElement.cpp:
1989         (WebCore::SVGMaskElement::isSupportedAttribute):
1990         * svg/SVGPathElement.cpp:
1991         (WebCore::SVGPathElement::isSupportedAttribute):
1992         * svg/SVGPatternElement.cpp:
1993         (WebCore::SVGPatternElement::isSupportedAttribute):
1994         * svg/SVGPolyElement.cpp:
1995         (WebCore::SVGPolyElement::isSupportedAttribute):
1996         * svg/SVGRadialGradientElement.cpp:
1997         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
1998         * svg/SVGRectElement.cpp:
1999         (WebCore::SVGRectElement::isSupportedAttribute):
2000         * svg/SVGScriptElement.cpp:
2001         (WebCore::SVGScriptElement::isSupportedAttribute):
2002         * svg/SVGStopElement.cpp:
2003         (WebCore::SVGStopElement::isSupportedAttribute):
2004         * svg/SVGStyleElement.cpp:
2005         (WebCore::SVGStyleElement::isSupportedAttribute):
2006         * svg/SVGStyledTransformableElement.cpp:
2007         (WebCore::SVGStyledTransformableElement::isSupportedAttribute):
2008         * svg/SVGSymbolElement.cpp:
2009         (WebCore::SVGSymbolElement::isSupportedAttribute):
2010         * svg/SVGTRefElement.cpp:
2011         (WebCore::SVGTRefElement::isSupportedAttribute):
2012         * svg/SVGTextContentElement.cpp:
2013         (WebCore::SVGTextContentElement::isSupportedAttribute):
2014         * svg/SVGTextElement.cpp:
2015         (WebCore::SVGTextElement::isSupportedAttribute):
2016         * svg/SVGTextPathElement.cpp:
2017         (WebCore::SVGTextPathElement::isSupportedAttribute):
2018         * svg/SVGTextPositioningElement.cpp:
2019         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
2020         * svg/SVGUseElement.cpp:
2021         (WebCore::SVGUseElement::isSupportedAttribute):
2022         (WebCore::isDisallowedElement):
2023         * svg/SVGViewElement.cpp:
2024         (WebCore::SVGViewElement::isSupportedAttribute):
2025         * svg/animation/SVGSMILElement.cpp:
2026         (WebCore::SVGSMILElement::isSupportedAttribute):
2027
2028 2013-06-20  Commit Queue  <commit-queue@webkit.org>
2029
2030         Unreviewed, rolling out r151451.
2031         http://trac.webkit.org/changeset/151451
2032         https://bugs.webkit.org/show_bug.cgi?id=117848
2033
2034         "Broke quite a lot of sites" (Requested by rhogan on #webkit).
2035
2036         * rendering/RenderBox.cpp:
2037         (WebCore::RenderBox::computePositionedLogicalWidth):
2038         (WebCore::RenderBox::computePositionedLogicalHeight):
2039         * rendering/RenderBox.h:
2040         (WebCore::RenderBox::intrinsicSize):
2041         * rendering/RenderButton.h:
2042         * rendering/RenderListBox.cpp:
2043         (WebCore::RenderListBox::RenderListBox):
2044         (WebCore::RenderListBox::computeLogicalHeight):
2045         * rendering/RenderListBox.h:
2046         * rendering/RenderMenuList.h:
2047         * rendering/RenderReplaced.h:
2048         * rendering/RenderTextControl.cpp:
2049         (WebCore::RenderTextControl::RenderTextControl):
2050         (WebCore::RenderTextControl::computeLogicalHeight):
2051         * rendering/RenderTextControl.h:
2052
2053 2013-06-20  Commit Queue  <commit-queue@webkit.org>
2054
2055         Unreviewed, rolling out r151788.
2056         http://trac.webkit.org/changeset/151788
2057         https://bugs.webkit.org/show_bug.cgi?id=117847
2058
2059         "This is the wrong fix" (Requested by rhogan on #webkit).
2060
2061         * rendering/RenderTextControl.cpp:
2062         (WebCore::RenderTextControl::computeLogicalHeight):
2063         (WebCore::RenderTextControl::computePreferredLogicalWidths):
2064
2065 2013-05-24  Balazs Kelemen  <kbalazs@webkit.org>
2066
2067         [Gstreamer] cleanup buffering and state updates
2068         https://bugs.webkit.org/show_bug.cgi?id=116642
2069
2070         Reviewed by Philippe Normand.
2071
2072         Covered by existing media tests, especially the ones that have been unskipped.
2073
2074         Always do download buffering. It should not differ if preload is "none" because
2075         it's about when to start buffering, not about how. Fix a bunch other subtle issues
2076         to make this change go smoothly with the tests. As a bonus some tests that were
2077         failing so far started to pass.
2078         It is possible to further tweak the buffering in a way that will enable us to support
2079         a different and appropriate behavior for preload="metadata" but it should be managed
2080         a bit differently. I will implement it in a follow-up.
2081
2082         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2083         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2084         (WebCore::MediaPlayerPrivateGStreamer::load): Don't call setDownloadBuffering
2085         yet. Now it also responsible for starting the fill timer and it turned out that
2086         setting the download flag before the pipeline is set to a state has negative
2087         effect on some tests. Most probably GStreamer starts buffering too early if
2088         we set the download flag.
2089         (WebCore::MediaPlayerPrivateGStreamer::commitLoad): Call setDownloadBuffering now.
2090         (WebCore::MediaPlayerPrivateGStreamer::play): Ditto, plus set m_delayingLoad to false
2091         because otherwise setPreload will wrongly assume that the load has not been committed
2092         yet if prepareToPlay is not called before play.
2093         (WebCore::MediaPlayerPrivateGStreamer::pause): Make sure we don't commit a load here
2094         if it was not committed yet by looking in the pipeline state.
2095         (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): No need to observe the
2096         type of buffering.
2097         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Introduced m_downloadFinished to update
2098         ready and network states in updateStates based on it. The previously used condition
2099         - (maxTimeLoaded() == duration()) - was not correct in the case when duration is not known.
2100         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded): Removed a lie. If the fill timer is not active
2101         it does not necesarily means that download has been finished. This lie was actually ensuring
2102         a lot of tests to pass because it made the condition (maxTimeLoaded() == duration()) true.
2103         Now that state updates has been cleaned up we don't need to lie.
2104         (WebCore::MediaPlayerPrivateGStreamer::updateStates): Merge all the parts that takes part in updating
2105         ready and network states. It was untrackable. Unset download buffering for for live streams early so
2106         we don't need to restart them.
2107         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2108         (MediaPlayerPrivateGStreamer): Removed m_startedBuffering because there is no need for it now.
2109
2110 2013-06-20  Eric Carlson  <eric.carlson@apple.com>
2111
2112         ASSERT removing then adding a <track> element
2113         https://bugs.webkit.org/show_bug.cgi?id=117814
2114
2115         Reviewed by Jer Noble.
2116
2117         Test: media/track/add-and-remove-track.html
2118
2119         * html/HTMLTrackElement.cpp:
2120         (WebCore::HTMLTrackElement::insertedInto): Always call ensureTrack before adding the track
2121             to the parent <video> element.
2122         (WebCore::HTMLTrackElement::ensureTrack): Call m_track->setTrackElement() in case the
2123             parent was cleared after m_track was created.
2124
2125         * html/track/LoadableTextTrack.cpp:
2126         (WebCore::LoadableTextTrack::setTrackElement): New, set m_trackElement.
2127         * html/track/LoadableTextTrack.h:
2128
2129 2013-06-20  Roger Fong  <roger_fong@apple.com>
2130
2131         Unreviewed. Build fix for Apple Windows port.
2132
2133         * rendering/RenderThemeWin.cpp:
2134         (WebCore::cssValueIdToSysColorIndex):
2135
2136 2013-06-20  Alexey Proskuryakov  <ap@apple.com>
2137
2138         [Mac] Downloaded file name encoding is incorrect when download link opens in a new window
2139         https://bugs.webkit.org/show_bug.cgi?id=117818
2140         <rdar://problem/14212635>
2141
2142         Reviewed by Brady Eidson.
2143
2144         No tests added. The machinery we have for logging downloaded file name is very
2145         far from being able to work in a secondary window.
2146
2147         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):
2148         Made a targeted fix - don't update encoding fallback array if we already have one,
2149         there is no chance for it to be more correct. In this case, it's incorrect because
2150         it comes from a new blank window, instead of original referer.
2151         We have a lot of code in addExtraFieldsToRequest() to struggle with this, and we have
2152         a FIXME to try not calling it from policy delegate.
2153
2154 2013-06-18  Robert Hogan  <robert@webkit.org>
2155
2156         REGRESSION (r151451): Text not vertically centered correctly on icloud.com
2157         https://bugs.webkit.org/show_bug.cgi?id=117744
2158
2159         Reviewed by David Hyatt.
2160
2161         The positioned height and width computation adds in the element's border and padding so 
2162         don't add it to the intrinsic height and preferred widths of text controls that are
2163         absolutely positioned.
2164
2165         Test: fast/replaced/height-of-positioned-text-control.html
2166
2167         * rendering/RenderTextControl.cpp:
2168         (WebCore::RenderTextControl::computeLogicalHeight):
2169         (WebCore::RenderTextControl::computePreferredLogicalWidths):
2170
2171 2013-06-20  Roger Fong  <roger_fong@apple.com>
2172
2173         Make Windows makefile copy build output to a different folder.
2174         <rdar://problem/14219184>.
2175
2176         * WebCore.vcxproj/WebCore.make:
2177
2178 2013-06-19  Jer Noble  <jer.noble@apple.com>
2179
2180         Roll-on in-band captions are displayed bottom-to-top rather than top-to-bottom.
2181         https://bugs.webkit.org/show_bug.cgi?id=117811
2182
2183         Reviewed by Eric Carlson.
2184
2185         When comparing Generic cues, we should check that their type is Generic, not WebVTT.
2186
2187         * html/track/TextTrackCueGeneric.cpp:
2188         (WebCore::TextTrackCueGeneric::isOrderedBefore):
2189
2190 2013-06-20  Ralph Thomas  <ralpht@gmail.com>
2191
2192         [CMake][CSS Shaders] Add WebCore files for CSS Shaders to CMakeLists.txt
2193         https://bugs.webkit.org/show_bug.cgi?id=117711
2194
2195         Reviewed by Laszlo Gombos.
2196
2197         No new tests, no CMake platforms currently enable this functionality.
2198
2199         * CMakeLists.txt:
2200
2201 2013-06-20  Alexis Menard  <alexis@webkit.org>
2202
2203         Cleanup usage of CSSPropertyID and CSSValueID inside WebKit.
2204         https://bugs.webkit.org/show_bug.cgi?id=117829
2205
2206         Reviewed by Andreas Kling.
2207
2208         A lot of call sites were using integers to represent them. While it's
2209         not incorrect per se, it's not ideal for various reason such as type
2210         safety or to remove ambiguity.
2211
2212         This patch eradicate the wrong usage by not letting any integer based
2213         API for getting CSSValueIDs or CSSPropertyIDs from CSSPrimitiveValues.
2214
2215         Instead we use new but typed functions to construct the values as well
2216         as getting them. Two customs and internal types were added to CSSPrimitiveValue
2217         to handle correctly the new APIs.
2218
2219         It's good to note that in order to preserve compatibility on the
2220         CSSPrimitiveValue type whenever CSSPrimitiveValue handles a CSSValueID
2221         or a CSSPropertyID the return type for the public API will be CSS_IDENT
2222         despite it is a separate internal type.
2223
2224         No new tests: refactor, existing tests should cover.
2225
2226         * css/CSSComputedStyleDeclaration.cpp:
2227         (WebCore::ComputedStyleExtractor::propertyMatches):
2228         * css/CSSFontSelector.cpp:
2229         (WebCore::CSSFontSelector::addFontFaceRule):
2230         * css/CSSGradientValue.cpp:
2231         (WebCore::positionFromValue):
2232         (WebCore::CSSLinearGradientValue::customCssText):
2233         (WebCore::CSSLinearGradientValue::createGradient):
2234         (WebCore::CSSRadialGradientValue::customCssText):
2235         (WebCore::CSSRadialGradientValue::createGradient):
2236         * css/CSSParser.cpp:
2237         (WebCore::CSSParser::parseSystemColor):
2238         (WebCore::isFillPositionKeyword):
2239         (WebCore::CSSParser::parse4ValuesFillPosition):
2240         (WebCore::CSSParser::parse3ValuesFillPosition):
2241         (WebCore::CSSParser::parseFillPosition):
2242         (WebCore::CSSParser::parseFillRepeat):
2243         (WebCore::CSSParser::parseRadialGradient):
2244         (WebCore::CSSParser::isBlendMode):
2245         (WebCore::CSSParser::isCompositeOperator):
2246         * css/CSSParser.h:
2247         * css/CSSParserValues.cpp:
2248         (WebCore::CSSParserValue::createCSSValue):
2249         * css/CSSPrimitiveValue.cpp:
2250         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2251         (WebCore::CSSPrimitiveValue::primitiveType):
2252         (WebCore::propertyName):
2253         (WebCore::valueName):
2254         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2255         (WebCore::CSSPrimitiveValue::cleanup):
2256         (WebCore::CSSPrimitiveValue::getStringValue):
2257         (WebCore::CSSPrimitiveValue::customCssText):
2258         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
2259         (WebCore::CSSPrimitiveValue::equals):
2260         * css/CSSPrimitiveValue.h:
2261         (WebCore::CSSPrimitiveValue::isFontRelativeLength):
2262         (WebCore::CSSPrimitiveValue::isValueID):
2263         (WebCore::CSSPrimitiveValue::createIdentifier):
2264         (WebCore::CSSPrimitiveValue::createParserOperator):
2265         (WebCore::CSSPrimitiveValue::getPropertyID):
2266         (WebCore::CSSPrimitiveValue::getValueID):
2267         * css/CSSPrimitiveValueMappings.h:
2268         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2269         (WebCore::CSSPrimitiveValue::operator CSSReflectionDirection):
2270         (WebCore::CSSPrimitiveValue::operator ColumnSpan):
2271         (WebCore::CSSPrimitiveValue::operator PrintColorAdjust):
2272         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
2273         (WebCore::CSSPrimitiveValue::operator OutlineIsAuto):
2274         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
2275         (WebCore::CSSPrimitiveValue::operator ControlPart):
2276         (WebCore::CSSPrimitiveValue::operator EBackfaceVisibility):
2277         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
2278         (WebCore::CSSPrimitiveValue::operator EFillBox):
2279         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
2280         (WebCore::CSSPrimitiveValue::operator EBoxPack):
2281         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
2282         (WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak):
2283         (WebCore::CSSPrimitiveValue::operator BackgroundEdgeOrigin):
2284         (WebCore::CSSPrimitiveValue::operator EBoxSizing):
2285         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
2286         (WebCore::CSSPrimitiveValue::operator EBoxLines):
2287         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
2288         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
2289         (WebCore::CSSPrimitiveValue::operator EClear):
2290         (WebCore::CSSPrimitiveValue::operator ECursor):
2291         (WebCore::CSSPrimitiveValue::operator CursorVisibility):
2292         (WebCore::CSSPrimitiveValue::operator EDisplay):
2293         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
2294         (WebCore::CSSPrimitiveValue::operator EAlignItems):
2295         (WebCore::CSSPrimitiveValue::operator EJustifyContent):
2296         (WebCore::CSSPrimitiveValue::operator EFlexDirection):
2297         (WebCore::CSSPrimitiveValue::operator EAlignContent):
2298         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
2299         (WebCore::CSSPrimitiveValue::operator EFloat):
2300         (WebCore::CSSPrimitiveValue::operator LineBreak):
2301         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
2302         (WebCore::CSSPrimitiveValue::operator EListStyleType):
2303         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
2304         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
2305         (WebCore::CSSPrimitiveValue::operator RegionFragment):
2306         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
2307         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
2308         (WebCore::CSSPrimitiveValue::operator EOverflow):
2309         (WebCore::CSSPrimitiveValue::operator EPageBreak):
2310         (WebCore::CSSPrimitiveValue::operator EPosition):
2311         (WebCore::CSSPrimitiveValue::operator EResize):
2312         (WebCore::CSSPrimitiveValue::operator ETableLayout):
2313         (WebCore::CSSPrimitiveValue::operator ETextAlign):
2314         (WebCore::CSSPrimitiveValue::operator TextAlignLast):
2315         (WebCore::CSSPrimitiveValue::operator TextJustify):
2316         (WebCore::CSSPrimitiveValue::operator TextDecoration):
2317         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
2318         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
2319         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
2320         (WebCore::CSSPrimitiveValue::operator ETextTransform):
2321         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
2322         (WebCore::CSSPrimitiveValue::operator EUserDrag):
2323         (WebCore::CSSPrimitiveValue::operator EUserModify):
2324         (WebCore::CSSPrimitiveValue::operator EUserSelect):
2325         (WebCore::CSSPrimitiveValue::operator EVerticalAlign):
2326         (WebCore::CSSPrimitiveValue::operator EVisibility):
2327         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
2328         (WebCore::CSSPrimitiveValue::operator EWordBreak):
2329         (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
2330         (WebCore::CSSPrimitiveValue::operator TextDirection):
2331         (WebCore::CSSPrimitiveValue::operator WritingMode):
2332         (WebCore::CSSPrimitiveValue::operator TextCombine):
2333         (WebCore::CSSPrimitiveValue::operator RubyPosition):
2334         (WebCore::CSSPrimitiveValue::operator TextEmphasisPosition):
2335         (WebCore::CSSPrimitiveValue::operator TextOverflow):
2336         (WebCore::CSSPrimitiveValue::operator TextEmphasisFill):
2337         (WebCore::CSSPrimitiveValue::operator TextEmphasisMark):
2338         (WebCore::CSSPrimitiveValue::operator TextOrientation):
2339         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
2340         (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning):
2341         (WebCore::CSSPrimitiveValue::operator FontSmoothingMode):
2342         (WebCore::CSSPrimitiveValue::operator FontWeight):
2343         (WebCore::CSSPrimitiveValue::operator FontItalic):
2344         (WebCore::CSSPrimitiveValue::operator FontSmallCaps):
2345         (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
2346         (WebCore::CSSPrimitiveValue::operator ColorSpace):
2347         (WebCore::CSSPrimitiveValue::operator Hyphens):
2348         (WebCore::CSSPrimitiveValue::operator LineSnap):
2349         (WebCore::CSSPrimitiveValue::operator LineAlign):
2350         (WebCore::CSSPrimitiveValue::operator Order):
2351         (WebCore::CSSPrimitiveValue::operator ESpeak):
2352         (WebCore::CSSPrimitiveValue::operator BlendMode):
2353         (WebCore::CSSPrimitiveValue::operator LineCap):
2354         (WebCore::CSSPrimitiveValue::operator LineJoin):
2355         (WebCore::CSSPrimitiveValue::operator WindRule):
2356         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
2357         (WebCore::CSSPrimitiveValue::operator EBorderCollapse):
2358         (WebCore::CSSPrimitiveValue::operator EBorderFit):
2359         (WebCore::CSSPrimitiveValue::operator EImageRendering):
2360         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
2361         (WebCore::CSSPrimitiveValue::operator ColumnAxis):
2362         (WebCore::CSSPrimitiveValue::operator ColumnProgression):
2363         (WebCore::CSSPrimitiveValue::operator WrapFlow):
2364         (WebCore::CSSPrimitiveValue::operator WrapThrough):
2365         (WebCore::CSSPrimitiveValue::operator GridAutoFlow):
2366         (WebCore::CSSPrimitiveValue::convertToLength):
2367         (WebCore::CSSPrimitiveValue::operator EBufferedRendering):
2368         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
2369         (WebCore::CSSPrimitiveValue::operator EColorRendering):
2370         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
2371         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
2372         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
2373         (WebCore::CSSPrimitiveValue::operator SVGWritingMode):
2374         (WebCore::CSSPrimitiveValue::operator EVectorEffect):
2375         (WebCore::CSSPrimitiveValue::operator EMaskType):
2376         * css/CSSToStyleMap.cpp:
2377         (WebCore::CSSToStyleMap::mapFillAttachment):
2378         (WebCore::CSSToStyleMap::mapFillSize):
2379         (WebCore::CSSToStyleMap::mapAnimationDirection):
2380         (WebCore::CSSToStyleMap::mapAnimationFillMode):
2381         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
2382         (WebCore::CSSToStyleMap::mapAnimationName):
2383         (WebCore::CSSToStyleMap::mapAnimationPlayState):
2384         (WebCore::CSSToStyleMap::mapAnimationProperty):
2385         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2386         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
2387         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
2388         * css/Counter.h:
2389         (WebCore::Counter::listStyleIdent):
2390         * css/DeprecatedStyleBuilder.cpp:
2391         (WebCore::ApplyPropertyNumber::applyValue):
2392         (WebCore::ApplyPropertyAuto::applyValue):
2393         (WebCore::ApplyPropertyClip::applyValue):
2394         (WebCore::ApplyPropertyColor::applyValue):
2395         (WebCore::ApplyPropertyLength::applyValue):
2396         (WebCore::ApplyPropertyString::applyValue):
2397         (WebCore::ApplyPropertyComputeLength::applyValue):
2398         (WebCore::ApplyPropertyFontFamily::applyValue):
2399         (WebCore::ApplyPropertyFontSize::applyValue):
2400         (WebCore::ApplyPropertyFontWeight::applyValue):
2401         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2402         (WebCore::ApplyPropertyCounter::applyValue):
2403         (WebCore::ApplyPropertyCursor::applyValue):
2404         (WebCore::ApplyPropertyTextAlign::applyValue):
2405         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2406         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
2407         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
2408         (WebCore::ApplyPropertyLineHeight::applyValue):
2409         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
2410         (WebCore::ApplyPropertyPageSize::applyValue):
2411         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2412         (WebCore::ApplyPropertyResize::applyValue):
2413         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2414         (WebCore::ApplyPropertyZoom::applyValue):
2415         (WebCore::ApplyPropertyClipPath::applyValue):
2416         (WebCore::ApplyPropertyShape::applyValue):
2417         (WebCore::ApplyPropertyImageResolution::applyValue):
2418         (WebCore::ApplyPropertyTextIndent::applyValue):
2419         * css/MediaQueryEvaluator.cpp:
2420         (WebCore::orientationMediaFeatureEval):
2421         (WebCore::view_modeMediaFeatureEval):
2422         (WebCore::pointerMediaFeatureEval):
2423         * css/SVGCSSParser.cpp:
2424         (WebCore::CSSParser::parseSVGValue):
2425         * css/SVGCSSStyleSelector.cpp:
2426         (WebCore::StyleResolver::applySVGProperty):
2427         * css/StylePropertySet.cpp:
2428         (WebCore::StylePropertySet::getLayeredShorthandValue):
2429         * css/StyleResolver.cpp:
2430         (WebCore::createGridTrackBreadth):
2431         (WebCore::createGridTrackList):
2432         (WebCore::createGridPosition):
2433         (WebCore::StyleResolver::applyProperty):
2434         (WebCore::colorForCSSValue):
2435         (WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
2436         (WebCore::StyleResolver::colorFromPrimitiveValue):
2437         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2438         (WebCore::StyleResolver::createFilterOperations):
2439         * css/ViewportStyleResolver.cpp:
2440         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
2441         * css/WebKitCSSMatrix.cpp:
2442         (WebCore::WebKitCSSMatrix::setMatrixValue):
2443         * editing/ApplyStyleCommand.cpp:
2444         (WebCore::toIdentifier):
2445         * editing/EditingStyle.cpp:
2446         (WebCore::identifierForStyleProperty):
2447         (WebCore::HTMLElementEquivalent::create):
2448         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent):
2449         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2450         (WebCore::HTMLTextDecorationEquivalent::create):
2451         (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent):
2452         (WebCore::EditingStyle::textDirection):
2453         (WebCore::EditingStyle::prepareToApplyAt):
2454         (WebCore::EditingStyle::textDirectionForSelection):
2455         (WebCore::fontWeightIsBold):
2456         (WebCore::legacyFontSizeFromCSSValue):
2457         (WebCore::isTransparentColorValue):
2458         * editing/EditingStyle.h:
2459         * editing/markup.cpp:
2460         (WebCore::propertyMissingOrEqualToNone):
2461         * platform/blackberry/RenderThemeBlackBerry.cpp:
2462         (WebCore::RenderThemeBlackBerry::systemFont):
2463         * platform/blackberry/RenderThemeBlackBerry.h:
2464         (WebCore::RenderThemeBlackBerry::systemFont):
2465         * platform/blackberry/RenderThemeEfl.cpp:
2466         (WebCore::RenderThemeEfl::systemFont):
2467         * platform/blackberry/RenderThemeEfl.h:
2468         (WebCore::RenderThemeEfl::systemFont):
2469         * platform/gtk/RenderThemeGtk.cpp:
2470         (WebCore::RenderThemeGtk::systemFont):
2471         * platform/gtk/RenderThemeGtk.h:
2472         * platform/gtk/RenderThemeGtk2.cpp:
2473         (WebCore::RenderThemeGtk::systemColor):
2474         * platform/gtk/RenderThemeGtk3.cpp:
2475         (WebCore::RenderThemeGtk::systemColor):
2476         * platform/qt/RenderThemeQt.cpp:
2477         (WebCore::RenderThemeQt::systemFont):
2478         (WebCore::RenderThemeQt::systemColor):
2479         * platform/qt/RenderThemeQt.h:
2480         * rendering/RenderTheme.cpp:
2481         (WebCore::RenderTheme::systemColor):
2482         * rendering/RenderTheme.h:
2483         * rendering/RenderThemeMac.h:
2484         * rendering/RenderThemeMac.mm:
2485         (WebCore::RenderThemeMac::systemFont):
2486         (WebCore::RenderThemeMac::systemColor):
2487         * rendering/RenderThemeSafari.h:
2488         (WebCore::RenderThemeSafari::systemFont):
2489         * rendering/RenderThemeSafari.cpp:
2490         (WebCore::RenderThemeSafari::systemFont):
2491         * rendering/RenderThemeWin.cpp:
2492         (WebCore::RenderThemeWin::systemFont):
2493         (WebCore::cssValueIdToSysColorIndex):
2494         (WebCore::RenderThemeWin::systemColor):
2495         * rendering/RenderThemeWin.h:
2496         * rendering/RenderThemeWinCE.cpp:
2497         (WebCore::RenderThemeWinCE::systemFont):
2498         (WebCore::cssValueIdToSysColorIndex):
2499         (WebCore::RenderThemeWinCE::systemColor):
2500         * rendering/RenderThemeWinCE.h:
2501
2502 2013-06-19  Brent Fulgham  <bfulgham@apple.com>
2503
2504         AX: List Items should support a default action
2505         https://bugs.webkit.org/show_bug.cgi?id=117812
2506
2507         Reviewed by Chris Fleizach.
2508
2509         * accessibility/AccessibilityObject.cpp:
2510         (WebCore::AccessibilityObject::actionVerb): Provide a "select" verb
2511         for use in ListItemRole objects.
2512         * platform/LocalizedStrings.cpp:
2513         (WebCore::AXListItemActionVerb): Added.
2514         * platform/LocalizedStrings.h:
2515         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2516         (WebCore::AXListItemActionVerb):
2517         * platform/efl/LocalizedStringsEfl.cpp:
2518         (WebCore::AXListItemActionVerb):
2519         * platform/gtk/LocalizedStringsGtk.cpp:
2520         (WebCore::AXListItemActionVerb):
2521
2522 2013-06-20  Radu Stavila  <stavila@adobe.com>
2523
2524         [CSS Regions] Add new regionOversetChange event
2525         https://bugs.webkit.org/show_bug.cgi?id=117508
2526
2527         Added regionOversetChange event and tests for it. The overset value of the region has been moved to the ElementRareData
2528         object instead of the RenderRegion object. This was needed for the case when a reattach is performed (for instance by changing
2529         the display type of the region's containing block) and the RenderRegion object is destroyed. When computing the overset again,
2530         there would be no "previous" value to compare it to and decide whether the regionOversetChange event must be dispatched.
2531
2532         Reviewed by Antti Koivisto.
2533
2534         Tests:  fast/regions/webkit-named-flow-event-add-to-flow.html:
2535                 fast/regions/webkit-named-flow-event-auto-height.html:
2536                 fast/regions/webkit-named-flow-event-crash.html:
2537                 fast/regions/webkit-named-flow-event-no-regions.html:
2538                 fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Added.
2539                 fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html: Added.
2540                 fast/regions/webkit-named-flow-event-remove-from-dom.html:
2541                 fast/regions/webkit-named-flow-event-remove-from-flow.html:
2542                 fast/regions/webkit-named-flow-event-target.html:
2543                 fast/regions/webkit-named-flow-event-to-null.html:
2544                 fast/regions/webkit-named-flow-event.html:
2545
2546
2547         * GNUmakefile.list.am:
2548         * Target.pri:
2549         * WebCore.xcodeproj/project.pbxproj:
2550         * dom/Element.cpp:
2551         (WebCore::Element::setRegionOversetState):
2552         (WebCore::Element::regionOversetState):
2553         (WebCore::Element::webkitRegionOverset):
2554         * dom/Element.h:
2555         * dom/ElementRareData.cpp:
2556         * dom/ElementRareData.h:
2557         (WebCore::ElementRareData::regionOversetState):
2558         (WebCore::ElementRareData::setRegionOversetState):
2559         (WebCore::ElementRareData::ElementRareData):
2560         * dom/EventNames.h:
2561         * dom/WebKitNamedFlow.cpp:
2562         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
2563         (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
2564         * dom/WebKitNamedFlow.h:
2565         (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
2566         (WebCore::ChangeRegionOversetTask::scheduleFor):
2567         (WebCore::ChangeRegionOversetTask::unschedule):
2568         (WebCore::ChangeRegionOversetTask::reset):
2569         (WebCore::ChangeRegionOversetTask::onTimer):
2570         * rendering/RegionOversetState.h: Added.
2571         * rendering/RenderBlock.cpp:
2572         (WebCore::RenderBlock::computeOverflow):
2573         * rendering/RenderFlowThread.cpp:
2574         (WebCore::RenderFlowThread::RenderFlowThread):
2575         (WebCore::RenderFlowThread::layout):
2576         (WebCore::RenderFlowThread::computeOversetStateForRegions):
2577         * rendering/RenderFlowThread.h:
2578         * rendering/RenderNamedFlowThread.cpp:
2579         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2580         (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
2581         (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
2582         * rendering/RenderNamedFlowThread.h:
2583         * rendering/RenderRegion.cpp:
2584         (WebCore::RenderRegion::RenderRegion):
2585         (WebCore::RenderRegion::regionOversetState):
2586         (WebCore::RenderRegion::setRegionOversetState):
2587         * rendering/RenderRegion.h:
2588
2589 2013-06-20  James Craig  <james@cookiecrook.com>
2590
2591         AX: aria-required is not exposed on all expected roles
2592         https://bugs.webkit.org/show_bug.cgi?id=115123
2593
2594         Reviewed by Chris Fleizach.
2595
2596         aria-required is now exposed on more roles. Updated existing test file.
2597
2598         * accessibility/AccessibilityNodeObject.cpp:
2599         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
2600         * accessibility/AccessibilityNodeObject.h:
2601         * accessibility/AccessibilityObject.h:
2602         (WebCore::AccessibilityObject::supportsRequiredAttribute):
2603         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2604         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2605
2606 2013-06-20  Seokju Kwon  <seokju.kwon@gmail.com>
2607
2608         Web Inspector: Use console.timeStamp instead of console.markTimeline
2609         https://bugs.webkit.org/show_bug.cgi?id=117810
2610
2611         Reviewed by Joseph Pecoraro.
2612
2613         Webkit supports both console.timeStamp and console.markTimeline.
2614         And they do the exact same thing.
2615         This patch gets rid of console.markTimeline for Chrome/Firebug compatibility.
2616
2617         No new functionality, no new tests.
2618
2619         * WebCore.order:
2620         * page/Console.cpp:
2621         * page/Console.h:
2622         * page/Console.idl:
2623
2624 2013-06-20  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2625
2626         background-color and text-decoration are not preserved when merging paragraphs
2627         https://bugs.webkit.org/show_bug.cgi?id=116215
2628
2629         Reviewed by Ryosuke Niwa.
2630
2631         In mergeInlineAndImplicitStyleOfElement(), style from matched rules are retrieved.
2632         If they contain either background-color or text-decoration they will be removed
2633         by removeNonEditingProperties() due to copyEditingProperties() implicit
2634         'OnlyInheritableEditingProperties' parameter.
2635         We have already had similar issue at https://bugs.webkit.org/show_bug.cgi?id=53196
2636
2637         Tests: editing/deleting/merge-div-from-span-with-style.html
2638                editing/deleting/merge-paragraph-from-span-with-multiple-text-decoration.html
2639                editing/deleting/merge-paragraph-from-span-with-style.html
2640
2641         * editing/EditingStyle.cpp:
2642         (WebCore::copyEditingProperties):
2643         (WebCore::editingStyleFromComputedStyle):
2644         Add EditingStyle:: due to move EditingPropertiesToInclude to EditingStyle.h.
2645
2646         (WebCore::toEditingProperties):
2647         Add a helper to easy convert PropertiesToInclude to EditingPropertiesToInclude,
2648         needed in mergeInlineAndImplicitStyleOfElement().
2649
2650         (WebCore::EditingStyle::removeAllButEditingProperties):
2651         Add a parameter to choose which editing properties should be preserved while
2652         removing all properties (OnlyInheritableEditingProperties implicite).
2653
2654         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
2655         Call removeAllButEditingProperties with parameter.
2656
2657         * editing/EditingStyle.h:
2658         Move EditingPropertiesType to the header as it's needed by removeAllButEditingProperties().
2659         Change EditingPropertiesType to EditingPropertiesToInclude to be consistent with
2660         PropertiesToInclude.
2661         Change removeNonEditingProperties() to removeAllButEditingProperties().
2662
2663 2013-06-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2664
2665         The order of the generated supplemental code is not guaranteed
2666         https://bugs.webkit.org/show_bug.cgi?id=117820
2667
2668         Reviewed by Kentaro Hara.
2669
2670         Sort the supplemental idl files before generating the code so that it is
2671         generated in a consistent order.
2672
2673         No new tests, covered by existing bindings tests.
2674
2675         * bindings/scripts/generate-bindings.pl:
2676
2677 2013-06-19  Commit Queue  <commit-queue@webkit.org>
2678
2679         Unreviewed, rolling out r151769.
2680         http://trac.webkit.org/changeset/151769
2681         https://bugs.webkit.org/show_bug.cgi?id=117821
2682
2683         Broke windows build due to missing GL/glext.h header.
2684         (Requested by bfulgham on #webkit).
2685
2686         * WebCore.vcxproj/WebCore.vcxproj:
2687         * WebCore.vcxproj/WebCore.vcxproj.filters:
2688
2689 2013-06-19  Alex Christensen  <alex.christensen@flexsim.com>
2690
2691         Added WebGL files to Windows build without enabling them.
2692         https://bugs.webkit.org/show_bug.cgi?id=117809
2693
2694         Reviewed by Brent Fulgham.
2695
2696         * WebCore.vcxproj/WebCore.vcxproj: Added WebGL source files.
2697         * WebCore.vcxproj/WebCore.vcxproj.filters: Added platform\graphics\opengl and platform\graphics\gpu filters.
2698
2699 2013-06-19  Alex Christensen  <achristensen@apple.com>
2700
2701         Windows build should include WebGL generated files if WebGL is enabled.
2702         https://bugs.webkit.org/show_bug.cgi?id=117802
2703
2704         Reviewed by Brent Fulgham.
2705
2706         Added WebGL generated files to Windows build if WebGL is enabled.
2707         * DerivedSources.cpp:
2708         * WebCore.vcxproj/WebCore.vcxproj:
2709         * WebCore.vcxproj/WebCore.vcxproj.filters:
2710
2711 2013-06-19  Alexey Proskuryakov  <ap@apple.com>
2712
2713         [Mac] Common crashes when playing media
2714         https://bugs.webkit.org/show_bug.cgi?id=117813
2715         <rdar://problem/13837412>
2716
2717         Reviewed by Eric Carlson.
2718
2719         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2720         (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
2721         This method may be called from a secondary thread, but it does things that are
2722         not thread safe.
2723
2724 2013-06-19  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2725
2726         Incomplete repaint of input elements in writing-mode overflow
2727         https://bugs.webkit.org/show_bug.cgi?id=110246
2728
2729         Reviewed by Simon Fraser.
2730
2731         We calculate repaint rect using unflipped rect.
2732         However, RenderBox::applyCachedClipAndScrollOffsetForRepaint() which is called from repaint rect calculation
2733         wants that its argument rect is flipped.
2734         The reason is:
2735         - paintRect.move(-scrolledContentOffset()); cannot scroll if the rect is unflipped.
2736         - It cannot clip using intersect.
2737         Passing unflipped rect to applyCachedClipAndScrollOffsetForRepaint() cause invalid clipping.
2738         Therefore, this patch flipped the rect at the first part of the function and unflipped it at the last part of the function.
2739
2740         Scroll bar rect is absolute rect, so it is flipped rect.
2741         RenderLayer::invalidateScrollbarRect() pass the rect to repaintRectangle() which expects an argument rect is unflipped.
2742         This cause part of overlapping scroll bar doesn't fade out.
2743         Therefore, this patch flipped the rect and pass it to repaintRectangle().
2744
2745         Tests: fast/repaint/horizontal-bt-overflow-child.html
2746                fast/repaint/horizontal-bt-overflow-parent.html
2747                fast/repaint/horizontal-bt-overflow-same.html
2748                fast/repaint/vertical-overflow-child.html
2749                fast/repaint/vertical-overflow-parent.html
2750                fast/repaint/vertical-overflow-same.html
2751
2752         * rendering/RenderBox.cpp:
2753         (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
2754         * rendering/RenderLayer.cpp:
2755         (WebCore::RenderLayer::invalidateScrollbarRect):
2756
2757 2013-06-19  Benjamin Poulain  <bpoulain@apple.com>
2758
2759         Use the PlatformEvent timestamp when creating a DOM Event
2760         https://bugs.webkit.org/show_bug.cgi?id=117179
2761
2762         Reviewed by Darin Adler.
2763
2764         Previously, the platform event's timestamp was ignored by WebCore and each
2765         new event would get a new timestamp by calling WTF::currentTime().
2766
2767         The problem is there can be a significant delay between the input event and
2768         it being dispatched to JavaScript. Computing the velocity/acceleration of the cursor
2769         is impossible since the delay vary from event to events.
2770         On WebKit2, the delay per event typically vary between 0 and 30ms.
2771
2772         This patch changes the Event creation code to use the timer passed by the underlying platform event.
2773
2774         * WebCore.exp.in:
2775         * dom/Event.cpp:
2776         (WebCore::Event::Event):
2777         * dom/Event.h:
2778         * dom/GestureEvent.cpp:
2779         (WebCore::GestureEvent::create):
2780         (WebCore::GestureEvent::GestureEvent):
2781         * dom/GestureEvent.h:
2782         * dom/KeyboardEvent.cpp:
2783         (WebCore::KeyboardEvent::KeyboardEvent):
2784         * dom/KeyboardEvent.h:
2785         * dom/MouseEvent.cpp:
2786         (WebCore::MouseEvent::create):
2787         (WebCore::MouseEvent::MouseEvent):
2788         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
2789         * dom/MouseEvent.h:
2790         * dom/MouseRelatedEvent.cpp:
2791         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2792         * dom/MouseRelatedEvent.h:
2793         * dom/TouchEvent.cpp:
2794         (WebCore::TouchEvent::TouchEvent):
2795         * dom/UIEvent.cpp:
2796         (WebCore::UIEvent::UIEvent):
2797         * dom/UIEvent.h:
2798         * dom/UIEventWithKeyState.h:
2799         (WebCore::UIEventWithKeyState::UIEventWithKeyState):
2800         * dom/WheelEvent.cpp:
2801         (WebCore::WheelEvent::WheelEvent):
2802         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
2803         * dom/WheelEvent.h:
2804         (WebCore::WheelEvent::create):
2805         * page/EventHandler.cpp:
2806         (WebCore::EventHandler::dispatchDragEvent):
2807         * platform/mac/PlatformEventFactoryMac.mm:
2808         (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
2809         (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
2810         (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
2811         (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
2812
2813 2013-06-19  Alexis Menard  <alexis@webkit.org>
2814
2815         Make sure to use CSSValueID and CSSPropertyID rather than integers
2816         https://bugs.webkit.org/show_bug.cgi?id=117481
2817
2818         Reviewed by Benjamin Poulain.
2819
2820         This will ensure that types are enforced when passing arguments in various
2821         css functions. Having a compile time check make sure that no mistakes
2822         will be done over the type.
2823
2824         The parser was also patched to directly use CSSValueID over integers.
2825         This patch also fixes various call sites abusing the usage of integers.
2826         This is part 1 of 2.
2827
2828         No new tests : existing ones should cover.
2829
2830         * WebCore.xcodeproj/project.pbxproj: copy CSSValueKeywords.h as it could be used in WebKit/ for example.
2831         * css/CSSComputedStyleDeclaration.cpp:
2832         (WebCore::valueForRepeatRule):
2833         (WebCore::cssIdentifierForFontSizeKeyword):
2834         (WebCore::identifierForFamily):
2835         (WebCore::valueForFamily):
2836         * css/CSSGrammar.y.in:
2837         * css/CSSParser.cpp:
2838         (WebCore::parseColorValue):
2839         (WebCore::parseKeywordValue):
2840         (WebCore::CSSParser::parseValidPrimitive):
2841         (WebCore::CSSParser::parseValue):
2842         (WebCore::CSSParser::parseContent):
2843         (WebCore::CSSParser::parseBackgroundColor):
2844         (WebCore::CSSParser::parseFillPositionComponent):
2845         (WebCore::CSSParser::parse3ValuesFillPosition):
2846         (WebCore::CSSParser::parseFillRepeat):
2847         (WebCore::CSSParser::parseAnimationProperty):
2848         (WebCore::CSSParser::parseCounterContent):
2849         (WebCore::CSSParser::parseLineHeight):
2850         (WebCore::CSSParser::parseFontSize):
2851         (WebCore::CSSParser::createFontWeightValueKeyword):
2852         (WebCore::CSSParser::parseFontWeight):
2853         (WebCore::parseDeprecatedGradientColorStop):
2854         (WebCore::parseGradientColorOrKeyword):
2855         (WebCore::CSSParser::parseDeprecatedRadialGradient):
2856         (WebCore::CSSParser::rewriteSpecifiers):
2857         * css/CSSParser.h:
2858         * css/CSSParserValues.h:
2859         * css/CSSPrimitiveValue.h:
2860         * css/CSSValuePool.cpp:
2861         (WebCore::CSSValuePool::createIdentifierValue):
2862         * css/CSSValuePool.h:
2863         * css/StylePropertySet.cpp:
2864         (WebCore::MutableStylePropertySet::setProperty):
2865         * css/StylePropertySet.h:
2866         * dom/StyledElement.cpp:
2867         (WebCore::StyledElement::setInlineStyleProperty):
2868         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
2869         * dom/StyledElement.h:
2870         * editing/EditingStyle.cpp:
2871         (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
2872         (WebCore::EditingStyle::prepareToApplyAt):
2873         * editing/EditorCommand.cpp:
2874         (WebCore::executeApplyStyle):
2875         (WebCore::executeFontSize):
2876         * html/HTMLElement.cpp:
2877         (WebCore::unicodeBidiAttributeForDirAuto):
2878         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
2879         * html/HTMLFontElement.cpp:
2880         (WebCore::HTMLFontElement::cssValueFromFontSizeNumber):
2881         (WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
2882         * html/HTMLFontElement.h:
2883         * html/HTMLTableElement.cpp:
2884         (WebCore::leakBorderStyle):
2885         * html/track/TextTrackCue.cpp:
2886         (WebCore::TextTrackCue::getCSSWritingDirection):
2887         (WebCore::TextTrackCue::getCSSWritingMode):
2888         * html/track/TextTrackCue.h:
2889
2890 2013-06-19  Bem Jones-Bey  <bjonesbe@adobe.com>
2891
2892         Fix a few missed renames from Exclusions -> Shapes
2893         https://bugs.webkit.org/show_bug.cgi?id=117803
2894
2895         Reviewed by David Hyatt.
2896
2897         In the great CSS Exclusions to CSS Shapes rename, a few instances were
2898         missed. This fixes those instances.
2899
2900         No new tests, no behavior change, just renames.
2901
2902         * rendering/RenderBlock.cpp:
2903         (WebCore::RenderBlock::updateRegionsAndShapesBeforeChildLayout):
2904         (WebCore::RenderBlock::updateRegionsAndShapesAfterChildLayout):
2905         (WebCore::RenderBlock::layoutBlock):
2906         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2907         (WebCore::RenderBlock::logicalRightOffsetForLine):
2908         * rendering/RenderBlock.h:
2909         * rendering/RenderDeprecatedFlexibleBox.cpp:
2910         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2911         * rendering/RenderFlexibleBox.cpp:
2912         (WebCore::RenderFlexibleBox::layoutBlock):
2913         * rendering/RenderGrid.cpp:
2914         (WebCore::RenderGrid::layoutBlock):
2915
2916 2013-06-19  Oliver Hunt  <oliver@apple.com>
2917
2918         Incorrect use of jsCast in a finalizer
2919         https://bugs.webkit.org/show_bug.cgi?id=117807
2920
2921         Reviewed by Geoffrey Garen.
2922
2923         We can't use jsCast in a finalizer as it checks an object's structure,
2924         and the structure may already have been swept by that point.  Use a
2925         static_cast instead.
2926
2927         * bridge/runtime_array.cpp:
2928         (JSC::RuntimeArray::destroy):
2929
2930 2013-06-19  Brent Fulgham  <bfulgham@apple.com>
2931
2932         [Windows] AX: Extend notification handling
2933         https://bugs.webkit.org/show_bug.cgi?id=117761.
2934
2935         Reviewed by Anders Carlsson.
2936
2937         accessibility/press-works-on-control-types.html
2938
2939         * accessibility/win/AXObjectCacheWin.cpp:
2940         (WebCore::AXObjectCache::postPlatformNotification): Add handlers for more event notifications.
2941         * accessibility/win/AccessibilityObjectWrapperWin.cpp:
2942         (WebCore::AccessibilityObjectWrapper::accessibilityAttributeValue): Protect against null
2943         pointer dereference found during testing.
2944         * dom/Document.cpp:
2945         (WebCore::Document::implicitClose): Execute notification handler for Windows as well as Mac.
2946         * page/FrameView.cpp:
2947         (WebCore::FrameView::layout): Ditto.
2948
2949 2013-06-19  peavo@outlook.com  <peavo@outlook.com>
2950
2951         [WinCairo] Webfont rendering is broken.
2952         https://bugs.webkit.org/show_bug.cgi?id=117695
2953
2954         Reviewed by Brent Fulgham.
2955
2956         The native font handle created from webfont data is invalid.
2957         In much the same way it's done in WinApple, we first need to install the webfont,
2958         create a native font handle from the new font name,
2959         and pass the font handle to the FontPlatformData object, where it's needed to get the glyphs.
2960
2961         * platform/graphics/FontPlatformData.h: Added HFONT parameter to constructor.
2962         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2963         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Release installed webfont.
2964         (WebCore::FontCustomPlatformData::fontPlatformData): Create valid HFONT handle for webfont.
2965         (WebCore::createUniqueFontName): Added method to create webfont name.
2966         (WebCore::createFontCustomPlatformData): Install font from webfont data.
2967         * platform/graphics/win/FontCustomPlatformDataCairo.h: Removed.
2968         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2969         (WebCore::FontPlatformData::FontPlatformData): Added HFONT parameter to constructor.
2970
2971 2013-06-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2972
2973         Implement WebIDL implements
2974         https://bugs.webkit.org/show_bug.cgi?id=117785
2975
2976         Reviewed by Kentaro Hara.
2977
2978         Add support for Web IDL 'implements' statements to the bindings generator:
2979         http://www.w3.org/TR/WebIDL/#dfn-implements-statement
2980
2981         Introduce ChildNode IDL interface and have Element, DocumentType and
2982         CharacterData implement it, to match the specification:
2983         http://dom.spec.whatwg.org/#childnode
2984
2985         There is no change in behavior, merely refactoring to match the
2986         specification by leveraging support for Web IDL implements statements.
2987
2988         No new tests, no behavior change.
2989
2990         * CMakeLists.txt:
2991         * DerivedSources.make:
2992         * DerivedSources.pri:
2993         * GNUmakefile.list.am:
2994         * bindings/scripts/generate-bindings.pl:
2995         * bindings/scripts/preprocess-idls.pl:
2996         (GeneratePartialInterface):
2997         (getImplementersFromIDL):
2998         * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Added.
2999         * bindings/scripts/test/CPP/WebDOMTestImplements.h: Added.
3000         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
3001         (WebDOMTestInterface::implementsStr1):
3002         (WebDOMTestInterface::implementsStr2):
3003         (WebDOMTestInterface::setImplementsStr2):
3004         (WebDOMTestInterface::implementsNode):
3005         (WebDOMTestInterface::setImplementsNode):
3006         (WebDOMTestInterface::implementsMethod1):
3007         (WebDOMTestInterface::implementsMethod4):
3008         * bindings/scripts/test/CPP/WebDOMTestInterface.h:
3009         * bindings/scripts/test/GObject/WebKitDOMTestImplements.cpp: Added.
3010         * bindings/scripts/test/GObject/WebKitDOMTestImplements.h: Added.
3011         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3012         (webkit_dom_test_interface_set_property):
3013         (webkit_dom_test_interface_get_property):
3014         (webkit_dom_test_interface_class_init):
3015         (webkit_dom_test_interface_implements_method1):
3016         (webkit_dom_test_interface_implements_method2):
3017         (webkit_dom_test_interface_implements_method4):
3018         (webkit_dom_test_interface_get_implements_str1):
3019         (webkit_dom_test_interface_get_implements_str2):
3020         (webkit_dom_test_interface_set_implements_str2):
3021         (webkit_dom_test_interface_get_implements_node):
3022         (webkit_dom_test_interface_set_implements_node):
3023         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3024         * bindings/scripts/test/JS/JSTestImplements.cpp: Added.
3025         * bindings/scripts/test/JS/JSTestImplements.h: Added.
3026         * bindings/scripts/test/JS/JSTestInterface.cpp:
3027         (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
3028         (WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
3029         (WebCore::jsTestInterfaceImplementsStr1):
3030         (WebCore::jsTestInterfaceImplementsStr2):
3031         (WebCore::jsTestInterfaceImplementsStr3):
3032         (WebCore::jsTestInterfaceImplementsNode):
3033         (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
3034         (WebCore::setJSTestInterfaceImplementsStr2):
3035         (WebCore::setJSTestInterfaceImplementsStr3):
3036         (WebCore::setJSTestInterfaceImplementsNode):
3037         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
3038         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
3039         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
3040         (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
3041         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
3042         (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
3043         * bindings/scripts/test/JS/JSTestInterface.h:
3044         * bindings/scripts/test/ObjC/DOMTestImplements.cpp: Added.
3045         * bindings/scripts/test/ObjC/DOMTestImplements.h: Added.
3046         * bindings/scripts/test/ObjC/DOMTestInterface.h:
3047         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3048         (-[DOMTestInterface implementsStr1]):
3049         (-[DOMTestInterface implementsStr2]):
3050         (-[DOMTestInterface setImplementsStr2:]):
3051         (-[DOMTestInterface implementsStr3]):
3052         (-[DOMTestInterface setImplementsStr3:]):
3053         (-[DOMTestInterface implementsNode]):
3054         (-[DOMTestInterface setImplementsNode:]):
3055         (-[DOMTestInterface implementsMethod1]):
3056         (-[DOMTestInterface implementsMethod2:objArg:]):
3057         (-[DOMTestInterface implementsMethod3]):
3058         (-[DOMTestInterface implementsMethod4]):
3059         * bindings/scripts/test/TestImplements.idl: Added.
3060         * dom/CharacterData.idl:
3061         * dom/ChildNode.idl: Copied from Source/WebCore/dom/DocumentType.idl.
3062         * dom/DocumentType.idl:
3063         * dom/Element.idl:
3064
3065 2013-06-19  Robert Hogan  <robert@webkit.org>
3066
3067         Incorrect computation of shrink-to-fit width for block with white-space:nowrap and floating children
3068         https://bugs.webkit.org/show_bug.cgi?id=114879
3069
3070         Reviewed by David Hyatt.
3071         Per http://www.w3.org/TR/CSS21/visudet.html#Computing_widths_and_margins when width is auto then floating non-replaced,
3072         absolute non-replaced, and inline-block non-replaced elements should use shrink-to-fit width. This trumps any no-wrap property 
3073         on the element so if we are shrinking to fit ensure our minimum width respects all possible line breaks.
3074
3075         Test: fast/block/shrink-to-fit-width-container-with-floating-children.html
3076
3077         * rendering/RenderBlock.cpp:
3078         (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
3079
3080 2013-06-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3081
3082         Do not require JS*Custom.h header if [CustomPutFunction] / [CustomNamedSetter] is used
3083         https://bugs.webkit.org/show_bug.cgi?id=117795
3084
3085         Reviewed by Kentaro Hara.
3086
3087         Fix the JS bindings generator so that it stops including JS*Custom.h header whenever
3088         [CustomPutFunction] or [CustomNamedSetter] IDL extended attributes are used. We don't
3089         really need this custom header and this forces the developer to create dummy custom
3090         headers so that it builds.
3091
3092         If the developer really needs such custom header to be included, he can still use
3093         [JSCustomHeader] IDL extended attribute to do so.
3094
3095         This patch also remove the dummy custom headers that were created but are no longer
3096         required to build.
3097
3098         No new tests, no behavior change. Already covered by the following bindings test:
3099         TestInterface.idl
3100
3101         * GNUmakefile.list.am:
3102         * Target.pri:
3103         * WebCore.vcxproj/WebCore.vcxproj:
3104         * WebCore.vcxproj/WebCore.vcxproj.filters:
3105         * WebCore.xcodeproj/project.pbxproj:
3106         * bindings/js/JSDOMStringMapCustom.h: Removed.
3107         * bindings/js/JSHTMLAppletElementCustom.cpp:
3108         * bindings/js/JSHTMLAppletElementCustom.h: Removed.
3109         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3110         * bindings/js/JSHTMLEmbedElementCustom.h: Removed.
3111         * bindings/js/JSHTMLObjectElementCustom.cpp:
3112         * bindings/js/JSHTMLObjectElementCustom.h: Removed.
3113         * bindings/js/JSHistoryCustom.cpp:
3114         * bindings/js/JSHistoryCustom.h: Removed.
3115         * bindings/js/JSLocationCustom.cpp:
3116         * bindings/js/JSLocationCustom.h: Removed.
3117         * bindings/js/JSStorageCustom.cpp:
3118         * bindings/js/JSStorageCustom.h: Removed.
3119         * bindings/scripts/CodeGeneratorJS.pm:
3120         (GenerateHeader):
3121
3122 2013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3123
3124         [BlackBerry] Several tests crash due to an assert when creating an ImageBuffer
3125         https://bugs.webkit.org/show_bug.cgi?id=117793
3126
3127         Reviewed by Rob Buis.
3128
3129         JIRA 388741
3130
3131         Fixes a crash in several layout tests due to an assert when
3132         creating an ImageBuffer with an empty size.
3133
3134         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
3135         (WebCore::ImageBuffer::ImageBuffer): Return early if the given
3136         size is empty.
3137
3138 2013-06-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3139
3140         [GStreamer] [texmap] the bytesPerLine is wrong when updating the texture
3141         https://bugs.webkit.org/show_bug.cgi?id=117551
3142
3143         Reviewed by Philippe Normand.
3144
3145         The bytesPerLine (or stride) is wrong when updating the texture
3146         content. This is because the naturalSize() is not updated to the
3147         current buffer. This patch extracts the current value of the size and
3148         the stride.
3149
3150         No tests required.
3151
3152         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3153         (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
3154         (WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
3155
3156 2013-06-19  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
3157
3158         Adjust internal size on gstreamer source element when receiving data if necessary
3159         https://bugs.webkit.org/show_bug.cgi?id=116534
3160
3161         Reviewed by Philippe Normand.
3162
3163         If the size received in didReceiveResponse is smaller than the actual size of the received data
3164         update the internal size and the appsrc size to the proper value.
3165
3166         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3167         (StreamingClient::didReceiveData):
3168
3169 2013-06-19  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3170
3171         [GStreamer] Potential race condition when getting the video sink caps.
3172         https://bugs.webkit.org/show_bug.cgi?id=117736
3173
3174         Reviewed by Philippe Normand.
3175
3176         There is a potential race condition with the pad setting caps, as the
3177         buffer and the caps won't match when renegotiation happens, and might
3178         cause a crash.
3179
3180         This patch keeps an instance of the current caps in the video sink,
3181         and it is accessible through a getter method. Hence the player can ask
3182         for the current caps without running into a race condition.
3183
3184         No new tests. No change in behaviour.
3185
3186         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3187         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
3188         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
3189         (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
3190         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
3191         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3192         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3193         (webkitVideoSinkGetProperty):
3194         (webkitVideoSinkStop):
3195         (webkitVideoSinkSetCaps):
3196         (webkit_video_sink_class_init):
3197
3198 2013-06-19  Kihong Kwon  <kihong.kwon@samsung.com>
3199
3200         Vibration can be canceled even if page visibility status is hidden
3201         https://bugs.webkit.org/show_bug.cgi?id=117333
3202
3203         Reviewed by Gyuyoung Kim.
3204
3205         vibration can be canceled in the onvisibilitychange listener even if page visibility is changed to hidden status.
3206         Therefore cancelVibration needs to work when page visibility is hidden.
3207
3208         Tests: vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html
3209
3210         * Modules/vibration/NavigatorVibration.cpp:
3211         (WebCore::NavigatorVibration::vibrate):
3212         * Modules/vibration/Vibration.h:
3213         (WebCore::Vibration::isVibrating):
3214         * testing/Internals.cpp:
3215         (WebCore::Internals::isVibrating):
3216         * testing/Internals.h:
3217         * testing/Internals.idl:
3218
3219 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
3220
3221         Input type range slider is not updated when min or max are changed
3222         https://bugs.webkit.org/show_bug.cgi?id=117778
3223
3224         Reviewed by Kent Tamura.
3225
3226         Merge https://chromium.googlesource.com/chromium/blink/+/089c7a0ba2d85b9b59632c2603fbc6472b310be1.
3227
3228         Test: fast/forms/range/range-change-min-max.html
3229
3230         * html/RangeInputType.cpp:
3231         (WebCore::RangeInputType::minOrMaxAttributeChanged):
3232
3233 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
3234
3235         Remove two superfluous overrides of supportsFocus
3236         https://bugs.webkit.org/show_bug.cgi?id=117770
3237
3238         Reviewed by Benjamin Poulain.
3239
3240         Merge https://chromium.googlesource.com/chromium/blink/+/4228964a63e3a889a40efce0d01866629fdcd9b9.
3241
3242         * html/HTMLOptGroupElement.cpp:
3243         * html/HTMLOptGroupElement.h:
3244         * html/HTMLOptionElement.cpp:
3245         * html/HTMLOptionElement.h:
3246
3247 2013-06-18  Darin Adler  <darin@apple.com>
3248
3249         Improve style of null checks in FrameView::setFrameRect
3250         https://bugs.webkit.org/show_bug.cgi?id=117681
3251
3252         Reviewed by Sam Weinig.
3253
3254         * page/FrameView.cpp:
3255         (WebCore::FrameView::setFrameRect): Used nested if statements and local variables
3256         to tighten this code up a little.
3257
3258 2013-06-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3259
3260         Move IDL extended attributes to their correct location
3261         https://bugs.webkit.org/show_bug.cgi?id=117732
3262
3263         Reviewed by Kentaro Hara.
3264
3265         Move IDL extended attributes to their correct location according to the
3266         latest Web IDL specification. We used to be inconsistent in the positioning
3267         of the extended attributes. This simplifies a lot the code of the IDL parser
3268         and makes our IDL files more standard.
3269
3270         Based on Blink r148345 by Kentaro Hara <haraken@chromium.org>.
3271
3272         No new tests, no behavior change.
3273
3274         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
3275         * Modules/notifications/Notification.idl:
3276         * Modules/speech/SpeechSynthesisVoice.idl:
3277         * bindings/scripts/IDLParser.pm:
3278         (parseDefinitions):
3279         (parseInterfaceMembers):
3280         (parseInterfaceMember):
3281         (parseDictionaryMembers):
3282         (parseAttributeOrOperationOrIterator):
3283         (parseAttribute):
3284         * css/CSSFontFaceLoadEvent.idl:
3285         * dom/Document.idl:
3286         * dom/Element.idl:
3287         * dom/Node.idl:
3288         * html/HTMLBodyElement.idl:
3289         * html/HTMLEmbedElement.idl:
3290         * html/HTMLFrameSetElement.idl:
3291         * html/HTMLMediaElement.idl:
3292         * html/HTMLSelectElement.idl:
3293         * html/HTMLSourceElement.idl:
3294         * page/DOMWindow.idl:
3295         * svg/SVGElementInstance.idl:
3296         * svg/SVGScriptElement.idl:
3297         * testing/TypeConversions.idl:
3298
3299 2013-06-18  Jessie Berlin  <jberlin@apple.com>
3300
3301         Let the script to update the Localizable.strings file do the reordering it wants to do.
3302
3303         Rubber-stamped by Anders Carlsson.
3304
3305         * English.lproj/Localizable.strings:
3306
3307 2013-06-18  Brent Fulgham  <bfulgham@apple.com>
3308
3309         [Windows] Unreviewed gardening -- show missing AccessibilityNodeObject source
3310         files in Visual Studio.
3311
3312         * WebCore.vcxproj/WebCore.vcxproj: Add missing files.
3313         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3314
3315 2013-06-18  Commit Queue  <commit-queue@webkit.org>
3316
3317         Unreviewed, rolling out r151513.
3318         http://trac.webkit.org/changeset/151513
3319         https://bugs.webkit.org/show_bug.cgi?id=117763
3320
3321         It causes assertions in debug (Requested by benjaminp on
3322         #webkit).
3323
3324         * rendering/RenderLayerBacking.cpp:
3325         (WebCore::RenderLayerBacking::startAnimation):
3326         (WebCore::RenderLayerBacking::startTransition):
3327
3328 2013-06-18  Roger Fong  <roger_fong@apple.com>
3329
3330         Replace tools32 folder with tools and update WebKit Windows solution accordingly.
3331         <rdar://problem/14118143>.
3332
3333         Rubberstamped by Brent Fulgham.
3334
3335         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
3336         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
3337         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
3338         * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
3339         * WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
3340         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
3341         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
3342         * WebCore.vcxproj/WebCore.vcxproj:
3343         * WebCore.vcxproj/WebCoreDebug.props:
3344         * WebCore.vcxproj/WebCoreDebugWinCairo.props:
3345         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
3346         * WebCore.vcxproj/WebCoreGeneratedDebug.props:
3347         * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
3348         * WebCore.vcxproj/WebCoreGeneratedProduction.props:
3349         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
3350         * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
3351         * WebCore.vcxproj/WebCoreProduction.props:
3352         * WebCore.vcxproj/WebCoreRelease.props:
3353         * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
3354         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
3355         * WebCore.vcxproj/build-generated-files.sh:
3356
3357 2013-06-18  Zoltan Horvath  <zoltan@webkit.org>
3358
3359         [CSS Shapes] Remove lineOverflowsFromShapeInside boolean from RenderBlock::layoutRunsAndFloatsInRange function
3360         https://bugs.webkit.org/show_bug.cgi?id=117757
3361
3362         Reviewed by David Hyatt.
3363
3364         We don't need keep lineOverflowsFromShapeInside boolean in RenderBlock::layoutRunsAndFloatsInRange and in its
3365         helpers because it's easy to decide whether we are in an shape content overflow state or not, so I got rid of
3366         lineOverflowsFromShapeInside's occurences and updated the affected functions.
3367
3368         Covered by existing overflow tests in fast/exclusions/shape-inside and fast/regions/shape-inside.
3369
3370         * rendering/RenderBlock.h: Update helper's definition.
3371         * rendering/RenderBlockLineLayout.cpp:
3372         (WebCore::pushShapeContentOverflowBelowTheContentBox): Add condition when overflow is already positioned.
3373         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLine): Remove lineOverflowsFromShapeInside.
3374         (WebCore::RenderBlock::updateShapeAndSegmentsForCurrentLineInFlowThread):  Remove lineOverflowsFromShapeInside.
3375         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):  Remove lineOverflowsFromShapeInside.
3376
3377 2013-06-18  Zalan Bujtas  <zalan@apple.com>
3378
3379         widthMediaFeatureEval ends up with null FrameView during iframe unload.
3380         https://bugs.webkit.org/show_bug.cgi?id=117754
3381
3382         Reviewed by Geoffrey Garen.
3383
3384         Ensure that MediaQueryEvaluator checks against NULL FrameView.
3385
3386         While frames are being unloaded, the Frame object does not necessarily have valid
3387         FrameView anymore. Layout on the main frame can end up querying media values on such child
3388         frames, while detaching.
3389
3390         Test: fast/frames/crash-when-child-iframe-forces-layout-during-unload-and-sibling-frame-has-mediaquery.html
3391
3392         * css/MediaQueryEvaluator.cpp:
3393         (WebCore::orientationMediaFeatureEval):
3394         (WebCore::aspect_ratioMediaFeatureEval):
3395         (WebCore::evalResolution):
3396         (WebCore::heightMediaFeatureEval):
3397         (WebCore::widthMediaFeatureEval):
3398         (WebCore::MediaQueryEvaluator::eval):
3399
3400 2013-06-18  Ruth Fong  <ruth_fong@apple.com>
3401
3402         Expose a getMediaType method in WebKit
3403         https://bugs.webkit.org/show_bug.cgi?id=117667
3404
3405         Reviewed by Brady Eidson.
3406
3407         * WebCore.exp.in: Updated to add a symbol for 
3408         HitTestResult::mediaIsVideo method
3409         and alphabetize the list of exposed methods.
3410
3411 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
3412
3413         Remove unused bool argument from ReplacementFragment's constructor
3414         https://bugs.webkit.org/show_bug.cgi?id=117752
3415
3416         Reviewed by Antti Koivisto.
3417
3418         Merge https://chromium.googlesource.com/chromium/blink/+/265586d9f154a9dff657511d09926429b8e1b53d.
3419
3420         * editing/ReplaceSelectionCommand.cpp:
3421         (WebCore::ReplacementFragment::ReplacementFragment):
3422         (WebCore::ReplaceSelectionCommand::doApply):
3423
3424 2013-06-18  Eric Carlson  <eric.carlson@apple.com>
3425
3426         Not all subtitle tracks are SDH
3427         https://bugs.webkit.org/show_bug.cgi?id=117738
3428
3429         Reviewed by Dean Jackson.
3430
3431         No new tests, existing tests updated.
3432
3433         * html/track/InbandTextTrack.cpp:
3434         (WebCore::InbandTextTrack::isSDH): New.
3435
3436         * html/track/InbandTextTrack.h: Add isSDH override.
3437         * html/track/TextTrack.h:
3438
3439         * page/CaptionUserPreferencesMac.mm:
3440         (WebCore::trackDisplayName): Only add "SDH" label if a track claims to be SDH.
3441
3442         * platform/graphics/InbandTextTrackPrivate.h:
3443         (WebCore::InbandTextTrackPrivate::isSDH): New.
3444
3445         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
3446         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
3447         (WebCore::InbandTextTrackPrivateAVFObjC::isSDH): Return true if track has both "transcribes
3448             spoken dialog for accessibility" and "describes music and sound for accessibility" 
3449             characteristics.
3450
3451 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
3452
3453         Simplify FormKeyGenerator::willDeleteForm
3454         https://bugs.webkit.org/show_bug.cgi?id=117751
3455
3456         Reviewed by Antti Koivisto.
3457
3458         Merge https://chromium.googlesource.com/chromium/blink/+/c6399efb9da863eb1d1fc98b17ef925998b985ac
3459
3460         * html/FormController.cpp:
3461         (WebCore::FormKeyGenerator::willDeleteForm):
3462
3463 2013-06-18  Ryosuke Niwa  <rniwa@webkit.org>
3464
3465         REGRESSION(r147602): Search text field doesn't render selection when it has some :focus rules
3466         https://bugs.webkit.org/show_bug.cgi?id=117747
3467
3468         Reviewed by Kent Tamura.
3469
3470         Merge https://chromium.googlesource.com/chromium/blink/+/7ff656c8239ce3b125246abcc8b149a603fcff28
3471
3472         r147612 added setNeedsLayout(true, MarkOnlyThis) for
3473         TextControlInnerTextElement renderer. It's ok for input[type=text]
3474         because RenderTextControlSingleLine also has needsLayout flag, and it
3475         has only the inner text renderer as a child.
3476
3477         As for input[type=search], it doesn't work. Renderer structure for
3478         input[type=search] is:
3479
3480         RenderTextControlSingleLine
3481         └Renderer for TextControlInnerContainer
3482           └Renderer for TextControlInnerElement
3483             └Renderer for TextControlInnerTextElement
3484