[EFL] Platform support for WebSpeech feature.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-06-23  Krzysztof Czech  <k.czech@samsung.com>
2
3         [EFL] Platform support for WebSpeech feature.
4         https://bugs.webkit.org/show_bug.cgi?id=116438
5
6         Reviewed by Csaba Osztrogonác.
7
8         It's a first step of adding support for Speech Synthesis in EFL port.
9         Just stub out required API and support for compilation.
10
11         * CMakeLists.txt:
12         * PlatformEfl.cmake:
13         * PlatformGTK.cmake: Added some idls to not break GTK build.
14         * platform/PlatformSpeechSynthesizer.h:
15         * platform/efl/PlatformSpeechSynthesisProviderEfl.cpp: Added.
16         (WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
17         (WebCore::PlatformSpeechSynthesisProviderEfl::~PlatformSpeechSynthesisProviderEfl):
18         (WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
19         (WebCore::PlatformSpeechSynthesisProviderEfl::pause):
20         (WebCore::PlatformSpeechSynthesisProviderEfl::resume):
21         (WebCore::PlatformSpeechSynthesisProviderEfl::speak):
22         (WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
23         * platform/efl/PlatformSpeechSynthesisProviderEfl.h: Added.
24         * platform/efl/PlatformSpeechSynthesizerEfl.cpp: Added.
25         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
26         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
27         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
28         (WebCore::PlatformSpeechSynthesizer::pause):
29         (WebCore::PlatformSpeechSynthesizer::resume):
30         (WebCore::PlatformSpeechSynthesizer::speak):
31         (WebCore::PlatformSpeechSynthesizer::cancel):
32
33 2014-06-23  Jeongeun Kim  <je_julie.kim@samsung.com>
34
35         Make it clear to get m_svgExtensions using svgExtensions().
36         https://bugs.webkit.org/show_bug.cgi?id=134186.
37
38         Reviewed by Dirk Schulze.
39
40         This patch makes sure that the purpose of code is to get m_svgExtensions 
41         as changing accessSVGExtensions() to svgExtensions(). 
42         svgExtensions() is a getter API and accessSVGExtensions() checks 
43         the presence of m_svgExtensions and create m_svgExtensions if it does not exist. 
44
45         No new tests, no behavior change.
46
47         * dom/ContainerNode.cpp:
48         (WebCore::ContainerNode::removeChild):
49         (WebCore::ContainerNode::removeChildren):
50         * dom/Document.cpp:
51         (WebCore::Document::commonTeardown):
52         (WebCore::Document::implicitClose):
53         * history/CachedFrame.cpp:
54         (WebCore::CachedFrameBase::restore):
55         * svg/SVGDocumentExtensions.cpp:
56         (WebCore::SVGDocumentExtensions::startAnimations):
57         (WebCore::SVGDocumentExtensions::pauseAnimations):
58         (WebCore::SVGDocumentExtensions::unpauseAnimations):
59         (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
60         (WebCore::SVGDocumentExtensions::rebuildElements):
61         * svg/SVGDocumentExtensions.h:
62
63 2014-06-23  Dean Jackson  <dino@apple.com>
64
65         [iOS] Use WebGLLayer rather than PlatformLayer in GraphicsContext3D
66         https://bugs.webkit.org/show_bug.cgi?id=134183
67
68         Reviewed by Sam Weinig.
69
70         GraphicsContext3D has a reference to a WebGLLayer that was
71         hidden behind a PlatformLayer. This meant we had to cast it
72         to use a WebGLLayer method.
73
74         * platform/graphics/GraphicsContext3D.h: Replace RefPtr<PlatformLayer>
75         with RefPtr<WebGLLayer>.
76         * platform/graphics/mac/GraphicsContext3DMac.mm:
77         (WebCore::GraphicsContext3D::~GraphicsContext3D): No need to cast.
78
79 2014-06-22  Zalan Bujtas  <zalan@apple.com>
80
81         Make offset from ancestor computation explicit by moving it to the callers.
82         https://bugs.webkit.org/show_bug.cgi?id=134168.
83
84         Reviewed by Simon Fraser.
85         
86         Explicit offset computation helps code reading and less error-prone than passing
87         the offset pointer and compute it locally when it is null.
88
89         No change in functionality.
90
91         * rendering/RenderLayer.cpp:
92         (WebCore::transparencyClipBox):
93         (WebCore::performOverlapTests):
94         (WebCore::RenderLayer::setupClipPath):
95         (WebCore::RenderLayer::setupFilters):
96         (WebCore::RenderLayer::paintLayerContents):
97         (WebCore::RenderLayer::collectFragments):
98         (WebCore::RenderLayer::updatePaintingInfoForFragments):
99         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
100         (WebCore::RenderLayer::hitTestLayer):
101         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
102         (WebCore::RenderLayer::calculateClipRects):
103         * rendering/RenderLayer.h:
104         * rendering/RenderLayerCompositor.cpp:
105         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
106         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
107         * rendering/RenderTreeAsText.cpp:
108         (WebCore::writeLayers):
109
110 2014-06-22  Zalan Bujtas  <zalan@apple.com>
111
112         Transition layer offsets from LayoutPoint to LayoutSize.
113         https://bugs.webkit.org/show_bug.cgi?id=134156
114
115         Reviewed by Simon Fraser.
116
117         Use better representation for offset values.
118
119         No change in functionality.
120
121         * platform/graphics/LayoutSize.h:
122         (WebCore::roundedForPainting):
123         * rendering/RenderFlowThread.cpp:
124         (WebCore::RenderFlowThread::fragmentsBoundingBox):
125         * rendering/RenderLayer.cpp:
126         (WebCore::expandClipRectForDescendantsAndReflection):
127         (WebCore::RenderLayer::convertToLayerCoords):
128         (WebCore::computeReferenceBox):
129         (WebCore::RenderLayer::setupClipPath):
130         (WebCore::RenderLayer::setupFilters):
131         (WebCore::RenderLayer::paintLayerContents):
132         (WebCore::RenderLayer::paintLayerByApplyingTransform):
133         (WebCore::RenderLayer::collectFragments):
134         (WebCore::RenderLayer::updatePaintingInfoForFragments):
135         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
136         (WebCore::RenderLayer::createLocalTransformState):
137         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
138         (WebCore::RenderLayer::hitTestLayerByApplyingTransform):
139         (WebCore::RenderLayer::calculateClipRects):
140         * rendering/RenderLayer.h:
141         * rendering/RenderMultiColumnSet.cpp:
142         (WebCore::RenderMultiColumnSet::collectLayerFragments):
143
144 2014-06-22  Dean Jackson  <dino@apple.com>
145
146         Attempted iOS build fix.
147
148         * platform/graphics/mac/GraphicsContext3DMac.mm:
149         (WebCore::GraphicsContext3D::~GraphicsContext3D): Cast to WebGLLayer.
150
151 2014-06-22  Dean Jackson  <dino@apple.com>
152
153         [Apple] WebGL layer may use GC3D after free with remote layer hosting
154         https://bugs.webkit.org/show_bug.cgi?id=134179
155         <rdar://problem/17412931>
156
157         Reviewed by Tim Horton.
158
159         With remote layer hosting, a WebGLLayer may attempt to draw after
160         the GraphicsContext3D has been destroyed. We need to make sure
161         the GC3D tells the WebGLLayer that it is no longer valid.
162
163         While here, I changed some return 0 to return nullptr, the
164         name of the ObjC property member from m_context to _context,
165         and removed some unnecessary .get() calls.
166
167         This is tested by run-webkit-tests with the --remote-layer-tree
168         option.
169
170         * platform/graphics/mac/GraphicsContext3DMac.mm:
171         (WebCore::GraphicsContext3D::GraphicsContext3D): No need for .get().
172         (WebCore::GraphicsContext3D::~GraphicsContext3D): Set the context reference on WebGLLayer
173         to be null.
174         (WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable): No need for .get().
175         * platform/graphics/mac/WebGLLayer.h: Set the context reference on WebGLLayer
176         to be null.
177         * platform/graphics/mac/WebGLLayer.mm:
178         (-[WebGLLayer initWithGraphicsContext3D:]): Rename m_context to _context.
179         (-[WebGLLayer copyCGLPixelFormatForDisplayMask:]): Check for null.
180         (-[WebGLLayer copyCGLContextForPixelFormat:]): Rename to _context.
181         (-[WebGLLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]): Check for null.
182         (-[WebGLLayer copyImageSnapshotWithColorSpace:]): Ditto.
183         (-[WebGLLayer display]): Ditto.
184
185 2014-06-20  Simon Fraser  <simon.fraser@apple.com>
186
187         [WK2] Frameset frames are not scrollable after loading (and should be)
188         https://bugs.webkit.org/show_bug.cgi?id=134151
189         <rdar://problem/17403365>
190
191         Reviewed by Dan Bates.
192         
193         When loading a <frameset>, we could end up with an empty non-fast-scrollable
194         region for the main frame, because after the initial frameset document layout,
195         nothing updated the non-fast scrollable region as the subframes added their
196         scrollable areas to the the main frame's scrollable area set.
197         
198         Fix by having addScrollableArea() and removeScrollableArea() trigger an update
199         of the non-fast scrollable region.
200
201         Test: platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-frame-scrollability.html
202
203         * page/FrameView.cpp:
204         (WebCore::FrameView::addScrollableArea):
205         (WebCore::FrameView::removeScrollableArea):
206         (WebCore::FrameView::scrollableAreaSetChanged):
207         * page/FrameView.h:
208
209 2014-06-22  Commit Queue  <commit-queue@webkit.org>
210
211         Unreviewed, rolling out r170265.
212         https://bugs.webkit.org/show_bug.cgi?id=134174
213
214         Broke editing tests (Requested by litherum on #webkit).
215
216         Reverted changeset:
217
218         "Use unsigneds instead of ints for indexes into a string in
219         text layout code"
220         https://bugs.webkit.org/show_bug.cgi?id=133592
221         http://trac.webkit.org/changeset/170265
222
223 2014-06-20  Simon Fraser  <simon.fraser@apple.com>
224
225         Have scrollingTreeAsText() dump the non-fast-scrollable region
226         https://bugs.webkit.org/show_bug.cgi?id=134149
227
228         Reviewed by Sam Weinig.
229
230         Dump the non-fast-scrollable region (as an array of rects).
231
232         * WebCore.exp.in:
233         * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
234         (WebCore::ScrollingStateFrameScrollingNode::dumpProperties):
235
236 2014-06-20  Myles C. Maxfield  <mmaxfield@apple.com>
237
238         Use unsigneds instead of ints for indexes into a string in text layout code
239         https://bugs.webkit.org/show_bug.cgi?id=133592
240
241         Reviewed by Zalan Bujtas.
242
243         Migrate much of the text-handling code to use unsigneds for indexes into a string.
244
245         No new tests because there is no behavior change.
246
247         * WebCore.exp.in:
248         * platform/graphics/Font.cpp:
249         (WebCore::Font::drawText):
250         (WebCore::Font::drawEmphasisMarks):
251         (WebCore::Font::adjustSelectionRectForText):
252         (WebCore::computeUnderlineType):
253         * platform/graphics/Font.h:
254         * platform/graphics/FontFastPath.cpp:
255         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
256         (WebCore::Font::drawSimpleText):
257         (WebCore::Font::drawEmphasisMarksForSimpleText):
258         (WebCore::Font::drawGlyphBuffer):
259         (WebCore::Font::drawEmphasisMarks):
260         (WebCore::Font::adjustSelectionRectForSimpleText):
261         * platform/graphics/GlyphBuffer.h:
262         (WebCore::GlyphBuffer::size):
263         (WebCore::GlyphBuffer::glyphs):
264         (WebCore::GlyphBuffer::advances):
265         (WebCore::GlyphBuffer::fontDataAt):
266         (WebCore::GlyphBuffer::advanceAt):
267         (WebCore::GlyphBuffer::offsetAt):
268         (WebCore::GlyphBuffer::reverse):
269         (WebCore::GlyphBuffer::offsetInString):
270         (WebCore::GlyphBuffer::swap):
271         * platform/graphics/GraphicsContext.cpp:
272         (WebCore::TextRunIterator::atEnd):
273         * platform/graphics/Latin1TextIterator.h:
274         (WebCore::Latin1TextIterator::Latin1TextIterator):
275         (WebCore::Latin1TextIterator::currentCharacter):
276         * platform/graphics/SimpleFontData.h:
277         * platform/graphics/SurrogatePairAwareTextIterator.cpp:
278         (WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):
279         * platform/graphics/SurrogatePairAwareTextIterator.h:
280         (WebCore::SurrogatePairAwareTextIterator::currentCharacter):
281         * platform/graphics/TextRun.h:
282         (WebCore::TextRun::length):
283         (WebCore::TextRun::charactersLength):
284         * platform/graphics/WidthIterator.cpp:
285         (WebCore::WidthIterator::glyphDataForCharacter):
286         (WebCore::applyFontTransforms):
287         (WebCore::WidthIterator::advanceInternal):
288         (WebCore::WidthIterator::advance):
289         (WebCore::WidthIterator::advanceOneCharacter):
290         * platform/graphics/WidthIterator.h:
291         * platform/graphics/cairo/FontCairo.cpp:
292         (WebCore::Font::drawGlyphs):
293         * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
294         (WebCore::Font::drawComplexText):
295         (WebCore::Font::drawEmphasisMarksForComplexText):
296         (WebCore::Font::adjustSelectionRectForComplexText):
297         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
298         (WebCore::HarfBuzzShaper::setNormalizedBuffer):
299         * platform/graphics/mac/FontComplexTextMac.cpp:
300         (WebCore::Font::adjustSelectionRectForComplexText):
301         (WebCore::Font::getGlyphsAndAdvancesForComplexText):
302         (WebCore::Font::drawComplexText):
303         (WebCore::Font::drawEmphasisMarksForComplexText):
304         * platform/graphics/mac/FontMac.mm:
305         (WebCore::Font::drawGlyphs):
306         * platform/graphics/win/FontCGWin.cpp:
307         (WebCore::Font::drawGlyphs):
308         * platform/graphics/win/FontWin.cpp:
309         (WebCore::Font::adjustSelectionRectForComplexText):
310         (WebCore::Font::getGlyphsAndAdvancesForComplexText):
311         (WebCore::Font::drawComplexText):
312         (WebCore::Font::drawEmphasisMarksForComplexText):
313         * platform/graphics/wince/FontWinCE.cpp:
314         (WebCore::Font::drawGlyphs):
315         (WebCore::Font::drawComplexText):
316         (WebCore::Font::drawEmphasisMarksForComplexText):
317         (WebCore::Font::selectionRectForComplexText):
318         * rendering/InlineTextBox.cpp:
319         (WebCore::InlineTextBox::isSelected):
320         (WebCore::InlineTextBox::selectionState):
321         (WebCore::adjustCharactersAndLengthForHyphen):
322         (WebCore::InlineTextBox::localSelectionRect):
323         (WebCore::InlineTextBox::paint):
324         (WebCore::InlineTextBox::selectionStartEnd):
325         (WebCore::InlineTextBox::paintSelection):
326         (WebCore::InlineTextBox::paintCompositionBackground):
327         (WebCore::InlineTextBox::paintDocumentMarker):
328         (WebCore::InlineTextBox::paintTextMatchMarker):
329         (WebCore::InlineTextBox::computeRectForReplacementMarker):
330         (WebCore::InlineTextBox::paintCompositionUnderline):
331         (WebCore::InlineTextBox::positionForOffset):
332         (WebCore::InlineTextBox::constructTextRun):
333         * rendering/InlineTextBox.h:
334         * rendering/RenderCombineText.cpp:
335         (WebCore::RenderCombineText::getStringToRender):
336         * rendering/RenderCombineText.h:
337         * rendering/svg/SVGInlineFlowBox.cpp:
338         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
339         * rendering/svg/SVGInlineTextBox.cpp:
340         (WebCore::SVGInlineTextBox::positionForOffset):
341         (WebCore::SVGInlineTextBox::localSelectionRect):
342         (WebCore::SVGInlineTextBox::paintSelectionBackground):
343         (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
344         (WebCore::SVGInlineTextBox::paintText):
345         * rendering/svg/SVGInlineTextBox.h:
346         * rendering/svg/SVGTextMetricsBuilder.cpp:
347         (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
348         (WebCore::SVGTextMetricsBuilder::advance):
349         * rendering/svg/SVGTextQuery.cpp:
350         (WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
351         (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
352         (WebCore::SVGTextQuery::subStringLengthCallback):
353         (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
354         (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
355         (WebCore::SVGTextQuery::rotationOfCharacterCallback):
356         (WebCore::SVGTextQuery::extentOfCharacterCallback):
357         (WebCore::SVGTextQuery::characterNumberAtPositionCallback):
358         * rendering/svg/SVGTextQuery.h:
359         * rendering/svg/SVGTextRunRenderingContext.cpp:
360         (WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
361         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
362         * rendering/svg/SVGTextRunRenderingContext.h:
363         * svg/SVGFontData.cpp:
364         (WebCore::SVGFontData::applySVGGlyphSelection):
365         * svg/SVGFontData.h:
366
367 2014-06-21  Zan Dobersek  <zdobersek@igalia.com>
368
369         createCairoGLSurface should take in a FloatSize reference as its first parameter
370         https://bugs.webkit.org/show_bug.cgi?id=134159
371
372         Reviewed by Martin Robinson.
373
374         The ImageBuffer constructor operates with a FloatSize reference, which is also
375         passed to createCairoGLSurface when accelerated 2D canvas support is enabled.
376         That function should take in a reference to the same type.
377
378         * platform/graphics/cairo/ImageBufferCairo.cpp:
379         (WebCore::createCairoGLSurface):
380
381 2014-06-21  Dean Jackson  <dino@apple.com>
382
383         [Mac] Margins for new form controls need tweaking
384         https://bugs.webkit.org/show_bug.cgi?id=134135
385         <rdar://problem/17262164>
386
387         Reviewed by Sam Weinig.
388
389         Take 2 of this patch. Only the mac-mountainlion LayoutTest
390         results are different from the first attempt.
391
392         With the newer animated controls in OS X Yosemite, we need
393         to tweak the fudge-factor margins for positioning. In a recent
394         patch I added another fudge, which I'm removing with this. I'm
395         not sure where the older values came from, but I've checked with
396         the latest AppKit sources and am using the sizes they implement
397         for the controls.
398
399         This will rebaseline a lot of tests, since I've made small tweaks
400         to the form layout.
401
402         * platform/mac/ThemeMac.mm:
403         (WebCore::checkboxMargins): New margin amounts.
404         (WebCore::radioSizes): New sizes.
405         (WebCore::radioMargins): New margin amounts.
406         (WebCore::paintToggleButton): No need to call the positioning fudge any more.
407         (WebCore::checkboxOffsets): Deleted.
408         (WebCore::radioOffsets): Deleted.
409
410 2014-06-20  Sam Weinig  <sam@webkit.org>
411
412         Remove static tables for bindings that use eager reification
413         https://bugs.webkit.org/show_bug.cgi?id=134126
414
415         Reviewed by Oliver Hunt.
416
417         This shaves about 1MB off of WebCore's .o files.
418
419         * bindings/scripts/CodeGeneratorJS.pm:
420         (GenerateHeader):
421         (GenerateImplementation):
422         (GenerateConstructorHelperMethods):
423         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
424         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
425         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
426         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
427         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
428         * bindings/scripts/test/JS/JSTestEventConstructor.h:
429         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
430         * bindings/scripts/test/JS/JSTestEventTarget.h:
431         * bindings/scripts/test/JS/JSTestException.cpp:
432         * bindings/scripts/test/JS/JSTestException.h:
433         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
434         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
435         * bindings/scripts/test/JS/JSTestInterface.cpp:
436         * bindings/scripts/test/JS/JSTestInterface.h:
437         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
438         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
439         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
440         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
441         * bindings/scripts/test/JS/JSTestNode.cpp:
442         * bindings/scripts/test/JS/JSTestNode.h:
443         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
444         * bindings/scripts/test/JS/JSTestNondeterministic.h:
445         * bindings/scripts/test/JS/JSTestObj.cpp:
446         * bindings/scripts/test/JS/JSTestObj.h:
447         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
448         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
449         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
450         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
451         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
452         * bindings/scripts/test/JS/JSTestTypedefs.h:
453         * bindings/scripts/test/JS/JSattribute.cpp:
454         * bindings/scripts/test/JS/JSattribute.h:
455         * bindings/scripts/test/JS/JSreadonly.cpp:
456         * bindings/scripts/test/JS/JSreadonly.h:
457
458 2014-06-21  Brady Eidson  <beidson@apple.com>
459
460         Gamepad API - Deprecate the existing implementation
461         https://bugs.webkit.org/show_bug.cgi?id=134108
462
463         Reviewed by Timothy Hatcher.
464
465         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
466         -Move some implementation files into a "deprecated" subdirectory.
467
468         * CMakeLists.txt:
469         * Configurations/FeatureDefines.xcconfig:
470         * PlatformGTK.cmake:
471
472         * Modules/gamepad/deprecated/Gamepad.cpp: Renamed from Source/WebCore/Modules/gamepad/Gamepad.cpp.
473         * Modules/gamepad/deprecated/Gamepad.h: Renamed from Source/WebCore/Modules/gamepad/Gamepad.h.
474         * Modules/gamepad/deprecated/Gamepad.idl: Renamed from Source/WebCore/Modules/gamepad/Gamepad.idl.
475         * Modules/gamepad/deprecated/GamepadList.cpp: Renamed from Source/WebCore/Modules/gamepad/GamepadList.cpp.
476         * Modules/gamepad/deprecated/GamepadList.h: Renamed from Source/WebCore/Modules/gamepad/GamepadList.h.
477         * Modules/gamepad/deprecated/GamepadList.idl: Renamed from Source/WebCore/Modules/gamepad/GamepadList.idl.
478         * Modules/gamepad/deprecated/NavigatorGamepad.cpp: Renamed from Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp.
479         * Modules/gamepad/deprecated/NavigatorGamepad.h: Renamed from Source/WebCore/Modules/gamepad/NavigatorGamepad.h.
480         * Modules/gamepad/deprecated/NavigatorGamepad.idl: Renamed from Source/WebCore/Modules/gamepad/NavigatorGamepad.idl.
481
482         * platform/Gamepads.h:
483         * platform/efl/GamepadsEfl.cpp:
484         * platform/gtk/GamepadsGtk.cpp:
485         * platform/linux/GamepadDeviceLinux.cpp:
486         * platform/linux/GamepadDeviceLinux.h:
487
488 2014-06-21  Myles C. Maxfield  <mmaxfield@apple.com>
489
490         Mark TextRun's constructors as explicit
491         https://bugs.webkit.org/show_bug.cgi?id=134124
492
493         Reviewed by Sam Weinig.
494
495         After r170072, nobody is implicitly converting a string to a TextRun. Therefore,
496         we can make the constructors explicit.
497
498         No new tests because there is no behavior change.
499
500         * platform/graphics/TextRun.h:
501         (WebCore::TextRun::TextRun):
502
503 2014-06-21  Commit Queue  <commit-queue@webkit.org>
504
505         Unreviewed, rolling out r170244.
506         https://bugs.webkit.org/show_bug.cgi?id=134157
507
508         GTK/EFL bindings generator works differently, making this
509         patch not work there.  Will fix entire patch after a rollout.
510         (Requested by bradee-oh on #webkit).
511
512         Reverted changeset:
513
514         "Gamepad API - Deprecate the existing implementation"
515         https://bugs.webkit.org/show_bug.cgi?id=134108
516         http://trac.webkit.org/changeset/170244
517
518 2014-06-21  Zan Dobersek  <zdobersek@igalia.com>
519
520         Fix the mismatched header build guards in WebKitDOMNodeFilterPrivate.h
521         which are throwing compilation warnings when building with Clang.
522
523         * bindings/gobject/WebKitDOMNodeFilterPrivate.h:
524
525 2014-06-21  Brady Eidson  <beidson@apple.com>
526
527         Gamepad API - Deprecate the existing implementation
528         https://bugs.webkit.org/show_bug.cgi?id=134108
529
530         Reviewed by Timothy Hatcher.
531
532         -Add new "GAMEPAD_DEPRECATED" build flag, moving the existing implementation to use it
533         -Add the "Deprecated" suffix to some implementation files
534
535         * CMakeLists.txt:
536         * PlatformGTK.cmake:
537         * Configurations/FeatureDefines.xcconfig:
538         
539         * Modules/gamepad/GamepadDeprecated.cpp: Renamed from Source/WebCore/Modules/gamepad/Gamepad.cpp.
540         * Modules/gamepad/GamepadDeprecated.h: Renamed from Source/WebCore/Modules/gamepad/Gamepad.h.
541         * Modules/gamepad/GamepadDeprecated.idl: Renamed from Source/WebCore/Modules/gamepad/Gamepad.idl.
542
543         * Modules/gamepad/GamepadList.cpp:
544         * Modules/gamepad/GamepadList.h:
545         * Modules/gamepad/GamepadList.idl:
546
547         * Modules/gamepad/NavigatorGamepadDeprecated.cpp: Renamed from Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp.
548         * Modules/gamepad/NavigatorGamepadDeprecated.h: Renamed from Source/WebCore/Modules/gamepad/NavigatorGamepad.h.
549         * Modules/gamepad/NavigatorGamepadDeprecated.idl: Renamed from Source/WebCore/Modules/gamepad/NavigatorGamepad.idl.
550
551         * platform/Gamepads.h:
552         * platform/efl/GamepadsEfl.cpp:
553         * platform/gtk/GamepadsGtk.cpp:
554         * platform/linux/GamepadDeviceLinux.cpp:
555         * platform/linux/GamepadDeviceLinux.h:
556
557 2014-06-21  Commit Queue  <commit-queue@webkit.org>
558
559         Unreviewed, rolling out r170228.
560         https://bugs.webkit.org/show_bug.cgi?id=134155
561
562         Caused 9 layout test failures on Mountain Lion
563         http://build.webkit.org/builders/Apple%20MountainLion%20Release%20WK2%20(Tests)/builds/19216
564         (Requested by bradee-oh on #webkit).
565
566         Reverted changeset:
567
568         "[Mac] Margins for new form controls need tweaking"
569         https://bugs.webkit.org/show_bug.cgi?id=134135
570         http://trac.webkit.org/changeset/170228
571
572 2014-06-21  Jer Noble  <jer.noble@apple.com>
573
574         [Mac] Create and attach the AVPlayerLayer to the AVPlayer immediately if the media element is <video>.
575         https://bugs.webkit.org/show_bug.cgi?id=134131
576
577         Reviewed by Eric Carlson.
578
579         The AVPlayer uses the presence of an AVPlayerLayer to decide which alternate to display in the case of
580         HLS streams with audio-only alternates. To give the AVPlayer the most information with which to make its
581         decision, always create and attach an AVPlayerLayer before attaching an AVPlayerItem to the AVPlayerLayer.
582         In addition, retrieve the <video> element bounds and create an AVPlayerLayer with a matching size, so that
583         the AVPlayer can choose an alternate with the correct dimensions.
584
585         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
586         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
587         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
588         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasLayerRenderer):
589         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
590         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
591         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
592         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer):
593
594 2014-06-21  Jeremy Jones  <jeremyj@apple.com>
595
596         Implement ios -[WAKWindow convertBaseToScreen:]
597         https://bugs.webkit.org/show_bug.cgi?id=134053
598
599         Reviewed by Eric Carlson.
600
601         * platform/ios/wak/WAKWindow.mm:
602         (-[WAKWindow convertBaseToScreen:]):
603         Traverse layer hierarchy and convert point.
604
605         (-[WAKWindow convertScreenToBase:]):
606         Traverse layer hierarchy and convert point.
607
608 2014-06-21  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
609
610         Removing PAGE_VISIBILITY_API compile guard.
611         https://bugs.webkit.org/show_bug.cgi?id=133844
612
613         Reviewed by Gavin Barraclough.
614
615         No new tests because no functional changes.
616
617         * Configurations/FeatureDefines.xcconfig:
618         * Modules/vibration/NavigatorVibration.cpp:
619         (WebCore::NavigatorVibration::vibrate):
620         * dom/Document.cpp:
621         (WebCore::Document::hidden):
622         * dom/Document.h:
623         * dom/Document.idl:
624         * dom/Element.h:
625         * html/HTMLMediaElement.cpp:
626         (WebCore::HTMLMediaElement::HTMLMediaElement):
627         (WebCore::HTMLMediaElement::registerWithDocument):
628         (WebCore::HTMLMediaElement::unregisterWithDocument):
629         (WebCore::HTMLMediaElement::parseAttribute):
630         * html/HTMLMediaElement.h:
631         * page/Page.cpp:
632         (WebCore::Page::setIsVisibleInternal):
633         (WebCore::Page::visibilityState):
634         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
635         * page/Page.h:
636         * page/PageVisibilityState.cpp:
637         * page/PageVisibilityState.h:
638         * page/Settings.cpp:
639         (WebCore::Settings::Settings):
640         (WebCore::Settings::setHiddenPageCSSAnimationSuspensionEnabled):
641         * page/Settings.h:
642         * platform/audio/MediaSession.cpp:
643         (WebCore::MediaSession::updateClientDataBuffering):
644         * platform/audio/MediaSession.h:
645
646 2014-06-21  Frédéric Wang  <fred.wang@free.fr>
647
648         [GTK][EFL] Use OpenType MATH fonts by default.
649         https://bugs.webkit.org/show_bug.cgi?id=133604
650
651         Reviewed by Chris Fleizach.
652
653         In order to support stretching of horizontal operators and large
654         operators in display mode as well as to improve the drawing of radicals,
655         we need to use an OpenType MATH table. This commit makes the MathML code
656         try "Latin Modern Math" first, which is an OpenType version of Knuth's
657         popular Computer Modern font and is packaged with most TeX
658         distributions (e.g. TeX Live on Linux). This should work well on the
659         EFL & GTK ports for which the initial OpenType MATH support has been
660         tested. Other ports will be handled later.
661
662         No new tests. This is already tested in LayoutTests/mathml/opentype/.
663
664         * css/mathml.css:
665         (math): Add "Latin Modern Math" as the first font-family of the <math> element.
666
667 2014-06-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
668
669         Unreviewed EFL build fix since r170224.
670
671         Add retainPlatformLayer() and releasePlatformLayer() in ScrollingStateNodeCoordinatedGraphics.cpp
672         as well. Thouse functions were missed in r170224.
673
674         * page/scrolling/ScrollingStateNode.h:
675         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
676         (WebCore::LayerRepresentation::retainPlatformLayer):
677         (WebCore::LayerRepresentation::releasePlatformLayer):
678
679 2014-06-20  Dean Jackson  <dino@apple.com>
680
681         [Mac] Margins for new form controls need tweaking
682         https://bugs.webkit.org/show_bug.cgi?id=134135
683         <rdar://problem/17262164>
684
685         Reviewed by Sam Weinig.
686
687         With the newer animated controls in OS X Yosemite, we need
688         to tweak the fudge-factor margins for positioning. In a recent
689         patch I added another fudge, which I'm removing with this. I'm
690         not sure where the older values came from, but I've checked with
691         the latest AppKit sources and am using the sizes they implement
692         for the controls.
693
694         This will rebaseline a lot of tests, since I've made small tweaks
695         to the form layout.
696
697         * platform/mac/ThemeMac.mm:
698         (WebCore::checkboxMargins): New margin amounts.
699         (WebCore::radioSizes): New sizes.
700         (WebCore::radioMargins): New margin amounts.
701         (WebCore::paintToggleButton): No need to call the positioning fudge any more.
702         (WebCore::checkboxOffsets): Deleted.
703         (WebCore::radioOffsets): Deleted.
704
705 2014-06-20  Alex Christensen  <achristensen@webkit.org>
706
707         Fix css jit on armv7.
708         https://bugs.webkit.org/show_bug.cgi?id=134143
709         <rdar://problem/17348060>
710
711         Reviewed by Benjamin Poulain.
712
713         This fixes the acid3 test.
714
715         * cssjit/SelectorCompiler.cpp:
716         (WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
717         Correct high and low bits.
718
719 2014-06-20  Beth Dakin  <bdakin@apple.com>
720
721         https://bugs.webkit.org/show_bug.cgi?id=134117
722         Unreproducible crashes under WebCore::ScrollingTree::updateTreeFromStateNode() 
723         from messaging a deleted Obj-C object
724         -and corresponding-
725         <rdar://problem/17149252>
726
727         Reviewed by Simon Fraser.
728
729         This is a speculative fix. It makes LayerRepresentation retain m_platformLayer.
730
731         * WebCore.exp.in:
732         * page/scrolling/ScrollingStateNode.h:
733         (WebCore::LayerRepresentation::LayerRepresentation):
734         (WebCore::LayerRepresentation::~LayerRepresentation):
735         (WebCore::LayerRepresentation::operator=):
736         (WebCore::LayerRepresentation::operator==):
737         (WebCore::LayerRepresentation::operator ==): Deleted.
738
739         Make this ASSERT an ASSERT_WITH_SECURITY_IMPLICATION
740         * page/scrolling/ScrollingTree.cpp:
741         (WebCore::ScrollingTree::updateTreeFromStateNode):
742
743         Moved ScrollingStateNodeMac.mm, which was empty anyway, to cocoa/
744         ScrollingStateNode.mm so that iOS can use it too.
745         * page/scrolling/cocoa: Added.
746         * page/scrolling/cocoa/ScrollingStateNode.mm: Copied from page/scrolling/mac/ScrollingStateNodeMac.mm.
747
748         Actual implementation for retain and release.
749         (WebCore::LayerRepresentation::retainPlatformLayer):
750         (WebCore::LayerRepresentation::releasePlatformLayer):
751
752         Deleted.
753         * page/scrolling/mac/ScrollingStateNodeMac.mm: Removed.
754
755 2014-06-19  Zalan Bujtas  <zalan@apple.com>
756
757         Introduce RenderLayer::offsetFromAncestorLayer() to make convertToLayerCoords() calls with
758         LayoutPoint(0, 0) as parameter more explicit.
759         https://bugs.webkit.org/show_bug.cgi?id=134092
760
761         Reviewed by Simon Fraser.
762
763         Most of the RenderLayer::convertToLayerCoords() callers are only interested in
764         the offset from the ancestor layer by passing LayoutPoint(0, 0) as the coordinate to convert.
765         Introducing offsetFromAncestorLayer() makes those calls more explicit/self-explanatory.
766         It helps simplifying the callsite's code.
767
768         No change in functionality.
769
770         * rendering/RenderGeometryMap.cpp:
771         (WebCore::RenderGeometryMap::mapToContainer):
772         (WebCore::RenderGeometryMap::pushMappingsToAncestor):
773         (WebCore::RenderGeometryMap::push):
774         * rendering/RenderLayer.cpp:
775         (WebCore::RenderLayer::computeOffsetFromRoot):
776         (WebCore::RenderLayer::updateLayerPositions):
777         (WebCore::expandClipRectForRegionAndReflection):
778         (WebCore::expandClipRectForDescendantsAndReflection):
779         (WebCore::transparencyClipBox):
780         (WebCore::RenderLayer::convertToPixelSnappedLayerCoords):
781         (WebCore::accumulateOffsetTowardsAncestor):
782         (WebCore::RenderLayer::convertToLayerCoords):
783         (WebCore::RenderLayer::offsetFromAncestorLayer):
784         (WebCore::RenderLayer::clipToRect):
785         (WebCore::RenderLayer::paintLayerContents):
786         (WebCore::RenderLayer::paintLayerByApplyingTransform):
787         (WebCore::RenderLayer::collectFragments):
788         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
789         (WebCore::RenderLayer::createLocalTransformState):
790         (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
791         (WebCore::RenderLayer::calculateClipRects):
792         * rendering/RenderLayer.h:
793         * rendering/RenderLayerBacking.cpp:
794         (WebCore::RenderLayerBacking::updateCompositedBounds):
795         (WebCore::RenderLayerBacking::updateGeometry):
796         * rendering/RenderLayerCompositor.cpp:
797         (WebCore::RenderLayerCompositor::repaintInCompositedAncestor):
798
799 2014-06-20  Myles C. Maxfield  <mmaxfield@apple.com>
800
801         Removing dead code in platform/graphics/gpu
802         https://bugs.webkit.org/show_bug.cgi?id=134065
803
804         Reviewed by Simon Fraser.
805
806         No new tests because there is no behavior change.
807
808         * WebCore.vcxproj/WebCore.vcxproj:
809         * WebCore.vcxproj/WebCore.vcxproj.filters:
810         * WebCore.xcodeproj/project.pbxproj:
811         * platform/graphics/gpu/LoopBlinnClassifier.cpp: Removed.
812         * platform/graphics/gpu/LoopBlinnClassifier.h: Removed.
813         * platform/graphics/gpu/LoopBlinnConstants.h: Removed.
814         * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: Removed.
815         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: Removed.
816         * platform/graphics/gpu/LoopBlinnMathUtils.cpp: Removed.
817         * platform/graphics/gpu/LoopBlinnMathUtils.h: Removed.
818         * platform/graphics/gpu/LoopBlinnPathCache.cpp: Removed.
819         * platform/graphics/gpu/LoopBlinnPathCache.h: Removed.
820         * platform/graphics/gpu/LoopBlinnPathProcessor.h: Removed.
821         * platform/graphics/gpu/LoopBlinnShader.cpp: Removed.
822         * platform/graphics/gpu/LoopBlinnShader.h: Removed.
823         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: Removed.
824         * platform/graphics/gpu/LoopBlinnSolidFillShader.h: Removed.
825         * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: Removed.
826         * platform/graphics/gpu/LoopBlinnTextureCoords.h: Removed.
827         * platform/graphics/gpu/Shader.cpp: Removed.
828         * platform/graphics/gpu/Shader.h: Removed.
829         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
830         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
831         * platform/graphics/gpu/mac/DrawingBufferMac.mm: Removed.
832         * platform/graphics/gpu/opencl/FilterContextOpenCL.cpp: Removed.
833         * platform/graphics/gpu/opencl/FilterContextOpenCL.h: Removed.
834         * platform/graphics/gpu/opencl/OpenCLFEColorMatrix.cpp: Removed.
835         * platform/graphics/gpu/opencl/OpenCLFEFlood.cpp: Removed.
836         * platform/graphics/gpu/opencl/OpenCLFEImage.cpp: Removed.
837         * platform/graphics/gpu/opencl/OpenCLFEMerge.cpp: Removed.
838         * platform/graphics/gpu/opencl/OpenCLFESourceAlpha.cpp: Removed.
839         * platform/graphics/gpu/opencl/OpenCLFESourceGraphic.cpp: Removed.
840         * platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp: Removed.
841         * platform/graphics/gpu/opencl/OpenCLHandle.h: Removed.
842
843 2014-06-20  Myles C. Maxfield  <mmaxfield@apple.com>
844
845         [iOS] Support Khmer and Lao fallback fonts
846         https://bugs.webkit.org/show_bug.cgi?id=134114
847
848         Reviewed by Enrica Casucci.
849
850         iOS has fonts which have glyphs for the Khmer and Lao languages.
851
852         This patch also does a little refactoring of the language-specific fallback
853         font path to increase readability.
854
855         Test: fast/text/khmer-lao-font.html
856
857         * platform/graphics/ios/FontCacheIOS.mm:
858         (WebCore::languageSpecificFallbackFont):
859         (WebCore::FontCache::systemFallbackForCharacters):
860
861 2014-06-20  Anders Carlsson  <andersca@apple.com>
862
863         Give NPAPI post requests a default content type
864         https://bugs.webkit.org/show_bug.cgi?id=134120
865
866         Reviewed by Andreas Kling.
867
868         * WebCore.exp.in:
869
870 2014-06-20  Simon Fraser  <simon.fraser@apple.com>
871
872         REGRESSION (r169972): fix issue when removing masks from compositing layers
873         https://bugs.webkit.org/show_bug.cgi?id=134118
874         <rdar://problem/17366654>
875
876         Reviewed by Dean Jackson.
877         
878         After r169972 when removing the mask, we could destroy the mask
879         layer before the call into m_graphicsLayer->setMaskLayer(), which would
880         try to call functions on the old mask. Fix by clearing the mask layer
881         on the GraphicsLayer before the mask layer gets destroyed.
882
883         Test: compositing/masks/toggle-mask.html
884
885         * rendering/RenderLayerBacking.cpp:
886         (WebCore::RenderLayerBacking::updateConfiguration):
887         (WebCore::RenderLayerBacking::updateMaskLayer):
888         * rendering/RenderLayerBacking.h:
889
890 2014-06-20  Andreas Kling  <akling@apple.com>
891
892         [Cocoa] Release freed up blocks from the JS heap after simulated memory pressure.
893         <https://webkit.org/b/134112>
894
895         Reviewed by Mark Hahnenberg.
896
897         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
898         (WebCore::MemoryPressureHandler::install):
899
900 2014-06-20  Zalan Bujtas  <zalan@apple.com>
901
902         Remove redundant RenderLayer::computeOffsetFromRoot() function.
903         https://bugs.webkit.org/show_bug.cgi?id=134088
904
905         Reviewed by Benjamin Poulain.
906
907         No change in functionality.
908
909         * rendering/RenderLayer.cpp:
910         (WebCore::RenderLayer::calculateClipRects):
911         (WebCore::RenderLayer::computeOffsetFromRoot): Deleted.
912         * rendering/RenderLayer.h:
913
914 2014-06-19  Simon Fraser  <simon.fraser@apple.com>
915
916         [iOS WebKit2] Make -webkit-overflow-scrolling:touch work in iframes (breaks MSWord previews)
917         https://bugs.webkit.org/show_bug.cgi?id=134085
918         <rdar://problem/16440586>
919
920         Reviewed by Tim Horton.
921         
922         When nodes were detached from the scrolling tree, we would previously throw away
923         all descendant nodes, expecting that they would be re-attached as we walk the compositing
924         layer tree in RenderLayerCompositor.
925         
926         However, this doesn't work across frame boundaries; the subframe may never update
927         its compositing layers again, so would lose all its scrolling nodes.
928         
929         Fix by having ScrollingStateTree::detachNode() by default set aside subframe nodes
930         into a hash map. On reattach, we'll look in the hash map and pull out an existing node
931         (with its children intact) if possible.
932
933         Tests: platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-gain-scrolling-ancestor.html
934                platform/mac-wk2/tiled-drawing/scrolling/frames/coordinated-frame-lose-scrolling-ancestor.html
935                platform/mac-wk2/tiled-drawing/scrolling/frames/remove-coordinated-frame.html
936
937         * page/scrolling/ScrollingStateNode.cpp:
938         (WebCore::ScrollingStateNode::ScrollingStateNode):
939         * page/scrolling/ScrollingStateTree.cpp:
940         (WebCore::ScrollingStateTree::attachNode):
941         (WebCore::ScrollingStateTree::detachNode):
942         (WebCore::ScrollingStateTree::clear):
943         (WebCore::ScrollingStateTree::removeNodeAndAllDescendants):
944         (WebCore::ScrollingStateTree::recursiveNodeWillBeRemoved):
945         * page/scrolling/ScrollingStateTree.h:
946         * page/scrolling/ScrollingTree.cpp:
947         (WebCore::ScrollingTree::commitNewTreeState): Go back to removing the deleted
948         nodes from m_nodeMap first.
949         (WebCore::ScrollingTree::removeDestroyedNodes): There is no need for this to
950         actually make use of ScrollingTreeNode* any more; the ASSERT(!node->parent())
951         is bogus because it can fire when whole subtrees are removed, and to clear the
952         latched node we just need the ID.
953
954 2014-06-19  Simon Fraser  <simon.fraser@apple.com>
955
956         Handle scrolling tree modifications which remove intermediate nodes
957         https://bugs.webkit.org/show_bug.cgi?id=134082
958
959         Reviewed by Tim Horton.
960
961         When updating the scrolling tree from the state tree, we failed to maintain
962         the children arrays correctly. Fix by removing all children on scrolling nodes,
963         and allowing the calls on children to add them back. A temporary hash map
964         keeps the nodes alive.
965         
966         The state tree's m_nodesRemovedSinceLastCommit was also made into a HashSet,
967         to make it easier to handle removal followed by re-insertion.
968
969         * WebCore.exp.in:
970         * page/scrolling/ScrollingStateTree.cpp:
971         (WebCore::ScrollingStateTree::attachNode): If a node is (possibly re-)added,
972         remove it from m_nodesRemovedSinceLastCommit.remove.
973         (WebCore::ScrollingStateTree::willRemoveNode):
974         (WebCore::ScrollingStateTree::setRemovedNodes):
975         * page/scrolling/ScrollingStateTree.h:
976         (WebCore::ScrollingStateTree::removedNodes):
977         * page/scrolling/ScrollingTree.cpp:
978         (WebCore::ScrollingTree::commitNewTreeState):
979         (WebCore::ScrollingTree::updateTreeFromStateNode): Clean up to have only one call
980         to updateBeforeChildren(), and remove all children from the scrolling node
981         before visiting state children.
982         (WebCore::ScrollingTree::removeDestroyedNodes): It was very wrong to assume
983         that all non-root nodes were parented in the root! Now we don't need to
984         remove from the parent anyway.
985         * page/scrolling/ScrollingTree.h:
986         * page/scrolling/ScrollingTreeNode.h:
987         (WebCore::ScrollingTreeNode::children):
988
989 2014-06-19  Simon Fraser  <simon.fraser@apple.com>
990
991         Make ScrollingTreeNodes refounted, for easier tree reconfiguration
992         https://bugs.webkit.org/show_bug.cgi?id=134075
993
994         Reviewed by Tim Horton.
995
996         Make ScrollingTreeNode be ref-counted.
997
998         * page/scrolling/AsyncScrollingCoordinator.h:
999         * page/scrolling/ScrollingTree.cpp:
1000         (WebCore::ScrollingTree::handleWheelEvent):
1001         (WebCore::ScrollingTree::updateTreeFromStateNode):
1002         * page/scrolling/ScrollingTree.h:
1003         (WebCore::ScrollingTree::rootNode):
1004         * page/scrolling/ScrollingTreeNode.cpp:
1005         (WebCore::ScrollingTreeNode::appendChild):
1006         * page/scrolling/ScrollingTreeNode.h:
1007         * page/scrolling/ThreadedScrollingTree.cpp:
1008         (WebCore::ThreadedScrollingTree::createNode):
1009         * page/scrolling/ThreadedScrollingTree.h:
1010         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
1011         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
1012         (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
1013         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
1014         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
1015         (WebCore::ScrollingTreeFrameScrollingNodeIOS::create):
1016         * page/scrolling/ios/ScrollingTreeIOS.cpp:
1017         (WebCore::ScrollingTreeIOS::createNode):
1018         * page/scrolling/ios/ScrollingTreeIOS.h:
1019         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1020         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1021         (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
1022         * page/scrolling/mac/ScrollingTreeFixedNode.h:
1023         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1024         (WebCore::ScrollingTreeFixedNode::create):
1025         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
1026         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
1027         (WebCore::ScrollingTreeFrameScrollingNodeMac::create):
1028         * page/scrolling/mac/ScrollingTreeStickyNode.h:
1029         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1030         (WebCore::ScrollingTreeStickyNode::create):
1031
1032 2014-06-20  Enrica Casucci  <enrica@apple.com>
1033
1034         iOS build fix after http://trac.webkit.org/changeset/170167.
1035
1036         Reviewed by Geoff Garen.
1037
1038         * bindings/js/JSDeviceMotionEventCustom.cpp:
1039         * bindings/js/JSDeviceOrientationEventCustom.cpp:
1040
1041 2014-06-19  Pratik Solanki  <psolanki@apple.com>
1042
1043         Enable synchronous willSendRequest on iOS
1044         https://bugs.webkit.org/show_bug.cgi?id=134081
1045         <rdar://problem/17350927>
1046
1047         Reviewed by Andreas Kling.
1048
1049         We lost the call to make willSendrequest callbacks be synchronous if possible during code
1050         refactoring. The call is present in ResourceHandleMac.mm but that code is not called when
1051         we use the CFNetwork based loader. Call the SPI in setupRequest().
1052
1053         No new tests because existing tests should cover this functionality.
1054
1055         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
1056         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
1057         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
1058
1059 2014-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1060
1061         [GTK] Do not build quota files when QUOTA is disabled
1062         https://bugs.webkit.org/show_bug.cgi?id=134101
1063
1064         Reviewed by Philippe Normand.
1065
1066         * CMakeLists.txt: Remove exception for GTK+ that is no longer
1067         required since r170173.
1068         * PlatformGTK.cmake: Generate GObject DOM bindings for Quota when enabled.
1069
1070 2014-06-20  Manuel Rego Casasnovas  <rego@igalia.com>
1071
1072         [CSS Grid Layout] Add GridSpan::iterator
1073         https://bugs.webkit.org/show_bug.cgi?id=134058
1074
1075         Reviewed by Bem Jones-Bey.
1076
1077         Once that GridResolvedPosition has been introduced in r169934, this
1078         patch adds a GridSpan::iterator which allows to simplify the loops over
1079         GridResolvedPositions.
1080         From now on we could use range-based for loops.
1081
1082         No new tests as it is already covered by current tests
1083         (fast/css-grid-layout/).
1084
1085         * rendering/RenderGrid.cpp:
1086         (WebCore::RenderGrid::computeNormalizedFractionBreadth): Change loop to
1087         ranged-based for.
1088         (WebCore::RenderGrid::insertItemIntoGrid): Ditto.
1089         (WebCore::RenderGrid::gridAreaBreadthForChild): Ditto.
1090         * rendering/style/GridCoordinate.h: Define GridSpan::iterator.
1091         (WebCore::GridSpan::begin): Return resolved initial position.
1092         (WebCore::GridSpan::end): Return next to resolved final position.
1093         * rendering/style/GridResolvedPosition.h:
1094         (WebCore::GridResolvedPosition::operator*): Add operator required by
1095         range-based for loops.
1096         (WebCore::GridResolvedPosition::operator!=): Add not equal operator.
1097
1098 2014-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1099
1100         Unreviewed. Fix GTK+ debug build after r170174.
1101
1102         * bindings/gobject/WebKitDOMNodeFilter.cpp:
1103         (WebKit::nodeFilterObjectDestroyedCallback):
1104
1105 2014-06-20  Tim Horton  <timothy_horton@apple.com>
1106
1107         LayerPool’d PlatformCALayerRemote/RemoteLayerBackingStore can have stale context pointers
1108         https://bugs.webkit.org/show_bug.cgi?id=134050
1109         <rdar://problem/17315114>
1110
1111         Reviewed by Simon Fraser.
1112
1113         * WebCore.exp.in:
1114         * WebCore.xcodeproj/project.pbxproj:
1115         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
1116         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1117         Drain all LayerPools upon memory pressure.
1118
1119         * platform/graphics/ca/LayerPool.cpp:
1120         (WebCore::LayerPool::LayerPool):
1121         (WebCore::LayerPool::~LayerPool):
1122         (WebCore::LayerPool::allLayerPools):
1123         (WebCore::LayerPool::sharedPool): Deleted.
1124         * platform/graphics/ca/LayerPool.h:
1125         * platform/graphics/ca/PlatformCALayer.cpp:
1126         (WebCore::PlatformCALayer::createCompatibleLayerWithSize):
1127         Add createCompatibleLayerWithSize, which optionally tries to take said layer from the LayerPool.
1128
1129         (WebCore::PlatformCALayer::moveToLayerPool):
1130         Add moveToLayerPool, which moves the layer to the LayerPool.
1131
1132         (WebCore::PlatformCALayer::layerPool):
1133         The LayerPool for each layer is obtained via PlatformCALayer::layerPool(), which subclasses can override for special behaviors.
1134         The base class uses a global LayerPool.
1135
1136         * platform/graphics/ca/PlatformCALayer.h:
1137         * platform/graphics/ca/TileController.cpp:
1138         (WebCore::TileController::createTileLayer):
1139         * platform/graphics/ca/TileGrid.cpp:
1140         (WebCore::TileGrid::removeTiles):
1141
1142 2014-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1143
1144         [GTK] webkit_dom_document_create_tree_walker impossible to use due to WebKitDOMNodeFilter
1145         https://bugs.webkit.org/show_bug.cgi?id=93002
1146
1147         Reviewed by Gustavo Noronha Silva.
1148
1149         Add custom implementation of WebKitDOMNodeFilter to expose it as
1150         an interface instead of a class.
1151
1152         * PlatformGTK.cmake: Add new files to compilation.
1153         * bindings/gobject/GObjectNodeFilterCondition.cpp: Added.
1154         (WebCore::GObjectNodeFilterCondition::~GObjectNodeFilterCondition):
1155         Reset the NodeFilter WebCore object associated to the
1156         WebKitDOMNodeFilter object.
1157         (WebCore::GObjectNodeFilterCondition::acceptNode): Call webkit_dom_node_filter_accept_node().
1158         * bindings/gobject/GObjectNodeFilterCondition.h: Added.
1159         (WebCore::GObjectNodeFilterCondition::create): Create a new
1160         GObjectNodeFilterCondition for the given WebKitDOMNodeFilter.
1161         (WebCore::GObjectNodeFilterCondition::GObjectNodeFilterCondition):
1162         * bindings/gobject/WebKitDOMNodeFilter.cpp: Added.
1163         (webkit_dom_node_filter_default_init):
1164         (webkit_dom_node_filter_accept_node):
1165         (WebKit::nodeFilterMap): Map NodeFilter WebCore objects to
1166         WebKitDOMNodeFilter objects.
1167         (WebKit::nodeFilterObjectDestroyedCallback): Remove the node
1168         filter form the map when the WebKitDOMNodeFilter objecrt is destroyed.
1169         (WebKit::kit): Return the WebKitDOMNodeFilter object for the given
1170         NodeFilter WebCore object.
1171         (WebKit::core): Get or create a NodeFilter WebCore object
1172         associated to the given WebKitDOMNodeFilter.
1173         * bindings/gobject/WebKitDOMNodeFilter.h: Added.
1174         * bindings/gobject/WebKitDOMNodeFilter.symbols: Added.
1175         * bindings/gobject/WebKitDOMNodeFilterPrivate.h: Added.
1176         * bindings/scripts/CodeGeneratorGObject.pm:
1177         (GenerateFunction): Add exceptions for NodeFilter parameters since
1178         the core method returns a PassRefPtr.
1179
1180 2014-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1181
1182         [GTK] Limit the amount of API exposed to GObject DOM bindings API
1183         https://bugs.webkit.org/show_bug.cgi?id=133726
1184
1185         Reviewed by Gustavo Noronha Silva.
1186
1187         Split the GObject DOM bindings API into stable and unstable. The
1188         unstable API is not included in the main webkitdom.h file, so that
1189         to use it users have to include the headers individually and
1190         define a macro WEBKIT_DOM_USE_UNSTABLE_API. For unstable methods
1191         of stable classes we generate a {ClassName}Unstable.h header file
1192         containing the unstable API. From now on we only keep backwards
1193         compatibility for the stable API.
1194
1195         * PlatformGTK.cmake: Split GObject DOM bindings related variables
1196         into Stable and Unstable. Add also
1197         * bindings/gobject/WebKitDOMCustom.cpp:
1198         (webkit_dom_html_media_element_set_current_time): Deleted.
1199         (webkit_dom_text_track_get_kind): Deleted.
1200         (webkit_dom_text_track_get_mode): Deleted.
1201         (webkit_dom_text_track_set_mode): Deleted.
1202         * bindings/gobject/WebKitDOMCustom.h:
1203         * bindings/gobject/WebKitDOMCustom.symbols: Remove custom symbols
1204         added due to API changes.
1205         * bindings/gobject/WebKitDOMPrivate.h: Include webkitdomdefines-unstable.h.
1206         * bindings/gobject/webkitdom.symbols: Remove all unstable symbols.
1207         * bindings/scripts/CodeGeneratorGObject.pm:
1208         (SkipFunction): Do not skip webkit_dom_html_media_element_set_current_time anymore.
1209         (GenerateHeader): Only force single header include for stable
1210         headers and add WEBKIT_DOM_USE_UNSTABLE_API #ifdef to unstable headers.
1211         (GenerateFunction): Only add stable symbols to the symbols
1212         array. Add function prototypes to main header or unstable header
1213         depending on whether it's an unstable symbol for a stable class or
1214         not. Also add Stability gtk-doc tag to unstable methods.
1215         (GenerateEndHeader): Add required #endifs
1216         (WriteData): Write also an Unstable.h header when appropriate and
1217         only generate a symbols file for stable classes.
1218         (ReadStableSymbols): Read the stable symbols for the current class.
1219         (GenerateInterface): Call ReadStableSymbols.
1220         * bindings/scripts/gobject-generate-headers.pl: Generate webkitdomdefines-unstable.h.
1221         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1222         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1223         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1224         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1225         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1226         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
1227         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h:
1228         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1229         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1230         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
1231         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
1232         * bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.h:
1233         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1234         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
1235         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1236         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
1237         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
1238         * bindings/scripts/test/GObject/WebKitDOMreadonly.h:
1239
1240 2014-06-19  Andreas Kling  <akling@apple.com>
1241
1242         When simulating memory pressure, GC *after* releasing WebCore resources.
1243
1244         Since clearing the page cache is likely to create lots of garbage, defer the
1245         synchronous GC until after the WebCore pressure relief, so we can see the
1246         effect of clearing out all those pages.
1247
1248         Rubber-stamped by Gavin Barraclough.
1249
1250         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
1251         (WebCore::MemoryPressureHandler::install):
1252
1253 2014-06-18  Sam Weinig  <sam@webkit.org>
1254
1255         Move generate prototype and constructor classes into the generated implementation files
1256         https://bugs.webkit.org/show_bug.cgi?id=134054
1257
1258         Reviewed by Oliver Hunt.
1259
1260         In an effort to reduce the size of the generated bindings headers, which is important
1261         as the generated headers get included in a lot of places, this patch moves the prototype
1262         and constructor declarations from the header to implementation file. This works because,
1263         for the most part, no code cares about the prototype or constructors except the instance.
1264
1265         There are a few exceptions which had to be accounted for:
1266         - The global objects (JSDOMWindow and JSWorkerGlobalScope) need to have their prototypes
1267           available during initialization, so they remain in the header.
1268         - JSLocation requires customizing some aspects of the prototype behavior, so its prototype,
1269           and any future class that uses JSCustomNamedGetterOnPrototype or JSCustomDefineOwnPropertyOnPrototype,
1270           remains in the header.
1271         - A few classes had custom constructor functions. Instead of keeping the entire constructor
1272           in the header, I opted for pulling just the static constructor function into the header, and
1273           modifying the custom constructors to use the DOMConstructorObject type as the callee, since the
1274           more specific type was unnecessary.
1275
1276         As a result of making these changes, I was also able to remove the #include of JSDOMBinding.h from
1277         all the headers, which brought in quite a bit.
1278
1279         * bindings/js/JSAudioContextCustom.cpp:
1280         (WebCore::constructJSAudioContext):
1281         (WebCore::JSAudioContextConstructor::constructJSAudioContext): Deleted.
1282         * bindings/js/JSBlobCustom.cpp:
1283         (WebCore::constructJSBlob):
1284         (WebCore::JSBlobConstructor::constructJSBlob): Deleted.
1285         * bindings/js/JSCryptoCustom.cpp:
1286         * bindings/js/JSDOMFormDataCustom.cpp:
1287         (WebCore::constructJSDOMFormData):
1288         (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData): Deleted.
1289         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
1290         * bindings/js/JSDOMPluginArrayCustom.cpp:
1291         * bindings/js/JSDOMPluginCustom.cpp:
1292         * bindings/js/JSDataCueCustom.cpp:
1293         (WebCore::constructJSDataCue):
1294         (WebCore::JSDataCueConstructor::constructJSDataCue): Deleted.
1295         * bindings/js/JSDataTransferCustom.cpp:
1296         * bindings/js/JSEventCustom.cpp:
1297         * bindings/js/JSFileReaderCustom.cpp:
1298         * bindings/js/JSHistoryCustom.cpp:
1299         * bindings/js/JSIDBAnyCustom.cpp:
1300         * bindings/js/JSIDBDatabaseCustom.cpp:
1301         * bindings/js/JSIDBObjectStoreCustom.cpp:
1302         * bindings/js/JSImageConstructor.cpp:
1303         (WebCore::JSImageConstructor::finishCreation):
1304         * bindings/js/JSImageDataCustom.cpp:
1305         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1306         * bindings/js/JSLocationCustom.cpp:
1307         * bindings/js/JSMessagePortCustom.cpp:
1308         * bindings/js/JSMutationObserverCustom.cpp:
1309         (WebCore::constructJSMutationObserver):
1310         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Deleted.
1311         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1312         * bindings/js/JSSQLTransactionSyncCustom.cpp:
1313         * bindings/js/JSSVGLengthCustom.cpp:
1314         * bindings/js/JSSharedWorkerCustom.cpp:
1315         (WebCore::constructJSSharedWorker):
1316         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Deleted.
1317         * bindings/js/JSStorageCustom.cpp:
1318         * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
1319         * bindings/js/JSWebKitPointCustom.cpp:
1320         (WebCore::constructJSWebKitPoint):
1321         (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint): Deleted.
1322         * bindings/js/JSWorkerCustom.cpp:
1323         (WebCore::constructJSWorker):
1324         (WebCore::JSWorkerConstructor::constructJSWorker): Deleted.
1325         * bindings/js/SerializedScriptValue.cpp:
1326         * bindings/scripts/CodeGeneratorJS.pm:
1327         (GenerateHeader):
1328         (GenerateImplementation):
1329         (GeneratePrototypeDeclaration):
1330         (GenerateConstructorDeclaration):
1331         (GenerateConstructorHelperMethods):
1332         (HeaderNeedsPrototypeDeclaration):
1333         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1334         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1335         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1336         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
1337         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1338         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1339         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1340         * bindings/scripts/test/JS/JSTestEventTarget.h:
1341         * bindings/scripts/test/JS/JSTestException.cpp:
1342         * bindings/scripts/test/JS/JSTestException.h:
1343         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1344         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
1345         * bindings/scripts/test/JS/JSTestInterface.cpp:
1346         * bindings/scripts/test/JS/JSTestInterface.h:
1347         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1348         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1349         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1350         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1351         * bindings/scripts/test/JS/JSTestNode.cpp:
1352         * bindings/scripts/test/JS/JSTestNode.h:
1353         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
1354         * bindings/scripts/test/JS/JSTestNondeterministic.h:
1355         * bindings/scripts/test/JS/JSTestObj.cpp:
1356         * bindings/scripts/test/JS/JSTestObj.h:
1357         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1358         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
1359         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1360         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1361         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1362         * bindings/scripts/test/JS/JSTestTypedefs.h:
1363         * bindings/scripts/test/JS/JSattribute.cpp:
1364         * bindings/scripts/test/JS/JSattribute.h:
1365         * bindings/scripts/test/JS/JSreadonly.cpp:
1366         * bindings/scripts/test/JS/JSreadonly.h:
1367
1368
1369 2014-06-19  peavo@outlook.com  <peavo@outlook.com>
1370
1371         [Curl] Compile errors related to http header field names.
1372         https://bugs.webkit.org/show_bug.cgi?id=134029
1373
1374         Reviewed by Brent Fulgham.
1375
1376         Http header field names should now be specified with an enum, not a string.
1377
1378         * platform/network/curl/MultipartHandle.cpp:
1379         (WebCore::MultipartHandle::didReceiveResponse):
1380         * platform/network/curl/ResourceHandleManager.cpp:
1381         (WebCore::getProtectionSpace):
1382
1383 2014-06-19  Anders Carlsson  <andersca@apple.com>
1384
1385         Put the divider in the right place.
1386
1387         * DerivedSources.make:
1388
1389 2014-06-19  Anders Carlsson  <andersca@apple.com>
1390
1391         Address a review comment from Darin.
1392
1393         * inspector/InspectorResourceAgent.cpp:
1394         (WebCore::InspectorResourceAgent::willLoadXHR):
1395
1396 2014-06-19  Anders Carlsson  <andersca@apple.com>
1397
1398         Simplify two HistoryController member functions
1399         https://bugs.webkit.org/show_bug.cgi?id=134064
1400
1401         Reviewed by Dan Bernstein.
1402
1403         Remove the FrameLoadType parameter from recursiveSetProvisionalItem,
1404         use early returns and modern loops.
1405
1406         * loader/HistoryController.cpp:
1407         (WebCore::HistoryController::goToItem):
1408         (WebCore::HistoryController::recursiveSetProvisionalItem):
1409         (WebCore::HistoryController::recursiveGoToItem):
1410         * loader/HistoryController.h:
1411
1412 2014-06-19  David Kilzer  <ddkilzer@apple.com>
1413
1414         MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL() leaks an NSMutableArray
1415         <http://webkit.org/b/134052>
1416
1417         Reviewed by Eric Carlson.
1418
1419         Fixes the following static analyzer warning:
1420
1421             WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:688:43: warning: Potential leak of an object stored into 'outOfBandTracks'
1422                     NSMutableArray* outOfBandTracks = [[NSMutableArray alloc] init];
1423                                                       ^
1424
1425         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1426         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1427         Use RetainPtr<NSMutableArray> to prevent a leak.  Use
1428         Objective-C literals to clean up the code.
1429
1430 2014-06-18  Zan Dobersek  <zdobersek@igalia.com>
1431
1432         ScriptExecutionContext::Task, FileThread::Task parameters should be values
1433         https://bugs.webkit.org/show_bug.cgi?id=134035
1434
1435         Reviewed by Anders Carlsson.
1436
1437         r170106 and similar previous changesets enforced ScriptExecutionContext::Task and
1438         FileThread::Task parameters as rvalue references. There's technically nothing wrong
1439         with that, but since both classes are move-only it is also not strictly required.
1440         Accepting these parameters as values is more common in C++ value semantics as well.
1441
1442         * dom/Document.cpp:
1443         (WebCore::Document::postTask):
1444         * dom/Document.h:
1445         * dom/ScriptExecutionContext.h:
1446         * fileapi/FileThread.cpp:
1447         (WebCore::FileThread::postTask):
1448         * fileapi/FileThread.h:
1449         * workers/DefaultSharedWorkerRepository.cpp:
1450         (WebCore::SharedWorkerProxy::postTaskToLoader):
1451         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
1452         * workers/WorkerGlobalScope.cpp:
1453         (WebCore::WorkerGlobalScope::postTask):
1454         * workers/WorkerGlobalScope.h:
1455         * workers/WorkerLoaderProxy.h:
1456         * workers/WorkerMessagingProxy.cpp:
1457         (WebCore::WorkerMessagingProxy::postTaskToLoader):
1458         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
1459         * workers/WorkerMessagingProxy.h:
1460         * workers/WorkerRunLoop.cpp:
1461         (WebCore::WorkerRunLoop::postTask):
1462         (WebCore::WorkerRunLoop::postTaskAndTerminate):
1463         (WebCore::WorkerRunLoop::postTaskForMode):
1464         (WebCore::WorkerRunLoop::Task::create):
1465         (WebCore::WorkerRunLoop::Task::Task):
1466         * workers/WorkerRunLoop.h:
1467
1468 2014-06-18  James Craig  <jcraig@apple.com>
1469
1470         Web Inspector: AXI: expose aria-relevant
1471         https://bugs.webkit.org/show_bug.cgi?id=130913
1472
1473         Reviewed by Joseph Pecoraro.
1474
1475         Expose ARIA live region relevance in Web Inspector.
1476         E.g. "Live: Assertive (Additions, Text)"
1477
1478         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html
1479
1480         * inspector/InspectorDOMAgent.cpp:
1481         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): Support for liveRegionRelevant.
1482         * inspector/protocol/DOM.json: Defined enum values and array passed to client.
1483
1484 2014-06-18  Simon Fraser  <simon.fraser@apple.com>
1485
1486         Add rebeccapurple to CSS named color list
1487         https://bugs.webkit.org/show_bug.cgi?id=133804
1488
1489         Reviewed by Jer Noble.
1490
1491         Add the named color "rebeccapurple" (#639).
1492
1493         * css/SVGCSSValueKeywords.in:
1494         * platform/ColorData.gperf:
1495
1496 2014-06-11  Jeffrey Pfau  <jpfau@apple.com>
1497
1498         Fix flaky beforeload tests
1499         https://bugs.webkit.org/show_bug.cgi?id=133685
1500
1501         Reviewed by David Kilzer.
1502
1503         * loader/FrameLoader.cpp:
1504         (WebCore::FrameLoader::loadURL):
1505
1506 2014-06-18  Anders Carlsson  <andersca@apple.com>
1507
1508         Make FrameLoadType a strongly typed enum
1509         https://bugs.webkit.org/show_bug.cgi?id=134047
1510
1511         Reviewed by Andreas Kling.
1512
1513         * history/BackForwardController.cpp:
1514         (WebCore::BackForwardController::goBackOrForward):
1515         (WebCore::BackForwardController::goBack):
1516         (WebCore::BackForwardController::goForward):
1517         * history/PageCache.cpp:
1518         (WebCore::logCanCachePageDecision):
1519         (WebCore::PageCache::canCache):
1520         * loader/FrameLoader.cpp:
1521         (WebCore::isBackForwardLoadType):
1522         (WebCore::FrameLoader::FrameLoader):
1523         (WebCore::FrameLoader::loadURLIntoChildFrame):
1524         (WebCore::FrameLoader::prepareForLoadStart):
1525         (WebCore::FrameLoader::loadFrameRequest):
1526         (WebCore::FrameLoader::loadURL):
1527         (WebCore::FrameLoader::load):
1528         (WebCore::FrameLoader::reloadWithOverrideEncoding):
1529         (WebCore::FrameLoader::reload):
1530         (WebCore::FrameLoader::commitProvisionalLoad):
1531         (WebCore::FrameLoader::transitionToCommitted):
1532         (WebCore::FrameLoader::isReplacing):
1533         (WebCore::FrameLoader::setReplacing):
1534         (WebCore::FrameLoader::subresourceCachePolicy):
1535         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1536         (WebCore::FrameLoader::addExtraFieldsToRequest):
1537         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1538         (WebCore::FrameLoader::shouldPerformFragmentNavigation):
1539         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1540         (WebCore::FrameLoader::loadDifferentDocumentItem):
1541         * loader/FrameLoaderTypes.h:
1542         * loader/HistoryController.cpp:
1543         (WebCore::HistoryController::restoreDocumentState):
1544         (WebCore::HistoryController::updateForReload):
1545         (WebCore::HistoryController::isReplaceLoadTypeWithProvisionalItem):
1546         (WebCore::HistoryController::isReloadTypeWithProvisionalItem):
1547         * loader/NavigationAction.cpp:
1548         (WebCore::navigationType):
1549         * loader/PolicyChecker.cpp:
1550         (WebCore::PolicyChecker::PolicyChecker):
1551         (WebCore::PolicyChecker::checkNavigationPolicy):
1552         * loader/cache/CachedResourceLoader.cpp:
1553         (WebCore::CachedResourceLoader::cachePolicy):
1554         * loader/icon/IconController.cpp:
1555         (WebCore::IconController::startLoader):
1556
1557 2014-06-18  Alex Christensen  <achristensen@webkit.org>
1558
1559         [curl] Unreviewed speculative build fix after r170021.
1560
1561         * platform/network/curl/CurlCacheEntry.cpp:
1562         (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
1563         (WebCore::CurlCacheEntry::parseResponseHeaders):
1564         * platform/network/curl/CurlDownload.cpp:
1565         (WebCore::CurlDownload::didReceiveHeader):
1566         * platform/network/curl/ResourceHandleManager.cpp:
1567         (WebCore::getProtectionSpace):
1568         (WebCore::headerCallback):
1569         Use HTTPHeaderName constants.
1570
1571 2014-06-18  Simon Fraser  <simon.fraser@apple.com>
1572
1573         Move the removeNode() tree walking from ScrollingStateNote into ScrollingStateTree
1574         https://bugs.webkit.org/show_bug.cgi?id=134043
1575
1576         Reviewed by Beth Dakin.
1577
1578         It's cleaner if ScrollingStateTree does the descendant walk when removing nodes.
1579         We can simply start the "willBeRemoved" walk at the node in question.
1580         
1581         Have willRemoveNode() just remove the node from the m_stateNodeMap directly, rather
1582         than this happening in a separate walk of m_nodesRemovedSinceLastCommit.
1583
1584         * page/scrolling/ScrollingStateNode.cpp:
1585         (WebCore::ScrollingStateNode::removeDescendant): Deleted.
1586         (WebCore::ScrollingStateNode::willBeRemovedFromStateTree): Deleted.
1587         * page/scrolling/ScrollingStateNode.h:
1588         * page/scrolling/ScrollingStateTree.cpp:
1589         (WebCore::ScrollingStateTree::attachNode):
1590         (WebCore::ScrollingStateTree::detachNode):
1591         (WebCore::ScrollingStateTree::clear):
1592         (WebCore::ScrollingStateTree::removeNodeAndAllDescendants):
1593         (WebCore::ScrollingStateTree::recursiveNodeWillBeRemoved):
1594         (WebCore::ScrollingStateTree::willRemoveNode):
1595         (WebCore::ScrollingStateTree::removeNode): Deleted.
1596         * page/scrolling/ScrollingStateTree.h:
1597
1598 2014-06-18  Alex Christensen  <achristensen@webkit.org>
1599
1600         [iOS WebGL] Fixed WEBGL_compressed_texture_pvrtc.
1601         https://bugs.webkit.org/show_bug.cgi?id=133561
1602         
1603         Based on Blink r153971 by bajones@chromium.org.
1604
1605         Reviewed by Dean Jackson.
1606
1607         No new tests, but this should fix webgl-compressed-texture-pvrtc.html.
1608
1609         * html/canvas/WebGLRenderingContext.cpp:
1610         (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
1611         (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
1612         Added checks for pvrtc.
1613
1614 2014-06-18  Anders Carlsson  <andersca@apple.com>
1615
1616         Work around a Windows compiler crash.
1617
1618         * loader/archive/cf/LegacyWebArchive.cpp:
1619         (WebCore::LegacyWebArchive::createFromSelection):
1620
1621 2014-06-18  Benjamin Poulain  <benjamin@webkit.org>
1622
1623         Subtrees with :first-child and :last-child are not invalidated when siblings are added/removed
1624         https://bugs.webkit.org/show_bug.cgi?id=133934
1625
1626         Reviewed by Antti Koivisto.
1627
1628         When adding/removing nodes on an element, we try to invalidate only the elements that are
1629         affected. In the case of :first-child and :last-child, that optimizations is implemented
1630         through two types of flags that are updated during style resolution.
1631
1632         The first flag is childrenAffectedByFirstChildRules (childrenAffectedByLastChildRules),
1633         set on the parent of any element that could be affected by :first-child (:last-child).
1634
1635         The other part of the optimization is marking the style itself with firstChildState (lastChildState)
1636         to further reduce invalidations.
1637
1638         The problem in this case happen with a subtree of element is detached. Since there is no renderer,
1639         the computed style is resolved ad-hoc and stored directly on the element. When the element is moved,
1640         the computed style was never cleared because the invalidation optimizations were not handling
1641         elements without style.
1642
1643         Credit to Yusuke Suzuki for discovering the issue and creating test cases.
1644
1645         Tests: fast/css/getComputedStyle/empty-update-without-renderer.html
1646                fast/css/getComputedStyle/first-child-update-without-renderer.html
1647                fast/css/getComputedStyle/last-child-update-without-renderer.html
1648
1649         * dom/Element.cpp:
1650         (WebCore::checkForEmptyStyleChange):
1651         Clean up: pull the style directly from the function instead of expection the call sites to do that.
1652         Refine the checks to avoid invalidation.
1653
1654         (WebCore::checkForSiblingStyleChanges):
1655         Do not early return if the parent is detached, the children may still need invalidation.
1656
1657         When there is no renderer, assume the worst first-child/last-child and force the invalidation.
1658
1659         (WebCore::Element::childrenChanged):
1660
1661 2014-06-18  Daniel Bates  <dabates@apple.com>
1662
1663         REGRESSION (r167856): Unable to log into HSBC app
1664         https://bugs.webkit.org/show_bug.cgi?id=133991
1665         <rdar://problem/17044839>
1666
1667         Reviewed by David Kilzer.
1668
1669         Following <http://trac.webkit.org/changeset/167856> we disallow "navigation to any URL that is
1670         invalid, except for JavaScript URLs, which need not be valid." A byproduct of this policy
1671         decision is that we no longer notify the WebKit client to about a navigation if the destination
1672         URL is invalid. And some apps, including the HSBC app for iOS, have logic to intercept URLs
1673         as a means to pass data from their WebView-embedded web app to the WebView. We should expose a
1674         setting called allowNavigationToInvalidURL (disabled by default on all ports and conditionally
1675         enabled on iOS) to toggle whether WebCore allows navigation to any URL, even if its invalid,
1676         so as to not break clients that intercept URLs and have custom logic to handle them.
1677
1678         Tests: fast/loader/allow-redirect-to-invalid-url-using-javascript.html
1679                fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html
1680                fast/loader/disallow-redirect-to-invalid-url-using-javascript.html
1681                fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html
1682
1683         * loader/NavigationScheduler.cpp:
1684         (WebCore::NavigationScheduler::shouldScheduleNavigation): Modified to only validate
1685         the URL when the setting allowNavigationToInvalidURL is disabled.
1686         * page/Settings.in: Added setting allowNavigationToInvalidURL (disabled by default).
1687
1688 2014-06-18  Simon Fraser  <simon.fraser@apple.com>
1689
1690         Make ScrollingStateNodes refcounted, and other minor cleanup
1691         https://bugs.webkit.org/show_bug.cgi?id=134040
1692
1693         Reviewed by Beth Dakin.
1694
1695         Prepare for future scrolling frame gyrations by making
1696         ScrollingStateNodes refcounted.
1697         
1698         Rename ScrollingStateNode::removeChild() to removeDescendant()
1699         since that's what it does. Also rename didRemoveNode() to willRemoveNode()
1700         to better match the behavior.
1701         
1702         Use 'auto' in more places.
1703
1704         * page/scrolling/AsyncScrollingCoordinator.cpp:
1705         (WebCore::AsyncScrollingCoordinator::syncChildPositions):
1706         * page/scrolling/ScrollingStateFixedNode.cpp:
1707         (WebCore::ScrollingStateFixedNode::create):
1708         (WebCore::ScrollingStateFixedNode::clone):
1709         * page/scrolling/ScrollingStateFixedNode.h:
1710         * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
1711         (WebCore::ScrollingStateFrameScrollingNode::create):
1712         (WebCore::ScrollingStateFrameScrollingNode::clone):
1713         * page/scrolling/ScrollingStateFrameScrollingNode.h:
1714         * page/scrolling/ScrollingStateNode.cpp:
1715         (WebCore::ScrollingStateNode::cloneAndReset):
1716         (WebCore::ScrollingStateNode::appendChild):
1717         (WebCore::ScrollingStateNode::removeDescendant):
1718         (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
1719         (WebCore::ScrollingStateNode::removeChild): Deleted.
1720         * page/scrolling/ScrollingStateNode.h:
1721         (WebCore::ScrollingStateNode::children):
1722         * page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
1723         (WebCore::ScrollingStateOverflowScrollingNode::create):
1724         (WebCore::ScrollingStateOverflowScrollingNode::clone):
1725         * page/scrolling/ScrollingStateOverflowScrollingNode.h:
1726         * page/scrolling/ScrollingStateStickyNode.cpp:
1727         (WebCore::ScrollingStateStickyNode::create):
1728         (WebCore::ScrollingStateStickyNode::clone):
1729         * page/scrolling/ScrollingStateStickyNode.h:
1730         * page/scrolling/ScrollingStateTree.cpp:
1731         (WebCore::ScrollingStateTree::attachNode):
1732         (WebCore::ScrollingStateTree::removeNode):
1733         (WebCore::ScrollingStateTree::willRemoveNode):
1734         (WebCore::ScrollingStateTree::didRemoveNode): Deleted.
1735         * page/scrolling/ScrollingStateTree.h:
1736         (WebCore::ScrollingStateTree::setRootStateNode):
1737         * page/scrolling/ScrollingTree.cpp:
1738         (WebCore::ScrollingTree::updateTreeFromStateNode):
1739
1740 2014-06-18  Anders Carlsson  <andersca@apple.com>
1741
1742         Adopt modern C++11 loops and fix WebArchive creation functions
1743         https://bugs.webkit.org/show_bug.cgi?id=134032
1744
1745         Reviewed by Andreas Kling.
1746
1747         Use modern loops in a couple of places, fix DocumentLoader::subresources() to return a Vector,
1748         and stop using Vectors of PassRefPtrs.
1749
1750         * WebCore.exp.in:
1751         * dom/Document.cpp:
1752         (WebCore::Document::textInserted):
1753         (WebCore::Document::textRemoved):
1754         (WebCore::Document::textNodesMerged):
1755         * loader/DocumentLoader.cpp:
1756         (WebCore::DocumentLoader::subresources):
1757         (WebCore::DocumentLoader::getSubresources): Deleted.
1758         * loader/DocumentLoader.h:
1759         * loader/appcache/ApplicationCache.cpp:
1760         (WebCore::ApplicationCache::dump):
1761         * loader/appcache/ApplicationCache.h:
1762         (WebCore::ApplicationCache::resources):
1763         (WebCore::ApplicationCache::begin): Deleted.
1764         (WebCore::ApplicationCache::end): Deleted.
1765         * loader/appcache/ApplicationCacheGroup.cpp:
1766         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1767         * loader/appcache/ApplicationCacheHost.cpp:
1768         (WebCore::ApplicationCacheHost::fillResourceList):
1769         * loader/appcache/ApplicationCacheStorage.cpp:
1770         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
1771         (WebCore::ApplicationCacheStorage::store):
1772         (WebCore::ApplicationCacheStorage::empty):
1773         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
1774         * loader/archive/cf/LegacyWebArchive.cpp:
1775         (WebCore::LegacyWebArchive::create):
1776         (WebCore::LegacyWebArchive::createFromSelection):
1777         * loader/archive/cf/LegacyWebArchive.h:
1778         * xml/XMLHttpRequestProgressEventThrottle.cpp:
1779         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
1780
1781 2014-06-18  Alex Christensen  <achristensen@webkit.org>
1782
1783         Remove duplicate code using sdiv.
1784         https://bugs.webkit.org/show_bug.cgi?id=133764
1785
1786         Reviewed by Daniel Bates.
1787
1788         * cssjit/SelectorCompiler.cpp:
1789         (WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
1790         Use template sdiv for apple armv7s and arm64.
1791
1792 2014-06-18  Zan Dobersek  <zdobersek@igalia.com>
1793
1794         ScriptExecutionContext::Task parameters should always be rvalue references
1795         https://bugs.webkit.org/show_bug.cgi?id=133615
1796
1797         Reviewed by Darin Adler.
1798
1799         ScriptExecutionContext::Task parameters should be rvalue references as the
1800         passed-in objects are always ScriptExecutionContext::Task rvalues that were
1801         implicitly constructed from a lambda function or rvalues of objects that
1802         derive from ScriptExecutionContext::Task.
1803
1804         This isn't really necessary since ScriptExecutionContext::Task is non-copyable
1805         and we have to use move semantics anyway, but it makes it clear that these
1806         objects are expiring rvalues that must be properly dealt with.
1807
1808         * dom/Document.cpp:
1809         (WebCore::Document::postTask):
1810         * dom/Document.h:
1811         * dom/ScriptExecutionContext.h:
1812         * workers/DefaultSharedWorkerRepository.cpp:
1813         (WebCore::SharedWorkerProxy::postTaskToLoader):
1814         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
1815         * workers/WorkerGlobalScope.cpp:
1816         (WebCore::WorkerGlobalScope::postTask):
1817         * workers/WorkerGlobalScope.h:
1818         * workers/WorkerLoaderProxy.h:
1819         * workers/WorkerMessagingProxy.cpp:
1820         (WebCore::WorkerMessagingProxy::postTaskToLoader):
1821         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
1822         * workers/WorkerMessagingProxy.h:
1823         * workers/WorkerRunLoop.cpp:
1824         (WebCore::WorkerRunLoop::postTask):
1825         (WebCore::WorkerRunLoop::postTaskAndTerminate):
1826         (WebCore::WorkerRunLoop::postTaskForMode):
1827         (WebCore::WorkerRunLoop::Task::create):
1828         (WebCore::WorkerRunLoop::Task::Task):
1829         * workers/WorkerRunLoop.h:
1830
1831 2014-06-18  peavo@outlook.com  <peavo@outlook.com>
1832
1833         [WinCairo] Compile errors when trying to compile CA code.
1834         https://bugs.webkit.org/show_bug.cgi?id=134030
1835
1836         Reviewed by Simon Fraser.
1837
1838         WinCairo does not USE(CA).
1839
1840         * WebCore.vcxproj/WebCore.vcxproj:
1841         * platform/graphics/ca/TileController.h:
1842
1843 2014-06-17  Tim Horton  <timothy_horton@apple.com>
1844
1845         [iOS][wk2] Use ImageDocument to display subframe PDFs
1846         https://bugs.webkit.org/show_bug.cgi?id=133944
1847         <rdar://problem/17205983>
1848
1849         Reviewed by Dan Bates.
1850
1851         * dom/DOMImplementation.cpp:
1852         (WebCore::DOMImplementation::createDocument):
1853         Make a ImageDocument to show our subframe PDF, if the setting is enabled.
1854
1855         * html/ImageDocument.cpp:
1856         (WebCore::ImageDocument::finishedParsing):
1857         (WebCore::ImageDocument::createDocumentStructure):
1858         Set the ResourceResponse on the ImageElement upon creation, instead of
1859         when the load finishes. This way, when the internal CachedImage creates
1860         its Image, it can have the correct MIME type for the response, and can
1861         make a PDFDocumentImage if necessary.
1862
1863         We never noticed this before because CachedImage falls back to making a
1864         BitmapImage, and that was the only case that was normally used.
1865
1866         Throw an explicit white background behind PDF ImageDocuments; PDFDocumentImage
1867         paints with a transparent background, but when used as an ImageDocument
1868         it seems reasonable to assume that there should be a white page background
1869         (similar to what PDFPlugin and friends do).
1870
1871         * loader/DocumentWriter.cpp:
1872         (WebCore::DocumentWriter::createDocument):
1873         Don't make a PDFDocument if we want to use an ImageDocument for this subframe PDF.
1874
1875         * page/Settings.in:
1876
1877         * platform/MIMETypeRegistry.cpp:
1878         (WebCore::MIMETypeRegistry::isPDFMIMEType):
1879         * platform/MIMETypeRegistry.h:
1880         Expose the already implemented pdfMIMETypes table just like all the rest.
1881
1882 2014-06-17  Ryuan Choi  <ryuan.choi@samsung.com>
1883
1884         Unreviewed build fix with ENABLE_NOSNIFF after r170021
1885
1886         * loader/cache/CachedScript.cpp:
1887         (WebCore::CachedScript::mimeTypeAllowedByNosniff):
1888
1889 2014-06-17  Jeremy Jones  <jeremyj@apple.com>
1890
1891         Improve enter and exit fullscreen transition by using two step transition.
1892         https://bugs.webkit.org/show_bug.cgi?id=133706
1893
1894         Reviewed by Simon Fraser.
1895
1896         setupFullscreen, creates the fullscreen views ready to receive the video layer.
1897         Once they are in place, didSetupFullscreen will move the video layer into the 
1898         new view hierarchy and initiate enterFullscreen to animate.
1899
1900         Reverse process for exit fullscreen.
1901
1902         * WebCore.exp.in: Add exports.
1903         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1904         (-[WebVideoFullscreenController enterFullscreen:]):
1905         Refactor into didSetupFullscreen.
1906         (-[WebVideoFullscreenController didSetupFullscreen]):
1907         Move the video layer once fullscreen is ready to receive it.
1908         (-[WebVideoFullscreenController didExitFullscreen]):
1909         Move the video layer back into we the web page, and initiate cleanup.
1910         (-[WebVideoFullscreenController didCleanupFullscreen]):
1911         Refactord cleanup from didExitFullscreen.
1912         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add delcarations.
1913         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1914         (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
1915         Refactored from enterFullscreen. Builds views ready to receive video layer.
1916         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
1917         Animates into fullscreen.
1918         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
1919         Animates from fullscreen. Cleanup is refactored into cleanupFullscreen()
1920         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen):
1921         Refactored from exitFullscreen(), removes views.
1922
1923 2014-06-17  Sam Weinig  <sam@webkit.org>
1924
1925         Remove unnecessary Structure flags from generated bindings
1926         https://bugs.webkit.org/show_bug.cgi?id=133992
1927
1928         Reviewed by Daniel Bates.
1929
1930         - Remove OverridesVisitChildren flag from DOM prototype objects. They never
1931           implement visitChildren.
1932         - Remove OverridesGetOwnPropertySlot and ImplementsHasInstance from DOM constructor
1933           objects. getOwnPropertySlot is never implemented and ImplementsHasInstance is inherited
1934           automatically from DOMConstructorObject.
1935         - If we are not changing any flags, we now don't emit StructureFlags at all for the class.
1936
1937         * bindings/scripts/CodeGeneratorJS.pm:
1938         (GenerateHeader):
1939         (GeneratePrototypeDeclaration):
1940         (GenerateConstructorDeclaration):
1941         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1942         (WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
1943         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
1944         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
1945         (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
1946         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
1947         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1948         (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
1949         * bindings/scripts/test/JS/JSTestEventTarget.h:
1950         (WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
1951         (WebCore::JSTestEventTargetConstructor::createStructure):
1952         * bindings/scripts/test/JS/JSTestException.h:
1953         (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
1954         (WebCore::JSTestExceptionConstructor::createStructure):
1955         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
1956         (WebCore::JSTestGenerateIsReachablePrototype::JSTestGenerateIsReachablePrototype):
1957         (WebCore::JSTestGenerateIsReachableConstructor::createStructure):
1958         * bindings/scripts/test/JS/JSTestInterface.h:
1959         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
1960         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1961         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
1962         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
1963         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1964         (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
1965         (WebCore::JSTestNamedConstructorConstructor::createStructure):
1966         * bindings/scripts/test/JS/JSTestNode.h:
1967         (WebCore::JSTestNodePrototype::JSTestNodePrototype):
1968         * bindings/scripts/test/JS/JSTestNondeterministic.h:
1969         (WebCore::JSTestNondeterministicPrototype::JSTestNondeterministicPrototype):
1970         (WebCore::JSTestNondeterministicConstructor::createStructure):
1971         * bindings/scripts/test/JS/JSTestObj.h:
1972         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
1973         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
1974         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
1975         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1976         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
1977         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
1978         * bindings/scripts/test/JS/JSTestTypedefs.h:
1979         (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
1980         * bindings/scripts/test/JS/JSattribute.h:
1981         (WebCore::JSattributePrototype::JSattributePrototype):
1982         (WebCore::JSattributeConstructor::createStructure):
1983         * bindings/scripts/test/JS/JSreadonly.h:
1984         (WebCore::JSreadonlyPrototype::JSreadonlyPrototype):
1985         (WebCore::JSreadonlyConstructor::createStructure):
1986
1987 2014-06-17  Myles C. Maxfield  <mmaxfield@apple.com>
1988
1989         [iOS] Input type=time elements styled with SVG fonts have 0 width
1990         https://bugs.webkit.org/show_bug.cgi?id=133524
1991
1992         Reviewed by Simon Fraser.
1993
1994         Refactor how the LocalizedDateCache returns maximum widths for input elements. Currently,
1995         measuring the width of an SVG font requires a RenderObject for context, which the
1996         LocalizedDateCache can't know about (it would be a platform violation). Instead, the
1997         LocalizedDateCache can return the strings that it would use to measure the width, and the
1998         caller can actually run the width computation.
1999
2000         Test: fast/forms/time-input-svg-font.html
2001
2002         * platform/text/PlatformLocale.h:
2003         * platform/text/ios/LocalizedDateCache.h:
2004         * platform/text/ios/LocalizedDateCache.mm:
2005         (WebCore::LocalizedDateCache::maximumWidthForDateType): Take a delegate which can
2006         measure text
2007         (WebCore::LocalizedDateCache::calculateMaximumWidth): Perform maximum width
2008         computation using delegate.
2009         * platform/text/mac/LocaleMac.h:
2010         * platform/text/mac/LocaleMac.mm:
2011         (WebCore::LocaleMac::formatDateTime):
2012         (WebCore::LocaleMac::maximumWidthForDateType): Deleted. Short-circuit this and go
2013         directly to the LocalizedDateCache. This makes sense because we have to explicitly
2014         insert computed values back into the cache in this new model.
2015         * rendering/RenderThemeIOS.mm:
2016         (WebCore::adjustInputElementButtonStyle): Create a delegate and pass it to the
2017         LocalizedDateCache
2018
2019 2014-06-17  Simon Fraser  <simon.fraser@apple.com>
2020
2021         [UI-side compositing] fix reflections on composited layers
2022         https://bugs.webkit.org/show_bug.cgi?id=133942
2023
2024         Reviewed by Tim Horton.
2025
2026         Fix reflections on composited layers. There are two main set of changes.
2027         
2028         First, a PlatformCALayerRemote which is a clone has to track the layer
2029         it is a clone of, so it knows where to grab the contents from in the UI process.
2030         This layer may be told that its contents need updating out of order during
2031         recursiveBuildTransaction(), so we need some small changes in RemoteLayerTreeContext
2032         to allow a layer to add itself to the set of layers requiring commit.
2033         
2034         In the UI process, a new step is added to RemoteLayerTreeHost::updateLayerTree()
2035         to go through clones, and copy their contents from the origin layer.
2036         
2037         The second set of changes makes platformCALayerLayerDidDisplay() work for
2038         UI-side compositing by not taking a PlatformLayer*, but instead a PlatformCALayer*.
2039         PlatformCALayer::setContentsChanged() changed to copyContentsFromLayer() so we know
2040         what the origin layer is.
2041
2042         Test: compositing/reflections/repaint-with-reflection.html
2043
2044         * WebCore.exp.in:
2045         * platform/graphics/GraphicsLayer.h:
2046         (WebCore::GraphicsLayer::layerDidDisplay): Deleted.
2047         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2048         (WebCore::LayerClient::platformCALayerLayerDidDisplay): Deleted.
2049         * platform/graphics/ca/GraphicsLayerCA.cpp:
2050         (WebCore::GraphicsLayerCA::layerDidDisplay):
2051         (WebCore::GraphicsLayerCA::findOrMakeClone):
2052         * platform/graphics/ca/GraphicsLayerCA.h:
2053         * platform/graphics/ca/PlatformCALayer.h:
2054         * platform/graphics/ca/PlatformCALayerClient.h:
2055         (WebCore::PlatformCALayerClient::platformCALayerLayerDidDisplay):
2056         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2057         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2058         (PlatformCALayerMac::copyContentsFromLayer):
2059         (PlatformCALayerMac::superlayer):
2060         (PlatformCALayerMac::setContentsChanged): Deleted.
2061         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
2062         (PlatformCALayerWinInternal::displayCallback):
2063         * platform/graphics/mac/WebLayer.mm:
2064         (-[WebSimpleLayer display]):
2065
2066 2014-06-17  Anders Carlsson  <andersca@apple.com>
2067
2068         Use strongly typed enums for AnimationState and AnimationInputState
2069         https://bugs.webkit.org/show_bug.cgi?id=133988
2070
2071         Reviewed by Tim Horton.
2072
2073         * page/animation/AnimationBase.cpp:
2074         (WebCore::AnimationBase::AnimationBase):
2075         (WebCore::nameForState):
2076         (WebCore::AnimationBase::updateStateMachine):
2077         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
2078         (WebCore::AnimationBase::updatePlayState):
2079         (WebCore::AnimationBase::timeToNextService):
2080         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
2081         (WebCore::AnimationBase::freezeAtTime):
2082         (WebCore::AnimationBase::beginAnimationUpdateTime):
2083         * page/animation/AnimationBase.h:
2084         (WebCore::AnimationBase::clear):
2085         (WebCore::AnimationBase::onAnimationStartResponse):
2086         (WebCore::AnimationBase::waitingToStart):
2087         (WebCore::AnimationBase::preActive):
2088         (WebCore::AnimationBase::postActive):
2089         (WebCore::AnimationBase::fillingForwards):
2090         (WebCore::AnimationBase::paused):
2091         (WebCore::AnimationBase::inPausedState):
2092         (WebCore::AnimationBase::isNew):
2093         (WebCore::AnimationBase::waitingForStartTime):
2094         (WebCore::AnimationBase::waitingForStyleAvailable):
2095         (WebCore::AnimationBase::isAnimatingProperty):
2096         (WebCore::AnimationBase::styleAvailable):
2097         (WebCore::AnimationBase::compositeAnimation):
2098         * page/animation/ImplicitAnimation.cpp:
2099         (WebCore::ImplicitAnimation::onAnimationEnd):
2100         (WebCore::ImplicitAnimation::sendTransitionEvent):
2101         (WebCore::ImplicitAnimation::reset):
2102         (WebCore::ImplicitAnimation::setOverridden):
2103         * page/animation/KeyframeAnimation.cpp:
2104         (WebCore::KeyframeAnimation::KeyframeAnimation):
2105         (WebCore::KeyframeAnimation::animate):
2106         (WebCore::KeyframeAnimation::sendAnimationEvent):
2107
2108 2014-06-17  Andreas Kling  <akling@apple.com>
2109
2110         Avoid synchronous layout in window.scrollTo(0,0) when already at (0,0)
2111         <https://webkit.org/b/133893>
2112
2113         Going from 0,0 to 0,0 is a no-op since there is no way a layout will
2114         affect the current scroll position.
2115
2116         We don't send scroll events when moving to the previous position,
2117         so this change is not observable.
2118
2119         Reviewed by Anders Carlsson.
2120
2121         * page/DOMWindow.cpp:
2122         (WebCore::DOMWindow::scrollTo):
2123
2124 2014-06-17  Alex Christensen  <achristensen@webkit.org>
2125
2126         Fix css jit register usage on armv7.
2127         https://bugs.webkit.org/show_bug.cgi?id=133952
2128
2129         Reviewed by Benjamin Poulain.
2130
2131         * cssjit/RegisterAllocator.h:
2132         List r7 as a callee saved register, which it is.
2133         * cssjit/SelectorCompiler.cpp:
2134         (WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
2135         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateEpilogue):
2136         Save r6, which is used as a temporary register and must be preserved.
2137
2138 2014-06-17  Miyoung Shin  <myid.shin@samsung.com>
2139
2140         Use references instead of pointers to RenderBlock in enclosingBoxModelObject()
2141         https://bugs.webkit.org/show_bug.cgi?id=133978
2142
2143         Reviewed by Andreas Kling.
2144
2145         Just a straightforward conversion from pointers to references.
2146
2147         No new tests, no behavior change.
2148
2149         * rendering/InlineFlowBox.cpp:
2150         (WebCore::InlineFlowBox::paint):
2151         * rendering/RenderBlock.cpp:
2152         (WebCore::RenderBlock::paintObject):
2153         * rendering/RenderObject.cpp:
2154         (WebCore::RenderObject::enclosingBoxModelObject):
2155         * rendering/RenderObject.h:
2156
2157 2014-06-17  Zan Dobersek  <zdobersek@igalia.com>
2158
2159         Cache the gst_query_get_n_buffering_ranges() return value for the for-loop conditional
2160         https://bugs.webkit.org/show_bug.cgi?id=133953
2161
2162         Reviewed by Philippe Normand.
2163
2164         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2165         (WebCore::MediaPlayerPrivateGStreamer::buffered): Avoid the extra call in the for-loop
2166         conditional expression by caching the return value of gst_query_get_n_buffering_ranges().
2167
2168 2014-06-17  Zan Dobersek  <zdobersek@igalia.com>
2169
2170         Avoid Vector<char> copies in the OffsetBuffer constructor
2171         https://bugs.webkit.org/show_bug.cgi?id=133956
2172
2173         Reviewed by Andreas Kling.
2174
2175         * xml/parser/XMLDocumentParserLibxml2.cpp:
2176         (WebCore::OffsetBuffer::OffsetBuffer): Take the Vector parameter by value and
2177         move it into the member variable.
2178         (WebCore::openFunc): Move the Vector object into the OffsetBuffer constructor.
2179
2180 2014-06-17  Jer Noble  <jer.noble@apple.com>
2181
2182         [MSE] Overwritten samples are removed from buffered ranges using decode times; added samples using presentation times
2183         https://bugs.webkit.org/show_bug.cgi?id=133959
2184
2185         Reviewed by Eric Carlson.
2186
2187         Test: media/media-source/media-source-overlapping-append-buffered.html
2188
2189         Explicitly call presentationTime() on removed samples, rather than implicitly asking for the iterator's "first"
2190         member. When iterating over samples, "first" can either be presentation time, or decode time, depending on which
2191         iteration method is called. In the case of removing samples, this was using the decode time incorrectly.
2192
2193         * Modules/mediasource/SourceBuffer.cpp:
2194         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
2195
2196 2014-06-16  Mihnea Ovidenie  <mihnea@adobe.com>
2197
2198         [CSSRegions] Region with border radius and overflow:hidden does not clip content
2199         https://bugs.webkit.org/show_bug.cgi?id=133476
2200
2201         Reviewed by Andrei Bucur.
2202
2203         When setting the clip before painting the named flow content,
2204         use the region's foreground rect to take the region's border radius
2205         into account if needed.
2206
2207         Test: fast/regions/region-border-radius-overflow-clip.html
2208
2209         * rendering/RenderLayer.cpp:
2210         (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
2211
2212 2014-06-16  Sam Weinig  <sam@webkit.org>
2213
2214         Extract prototype declaration generation into a helper function
2215         https://bugs.webkit.org/show_bug.cgi?id=133969
2216
2217         Reviewed by Dan Bernstein.
2218
2219         * bindings/scripts/CodeGeneratorJS.pm:
2220         (GenerateHeader):
2221         (GeneratePrototypeDeclaration):
2222
2223 2014-06-16  Sam Weinig  <sam@webkit.org>
2224
2225         Move forward declaration of bindings static functions into their implementation files
2226         https://bugs.webkit.org/show_bug.cgi?id=133943
2227
2228         Reviewed by Geoffrey Garen.
2229
2230         - Moves the forward declaration of static functions for generated files to the implementation.
2231         - Adds a new extended attribute, ForwardDeclareInHeader, for functions that still need a 
2232           forward declaration in the header.
2233
2234         * bindings/js/JSDOMBinding.h:
2235         (WebCore::nonCachingStaticFunctionGetter):
2236         Move this helper here from JSDOMWindowCustom.cpp.
2237
2238         * bindings/js/JSDOMWindowCustom.cpp:
2239         (WebCore::JSDOMWindow::getOwnPropertySlot):
2240         Switch to comparing the property name directly rather than looking up in the static table and
2241         comparing function pointers.
2242
2243         * bindings/js/JSHistoryCustom.cpp:
2244         (WebCore::JSHistory::getOwnPropertySlotDelegate):
2245         Switch to comparing the property name directly rather than looking up in the static table and
2246         comparing function pointers and start using the nonCachingStaticFunctionGetter<> helper.
2247
2248         * bindings/js/JSLocationCustom.cpp:
2249         (WebCore::JSLocation::getOwnPropertySlotDelegate):
2250         (WebCore::JSLocation::putDelegate):
2251         Switch to comparing the property name directly rather than looking up in the static table and
2252         comparing function pointers and start using the nonCachingStaticFunctionGetter<> helper.
2253
2254         * bindings/scripts/CodeGeneratorJS.pm:
2255         (GenerateHeader):
2256         (GenerateImplementation):
2257         Move forward declaration creation to the implementation file where possible.
2258
2259         * bindings/scripts/IDLAttributes.txt:
2260         Add ForwardDeclareInHeader.
2261
2262         * page/DOMWindow.idl:
2263         * page/History.idl:
2264         * page/Location.idl:
2265         Add ForwardDeclareInHeader where necessary.
2266
2267 2014-06-16  Jaehun Lim  <ljaehun.lim@samsung.com>
2268
2269         Unreviewed build fix after r170029
2270
2271         Use String() instead of AtomicString().
2272
2273         * platform/network/HTTPParsers.cpp:
2274         (WebCore::parseHTTPHeader):
2275         * platform/network/soup/ResourceRequestSoup.cpp:
2276         (WebCore::ResourceRequest::updateSoupMessageHeaders):
2277         * platform/network/soup/ResourceResponseSoup.cpp:
2278         (WebCore::ResourceResponse::toSoupMessage):
2279
2280 2014-06-16  Brent Fulgham  <bfulgham@apple.com>
2281
2282         [Win] Use TileController on Windows
2283         https://bugs.webkit.org/show_bug.cgi?id=133895
2284
2285         Reviewed by Tim Horton.
2286
2287         * WebCore.vcxproj/WebCore.vcxproj: Add Tiled Drawing files.
2288         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2289         * platform/graphics/TiledBacking.h: No longer Cocoa-only.
2290         * platform/graphics/ca/GraphicsLayerCA.cpp:
2291         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Windows
2292         now uses the same layer type as Mac.
2293         * platform/graphics/ca/LayerPool.cpp:
2294         (WebCore::LayerPool::takeLayerWithSize): Use nullptr
2295         rather than nil for C++ code.
2296         * platform/graphics/ca/PlatformCALayer.cpp:
2297         * platform/graphics/ca/PlatformCALayer.h: Expose necessary
2298         drawing functions for Windows port.
2299         * platform/graphics/ca/TileController.cpp: Remove unneeded
2300         header include for WebLayer.
2301         * platform/graphics/ca/TileCoverageMap.cpp: Correct #includes.
2302         * platform/graphics/ca/TileGrid.h: Not just for Cococa.
2303         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Remove
2304         extra whitespace.
2305         * platform/graphics/ca/mac/PlatformCALayerMac.h: Remove
2306         unneeded overload.
2307         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2308         (PlatformCALayer::collectRectsToPaint): Added stub.
2309         (PlatformCALayer::drawLayerContents): Added.
2310         (PlatformCALayer::frameForLayer): Added.
2311         (PlatformCALayerWin::PlatformCALayerWin): Remove unneeded
2312         assert now that we support these types. Add TileController
2313         support.
2314         (PlatformCALayerWin::setEdgeAntialiasingMask): Added.
2315         (printLayer): Add newly-supported tile types.
2316         (PlatformCALayerWin::tiledBacking): Added.
2317         * platform/graphics/ca/win/PlatformCALayerWin.h: Update to
2318         support Tiled Drawing.
2319         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
2320         (PlatformCALayerWinInternal::PlatformCALayerWinInternal): Update to
2321         recognize newly-supported layer types.
2322         (PlatformCALayerWinInternal::setNeedsDisplay): Ditto.
2323         (PlatformCALayerWinInternal::setSublayers): Ditto.
2324         (PlatformCALayerWinInternal::getSublayers): Ditto.
2325         (PlatformCALayerWinInternal::removeAllSublayers): Ditto.
2326         (PlatformCALayerWinInternal::insertSublayer): Ditto.
2327         (PlatformCALayerWinInternal::sublayerCount): Ditto.
2328         (PlatformCALayerWinInternal::indexOfSublayer): Ditto.
2329         (PlatformCALayerWinInternal::sublayerAtIndex): Ditto.
2330         (PlatformCALayerWinInternal::setBounds): Ditto.
2331         (PlatformCALayerWinInternal::setFrame): Ditto.
2332         (PlatformCALayerWinInternal::drawTile): Ditto.
2333         (PlatformCALayerWinInternal::createTileController): Ditto.
2334         (PlatformCALayerWinInternal::tiledBacking): Ditto.
2335         * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Update to use
2336         TileController.
2337
2338 2014-06-16  Andreas Kling  <akling@apple.com>
2339
2340         Remove unnecessary style invalidation in RenderTextControl::styleDidChange().
2341         <https://webkit.org/b/133949>
2342
2343         This explicit invalidation of the text control's inner text element
2344         was hacked in to fix an editing test back in 2011, long before lazy
2345         render tree construction.
2346
2347         It should be safe to remove, since doing so doesn't affect any tests.
2348
2349         Reviewed by Antti Koivisto.
2350
2351         * rendering/RenderTextControl.cpp:
2352         (WebCore::RenderTextControl::styleDidChange):
2353
2354 2014-06-16  Anders Carlsson  <andersca@apple.com>
2355
2356         Fix iOS build.
2357
2358         * platform/network/cf/ResourceRequestCFNet.cpp:
2359         (WebCore::setHeaderFields):
2360
2361 2014-06-16  Anders Carlsson  <andersca@apple.com>
2362
2363         Accept-Ranges is not specific to GStreamer.
2364
2365         * platform/network/HTTPHeaderNames.in:
2366
2367 2014-06-16  Anders Carlsson  <andersca@apple.com>
2368
2369         Don't use AtomicString in HTTPHeaderMap
2370         https://bugs.webkit.org/show_bug.cgi?id=133957
2371         <rdar://problem/15256572>
2372
2373         Reviewed by Andreas Kling.
2374
2375         Use the string data that comes from the generated HTTPHeaderNames.cpp file
2376         for sharing header name data instead. In the future we can do something more fancy where
2377         we'll hash the HTTPHeaderName enum directly, but this is good enough for now.
2378
2379         * Modules/websockets/WebSocketHandshake.cpp:
2380         (WebCore::WebSocketHandshake::readHTTPHeaders):
2381         * WebCore.exp.in:
2382         * inspector/InspectorResourceAgent.cpp:
2383         (WebCore::buildObjectForHeaders):
2384         * loader/CrossOriginPreflightResultCache.cpp:
2385         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2386         * loader/appcache/ApplicationCacheStorage.cpp:
2387         (WebCore::parseHeader):
2388         * loader/cache/CachedResource.cpp:
2389         (WebCore::shouldUpdateHeaderAfterRevalidation):
2390         * platform/network/HTTPHeaderMap.cpp:
2391         (WebCore::HTTPHeaderMap::copyData):
2392         (WebCore::internHTTPHeaderNameString):
2393         (WebCore::HTTPHeaderMap::get):
2394         (WebCore::HTTPHeaderMap::set):
2395         (WebCore::HTTPHeaderMap::add):
2396         (WebCore::CaseFoldingCStringTranslator::hash): Deleted.
2397         (WebCore::CaseFoldingCStringTranslator::equal): Deleted.
2398         (WebCore::CaseFoldingCStringTranslator::translate): Deleted.
2399         * platform/network/HTTPHeaderMap.h:
2400         * platform/network/HTTPHeaderNames.in:
2401         * platform/network/HTTPParsers.cpp:
2402         (WebCore::parseHTTPHeader):
2403         * platform/network/HTTPParsers.h:
2404         * platform/network/ResourceRequestBase.cpp:
2405         (WebCore::ResourceRequestBase::httpHeaderField):
2406         (WebCore::ResourceRequestBase::setHTTPHeaderField):
2407         (WebCore::ResourceRequestBase::addHTTPHeaderField):
2408         * platform/network/ResourceRequestBase.h:
2409         * platform/network/ResourceResponseBase.cpp:
2410         (WebCore::ResourceResponseBase::httpHeaderField):
2411         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2412         (WebCore::ResourceResponseBase::addHTTPHeaderField):
2413         * platform/network/ResourceResponseBase.h:
2414         * platform/network/mac/ResourceRequestMac.mm:
2415         (WebCore::ResourceRequest::doUpdateResourceRequest):
2416         * platform/network/mac/ResourceResponseMac.mm:
2417         (WebCore::ResourceResponse::platformLazyInit):
2418         * xml/XMLHttpRequest.cpp:
2419         (WebCore::XMLHttpRequest::setRequestHeader):
2420         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
2421         (WebCore::XMLHttpRequest::getRequestHeader):
2422         (WebCore::XMLHttpRequest::getResponseHeader):
2423         * xml/XMLHttpRequest.h:
2424
2425 2014-06-16  Chris Fleizach  <cfleizach@apple.com>
2426
2427         AX: Safari crashed once in WebCore::AccessibilityObject::ariaIsHidden
2428         https://bugs.webkit.org/show_bug.cgi?id=133825
2429
2430         Reviewed by Enrica Casucci.
2431
2432         Sometimes asking accessibilityIsIgnored() will cause a newObject to be detached immediately after its created. 
2433         The creation function holds a reference with RefPtr as long as it lives, but when that method returns, the object goes away.
2434
2435         With that out of the way, I saw the same backtrace lead to updateLayoutIgnorePendingStylesheets being called while still inLayout.
2436
2437         I tried my best but could not create a reproducible layout test.
2438
2439         * accessibility/AXObjectCache.cpp:
2440         (WebCore::AXObjectCache::getOrCreate):
2441         * accessibility/AccessibilityObject.cpp:
2442         (WebCore::AccessibilityObject::updateBackingStore):
2443
2444 2014-06-16  Zan Dobersek  <zdobersek@igalia.com>
2445
2446         Unreviewed. Add more GStreamer-specific header names that are required
2447         after changes in r170021, fixing the build for ports using GStreamer.
2448
2449         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2450         (StreamingClient::handleResponseReceived):
2451         * platform/network/HTTPHeaderNames.in:
2452
2453 2014-06-16  Chris Fleizach  <cfleizach@apple.com>
2454
2455         AX: Crash at WebCore::AXObjectCache::textChanged
2456         https://bugs.webkit.org/show_bug.cgi?id=133873
2457
2458         Reviewed by Enrica Casucci.
2459
2460         This looks like a very similar problem to 
2461         https://bugs.webkit.org/show_bug.cgi?id=133825
2462
2463         The object is being created and deallocated almost right away because calling accessibilityIsIgnored triggers
2464         a deferred layout that invalidates the associated render element.
2465
2466         Despite my best efforts, I could not come up with a way to reproduce this in a layout test.
2467
2468         * accessibility/AXObjectCache.cpp:
2469         (WebCore::AXObjectCache::getOrCreate):
2470
2471 2014-06-15  Anders Carlsson  <andersca@apple.com>
2472
2473         Change ResourceRequestBase::addHTTPHeaderFields to setHTTPHeaderFields instead
2474         https://bugs.webkit.org/show_bug.cgi?id=133925
2475
2476         Reviewed by Sam Weinig.
2477
2478         * WebCore.exp.in:
2479         * platform/network/ResourceRequestBase.cpp:
2480         (WebCore::ResourceRequestBase::setHTTPHeaderFields):
2481         (WebCore::ResourceRequestBase::addHTTPHeaderFields): Deleted.
2482         * platform/network/ResourceRequestBase.h:
2483         * plugins/PluginView.cpp:
2484         (WebCore::PluginView::handlePost):
2485         * xml/XMLHttpRequest.cpp:
2486         (WebCore::XMLHttpRequest::createRequest):
2487
2488 2014-06-16  Jeongeun Kim  <je_julie.kim@samsung.com>
2489
2490         Use references instead of pointers to RenderBlock in RenderObject::enclosingBox().
2491         https://bugs.webkit.org/show_bug.cgi?id=133902
2492
2493         Reviewed by Andreas Kling.
2494
2495         Just a straightforward conversion from pointers to references.
2496
2497         No new tests, no behavior change.
2498
2499         * bindings/objc/DOMUIKitExtensions.mm:
2500         (-[DOMHTMLElement structuralComplexityContribution]):
2501         * html/HTMLMediaElement.cpp:
2502         (WebCore::HTMLMediaElement::parseAttribute):
2503         * inspector/InspectorOverlay.cpp:
2504         (WebCore::buildObjectForRendererFragments):
2505         * page/EventHandler.cpp:
2506         (WebCore::scrollNode):
2507         (WebCore::EventHandler::scrollOverflow):
2508         (WebCore::EventHandler::logicalScrollOverflow):
2509         * page/FrameView.cpp:
2510         (WebCore::FrameView::layout):
2511         * rendering/RenderBox.cpp:
2512         (WebCore::computeInlineStaticDistance):
2513         * rendering/RenderFlowThread.cpp:
2514         (WebCore::RenderFlowThread::computedRegionRangeForBox):
2515         (WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion):
2516         (WebCore::RenderFlowThread::objectInFlowRegion):
2517         * rendering/RenderLayer.cpp:
2518         (WebCore::RenderLayer::calculateClipRects):
2519         * rendering/RenderObject.cpp:
2520         (WebCore::RenderObject::enclosingBox): Removed FIXME comment
2521         * rendering/RenderObject.h:
2522         * rendering/RenderScrollbar.cpp:
2523         (WebCore::RenderScrollbar::owningRenderer):
2524
2525 2014-06-16  Anders Carlsson  <andersca@apple.com>
2526
2527         Use HTTPHeaderName in more places
2528         https://bugs.webkit.org/show_bug.cgi?id=133948
2529
2530         Reviewed by Andreas Kling.
2531
2532         * loader/cache/CachedRawResource.cpp:
2533         (WebCore::shouldIgnoreHeaderForCacheReuse):
2534         * platform/network/HTTPHeaderNames.in:
2535         * xml/XMLHttpRequest.cpp:
2536         (WebCore::isSetCookieHeader):
2537         (WebCore::isForbiddenRequestHeader):
2538         (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
2539         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Deleted.
2540         (WebCore::staticData): Deleted.
2541
2542 2014-06-16  Anders Carlsson  <andersca@apple.com>
2543
2544         Add HTTPHeaderName overloads on ResourceResponseBase
2545         https://bugs.webkit.org/show_bug.cgi?id=133946
2546
2547         Reviewed by Andreas Kling.
2548
2549         * WebCore.exp.in:
2550         * dom/Document.cpp:
2551         (WebCore::Document::lastModified):
2552         * loader/CrossOriginAccessControl.cpp:
2553         (WebCore::passesAccessControlCheck):
2554         * loader/CrossOriginPreflightResultCache.cpp:
2555         (WebCore::CrossOriginPreflightResultCacheItem::parse):
2556         * loader/FrameLoader.cpp:
2557         (WebCore::FrameLoader::receivedFirstData):
2558         (WebCore::FrameLoader::didBeginDocument):
2559         * loader/appcache/ApplicationCacheGroup.cpp:
2560         (WebCore::ApplicationCacheGroup::createResourceHandle):
2561         * loader/cache/CachedCSSStyleSheet.cpp:
2562         (WebCore::CachedCSSStyleSheet::canUseSheet):
2563         * loader/cache/CachedResource.cpp:
2564         (WebCore::CachedResource::load):
2565         * loader/cache/CachedScript.cpp:
2566         (WebCore::CachedScript::mimeType):
2567         * platform/network/HTTPHeaderNames.in:
2568         * platform/network/ResourceResponseBase.cpp:
2569         (WebCore::ResourceResponseBase::httpHeaderField):
2570         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2571         * platform/network/ResourceResponseBase.h:
2572         * xml/XMLHttpRequest.cpp:
2573         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2574         (WebCore::XMLHttpRequest::getResponseHeader):
2575         (WebCore::XMLHttpRequest::responseMIMEType):
2576         (WebCore::XMLHttpRequest::didReceiveResponse):
2577
2578 2014-04-05  Antonio Gomes  <a1.gomes@sisa.samsung.com>
2579
2580         [Bindings] "nullable" sequence support is incomplete (i.e. sequence<NativeType>?)
2581         https://bugs.webkit.org/show_bug.cgi?id=131240
2582
2583         Reviewed by Darin Adler.
2584
2585         Nullable sequences are not fully supported in WebKit's
2586         code generator machinery. Although the generated code
2587         does add "is nullable" check to the evaluation condition
2588         (i.e. if (arg.isNull() || ...)), when the JSValue
2589         that holds a "null" JSObject is actually to be "converted"
2590         to a native Vector<T>, it fails.
2591
2592         The reason for the failure is in JSDOMBindings::toNativeArray.
2593         This method verifies that JSValue does not hold a "non-null"
2594         object, and it bails out.
2595         Analogly, the "ref ptr" variant of this method (toRefPtrNativeArray)
2596         does support nullables.
2597
2598         Patch fixes it be checking for a "null" JSValue check before hand.
2599
2600         Tests: Binding tests updated.
2601
2602         * bindings/js/JSDOMBinding.h:
2603         (WebCore::toNativeArray):
2604         * bindings/scripts/CodeGeneratorJS.pm:
2605         (JSValueToNative):
2606         * Modules/websocket/WebSocket.idl:
2607         Removed one overload ctor now that
2608         we can use nullable sequences.
2609
2610 2014-06-16  Jer Noble  <jer.noble@apple.com>
2611
2612         [MSE][Mac] Occasional image corruption after seeking
2613         https://bugs.webkit.org/show_bug.cgi?id=133879
2614
2615         Reviewed by Eric Carlson.
2616
2617         Change the order of operations for seeks: change the current time of the AVSampleBufferRenderSynchronizer
2618         before flushing and appending non-displaying samples.
2619
2620         Rather than having a single function which retrieves the fast seek time and then seeks, split this out
2621         into two functions: one which gets the fast seek time, and one which seeks. (The later of course already
2622         exists: seekToTime()).
2623
2624         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2625         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2626         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
2627         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
2628         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2629         (WebCore::MediaSourcePrivateAVFObjC::fastSeekTimeForMediaTime): Renamed from seekToTime()
2630         (WebCore::MediaSourcePrivateAVFObjC::seekToTime): Deleted.
2631
2632 2014-06-16  Zan Dobersek  <zdobersek@igalia.com>
2633
2634         Have ScriptExecutionContext::Task functions take in a ScriptExecutionContext reference
2635         https://bugs.webkit.org/show_bug.cgi?id=133795
2636
2637         Reviewed by Andreas Kling.
2638
2639         The pointer to the ScriptExecutionContext object that is passed to the C++11 lambdas or
2640         helper functions wrapped in ScriptExecutionContext::Task is never null, so that parameter
2641         should be a reference instead.
2642
2643         * Modules/webdatabase/Database.cpp:
2644         (WebCore::Database::~Database):
2645         (WebCore::Database::runTransaction):
2646         (WebCore::Database::scheduleTransactionCallback):
2647         * Modules/webdatabase/DatabaseManager.cpp:
2648         (WebCore::DatabaseManager::openDatabase):
2649         * Modules/webdatabase/SQLCallbackWrapper.h:
2650         (WebCore::SQLCallbackWrapper::clear):
2651         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2652         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback):
2653         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks): Dereference the
2654         member variable that holds a never-null pointer to the ScriptExecutionContext. This should
2655         similarly be a reference.
2656         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
2657         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
2658         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
2659         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
2660         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
2661         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
2662         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback):
2663         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2664         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2665         (WebCore::workerGlobalScopeDidSend):
2666         (WebCore::workerGlobalScopeDidGetBufferedAmount):
2667         (WebCore::workerGlobalScopeDidConnect):
2668         (WebCore::workerGlobalScopeDidReceiveMessage):
2669         (WebCore::workerGlobalScopeDidReceiveBinaryData):
2670         (WebCore::workerGlobalScopeDidUpdateBufferedAmount):
2671         (WebCore::workerGlobalScopeDidStartClosingHandshake):
2672         (WebCore::workerGlobalScopeDidClose):
2673         (WebCore::workerGlobalScopeDidReceiveMessageError):
2674         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2675         (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect):
2676         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSend):
2677         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
2678         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
2679         (WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount):
2680         (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
2681         (WebCore::WorkerThreadableWebSocketChannel::mainThreadFail):
2682         (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
2683         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
2684         (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
2685         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2686         * bindings/js/JSCallbackData.h:
2687         (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
2688         * bindings/js/JSDOMGlobalObjectTask.cpp:
2689         (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
2690         * dom/Document.cpp:
2691         (WebCore::Document::postTask):
2692         (WebCore::Document::pendingTasksTimerFired):
2693         * dom/ScriptExecutionContext.cpp:
2694         (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
2695         * dom/ScriptExecutionContext.h:
2696         (WebCore::ScriptExecutionContext::Task::performTask):
2697         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
2698         * dom/StringCallback.cpp:
2699         (WebCore::StringCallback::scheduleCallback):
2700         * fileapi/FileReader.cpp:
2701         (WebCore::delayedAbort):
2702         (WebCore::FileReader::abort):
2703         (WebCore::FileReader::doAbort): Deleted.
2704         * loader/WorkerThreadableLoader.cpp:
2705         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2706         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy):
2707         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel):
2708         (WebCore::workerGlobalScopeDidSendData):
2709         (WebCore::workerGlobalScopeDidReceiveResponse):
2710         (WebCore::workerGlobalScopeDidReceiveData):
2711         (WebCore::workerGlobalScopeDidFinishLoading):
2712         (WebCore::workerGlobalScopeDidFail):
2713         (WebCore::workerGlobalScopeDidFailAccessControlCheck):
2714         (WebCore::workerGlobalScopeDidFailRedirectCheck):
2715         * loader/WorkerThreadableLoader.h:
2716         * loader/appcache/ApplicationCacheGroup.cpp:
2717         (WebCore::ApplicationCacheGroup::postListenerTask):
2718         * loader/cache/MemoryCache.cpp:
2719         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache):
2720         (WebCore::MemoryCache::crossThreadRemoveRequestFromSessionCaches):
2721         * loader/cache/MemoryCache.h:
2722         * workers/DefaultSharedWorkerRepository.cpp:
2723         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
2724         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
2725         (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
2726         * workers/WorkerEventQueue.cpp:
2727         (WebCore::WorkerEventQueue::enqueueEvent):
2728         * workers/WorkerGlobalScope.cpp:
2729         (WebCore::WorkerGlobalScope::close):
2730         * workers/WorkerMessagingProxy.cpp:
2731         (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2732         (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
2733         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
2734         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
2735         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
2736         (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2737         (WebCore::WorkerMessagingProxy::connectToInspector):
2738         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
2739         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
2740         (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
2741         (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
2742         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2743         (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
2744         (WebCore::WorkerMessagingProxy::reportPendingActivity):
2745         * workers/WorkerRunLoop.cpp:
2746         (WebCore::WorkerRunLoop::Task::performTask):
2747         * workers/WorkerScriptLoader.cpp:
2748         * workers/WorkerThread.cpp:
2749         (WebCore::WorkerThread::stop):
2750         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
2751
2752 2014-06-16  Zan Dobersek  <zdobersek@igalia.com>
2753
2754         Page::findStringMatchingRanges() should take Vector<RefPtr<Range>> by reference instead of pointer
2755         https://bugs.webkit.org/show_bug.cgi?id=133677
2756
2757         Reviewed by Anders Carlsson.
2758
2759         * WebCore.exp.in: Update the changed symbol.
2760         * page/Page.cpp:
2761         (WebCore::Page::findStringMatchingRanges): The method expects the matchRanges parameter to be non-null,
2762         so it should take in that parameter by reference instead of pointer.
2763         * page/Page.h:
2764
2765 2014-06-16  Radu Stavila  <stavila@adobe.com>
2766
2767         REGRESSION (r168046): Incorrect layout for multicol spanners when moving from one thread to another
2768         https://bugs.webkit.org/show_bug.cgi?id=133589
2769
2770         Reviewed by Antti Koivisto.
2771
2772         When a spanner is moved from a multicol thread to another, its placeholder
2773         must be properly repositioned.
2774
2775         Test: fast/multicol/newmulticol/spanner-crash.html
2776
2777         * rendering/RenderMultiColumnFlowThread.cpp:
2778         (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
2779
2780 2014-06-16  Mario Sanchez Prada  <mario.prada@samsung.com>
2781
2782         [ATK] Missing 'selection-changed' signal when navigating a combo box with keyboard
2783         https://bugs.webkit.org/show_bug.cgi?id=133512
2784
2785         Reviewed by Chris Fleizach.
2786
2787         Make sure that AccessibilityMenuList objects update their active
2788         option when it changes, which will send a platform-dependent
2789         accessibility-related notification when needed.
2790
2791         Test: accessibility/combo-box-collapsed-selection-changed.html
2792
2793         * rendering/RenderMenuList.cpp:
2794         (RenderMenuList::didUpdateActiveOption): Keep the out-of-bounds
2795         check for the index passed but don't avoid updating the option for
2796         the associated AccessibilityMenuList object if the selected list
2797         item does not have a renderer, because that could be the case for
2798         cases where the popup (and its elements) would be rendered in the
2799         UI Process (e.g. GTK+ port uses GtkMenu and GtkMenuItem for that).
2800
2801         * accessibility/AccessibilityMenuList.cpp:
2802         (WebCore::AccessibilityMenuList::didUpdateActiveOption): Ensure
2803         that the AccessibilityMenuListPopup object for a given menu list
2804         has accessibility children before updating its active option.
2805
2806 2014-06-16  Commit Queue  <commit-queue@webkit.org>
2807
2808         Unreviewed, rolling out r170003.
2809         https://bugs.webkit.org/show_bug.cgi?id=133938
2810
2811         This patch broke GTK build (Requested by kczech on #webkit).
2812
2813         Reverted changeset:
2814
2815         "[EFL] Platform support for WebSpeech feature."
2816         https://bugs.webkit.org/show_bug.cgi?id=116438
2817         http://trac.webkit.org/changeset/170003
2818
2819 2014-06-16  Frédéric Wang  <fred.wang@free.fr>
2820
2821         Draw radicals with glyphs for better rendering.
2822         https://bugs.webkit.org/show_bug.cgi?id=119038
2823
2824         Unreviewed ASSERT fix.
2825
2826         * rendering/mathml/RenderMathMLRoot.h:
2827
2828 2014-06-16  Frédéric Wang  <fred.wang@free.fr>
2829
2830         Draw radicals with glyphs for better rendering
2831         https://bugs.webkit.org/show_bug.cgi?id=119038
2832
2833         Reviewed by Chris Fleizach.
2834
2835         We rewrite RenderMathMLRoot in order to fix bugs with SVG transforms and dynamic modification of children and allow drawing with an OpenType MATH table.
2836         The drawing of the radical sign (without the top bar) is now moved to a RenderMathMLRadicalOperator class inheriting from RenderMathMLOperator.
2837         This class fallbacks to the original drawing with graphic primitives if an OpenType MATH table is not available.
2838
2839         Tests: mathml/opentype/roots-LatinModern.html
2840                mathml/presentation/mroot-transform.html
2841
2842         * CMakeLists.txt: add files to build system.
2843         * WebCore.vcxproj/WebCore.vcxproj: ditto.
2844         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
2845         * WebCore.xcodeproj/project.pbxproj: ditto
2846         * css/mathml.css: remove rules for msqrt/mroot. The "script level" in mroot is not incremented by 2 as specified in the spec.
2847         (math, mrow, mfenced, merror, mphantom, mstyle, menclose):
2848         (mroot > *:last-child):
2849         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
2850         (msqrt > *): Deleted.
2851         (mroot): Deleted. This rule was causing bug 126516.
2852         (mroot > * + *): Deleted.
2853         * rendering/RenderObject.h: Add two new isRenderMathML* functions for dynamic casting.
2854         (WebCore::RenderObject::isRenderMathMLRadicalOperator):
2855         (WebCore::RenderObject::isRenderMathMLRootWrapper):
2856         * rendering/mathml/RenderMathMLOperator.cpp: Accept a set of operator dictionary flags, all disabled by default. This is to allow anonymous radicas, which don't have any flag.
2857         isFencedOperator() is now replaced with the more general isAnonymous() since we allow anonymous radical operator fors msqrt/mroot.
2858         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2859         (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
2860         (WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
2861         (WebCore::RenderMathMLOperator::SetOperatorProperties):
2862         (WebCore::RenderMathMLOperator::updateTokenContent):
2863         * rendering/mathml/RenderMathMLOperator.h: Allow class to be overriden, redefine the anonymous constructor, remove isFencedOperator().
2864         * rendering/mathml/RenderMathMLRadicalOperator.cpp: Added.
2865         (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator):
2866         (WebCore::RenderMathMLRadicalOperator::stretchTo):
2867         (WebCore::RenderMathMLRadicalOperator::SetOperatorProperties):
2868         (WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
2869         (WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
2870         (WebCore::RenderMathMLRadicalOperator::paint):
2871         (WebCore::RenderMathMLRadicalOperator::trailingSpaceError):
2872         * rendering/mathml/RenderMathMLRadicalOperator.h: Added.
2873         * rendering/mathml/RenderMathMLRoot.cpp: Rewritten. Some parts to use graphic primitives are moved to RenderMathMLRadicalOperator.cpp.
2874         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
2875         (WebCore::RenderMathMLRoot::baseWrapper):
2876         (WebCore::RenderMathMLRoot::radicalWrapper):
2877         (WebCore::RenderMathMLRoot::indexWrapper):
2878         (WebCore::RenderMathMLRoot::radicalOperator):
2879         (WebCore::RenderMathMLRoot::restructureWrappers):
2880         (WebCore::RenderMathMLRoot::addChild):
2881         (WebCore::RenderMathMLRoot::styleDidChange):
2882         (WebCore::RenderMathMLRoot::updateFromElement):
2883         (WebCore::RenderMathMLRoot::updateStyle):
2884         (WebCore::RenderMathMLRoot::firstLineBaseline):
2885         (WebCore::RenderMathMLRoot::layout):
2886         (WebCore::RenderMathMLRoot::paint):
2887         (WebCore::RenderMathMLRootWrapper::createAnonymousWrapper):
2888         (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
2889         (WebCore::RenderMathMLRootWrapper::removeChild):
2890         (WebCore::RenderMathMLRoot::paddingTop): Deleted.
2891         (WebCore::RenderMathMLRoot::paddingBottom): Deleted.
2892         (WebCore::RenderMathMLRoot::paddingLeft): Deleted.
2893         (WebCore::RenderMathMLRoot::paddingRight): Deleted.
2894         (WebCore::RenderMathMLRoot::paddingBefore): Deleted.
2895         (WebCore::RenderMathMLRoot::paddingAfter): Deleted.
2896         (WebCore::RenderMathMLRoot::paddingStart): Deleted.
2897         (WebCore::RenderMathMLRoot::paddingEnd): Deleted.
2898         (WebCore::RenderMathMLRoot::index): Deleted.
2899         * rendering/mathml/RenderMathMLRoot.h: Rewritten.
2900         (WebCore::RenderMathMLRootWrapper::RenderMathMLRootWrapper):
2901
2902 2014-06-16  Krzysztof Czech  <k.czech@samsung.com>
2903
2904         [EFL] Platform support for WebSpeech feature.
2905         https://bugs.webkit.org/show_bug.cgi?id=116438
2906
2907         Reviewed by Gyuyoung Kim.
2908
2909         It's a first step of adding support for Speech Synthesis in EFL port.
2910         Just stub out required API and support for compilation.
2911
2912         * CMakeLists.txt:
2913         * PlatformEfl.cmake:
2914         * platform/PlatformSpeechSynthesizer.h:
2915         * platform/efl/PlatformSpeechSynthesisProviderEfl.cpp: Added.
2916         (WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
2917         (WebCore::PlatformSpeechSynthesisProviderEfl::~PlatformSpeechSynthesisProviderEfl):
2918         (WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
2919         (WebCore::PlatformSpeechSynthesisProviderEfl::pause):
2920         (WebCore::PlatformSpeechSynthesisProviderEfl::resume):
2921         (WebCore::PlatformSpeechSynthesisProviderEfl::speak):
2922         (WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
2923         * platform/efl/PlatformSpeechSynthesisProviderEfl.h: Added.
2924         * platform/efl/PlatformSpeechSynthesizerEfl.cpp: Added.
2925         (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
2926         (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
2927         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
2928         (WebCore::PlatformSpeechSynthesizer::pause):
2929         (WebCore::PlatformSpeechSynthesizer::resume):
2930         (WebCore::PlatformSpeechSynthesizer::speak):
2931         (WebCore::PlatformSpeechSynthesizer::cancel):
2932
2933 2014-06-15  Benjamin Poulain  <benjamin@webkit.org>
2934
2935         CSS JIT: add support for the :lang() pseudo class
2936         https://bugs.webkit.org/show_bug.cgi?id=133913
2937
2938         Reviewed by Andreas Kling.
2939
2940         The selector is already very expensive to begin with, just implement it with
2941         a function call.
2942
2943         It is also done after every other filter since it is so inefficient.
2944
2945         Tests: fast/selectors/lang-conflict.html
2946                fast/selectors/lang-empty.html
2947                fast/selectors/lang-specificity-xml.xhtml
2948                fast/selectors/lang-specificity.html
2949
2950         * css/SelectorChecker.cpp:
2951         (WebCore::SelectorChecker::checkOne):
2952         * css/SelectorCheckerTestFunctions.h:
2953         (WebCore::matchesLangPseudoClass):
2954         * cssjit/SelectorCompiler.cpp:
2955         (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
2956         (WebCore::SelectorCompiler::addPseudoClassType):
2957         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2958         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
2959         * dom/Element.cpp:
2960         (WebCore::Element::computeInheritedLanguage):
2961         * dom/ElementData.cpp:
2962         (WebCore::ElementData::findLanguageAttribute):
2963         * dom/ElementData.h:
2964
2965 2014-06-15  Anders Carlsson  <andersca@apple.com>
2966
2967         Add an autorelease() member function to RetainPtr
2968         https://bugs.webkit.org/show_bug.cgi?id=133929
2969
2970         Reviewed by Dan Bernstein.
2971
2972         * bindings/objc/DOM.mm:
2973         (-[DOMNode renderedImage]):
2974         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
2975         * bindings/objc/DOMUIKitExtensions.mm:
2976         (-[DOMHTMLImageElement dataRepresentation:]):
2977         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
2978         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
2979         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):
2980
2981 2014-06-14  Anders Carlsson  <andersca@apple.com>
2982
2983         Adopt HTTPHeaderName in ResourceResponseBase
2984         https://bugs.webkit.org/show_bug.cgi?id=133919
2985
2986         Reviewed by Sam Weinig.
2987
2988         * platform/network/HTTPHeaderNames.in:
2989         * platform/network/ResourceResponseBase.cpp:
2990         (WebCore::ResourceResponseBase::updateHeaderParsedState):
2991         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2992         (WebCore::ResourceResponseBase::addHTTPHeaderField):
2993         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2994         (WebCore::ResourceResponseBase::hasCacheValidatorFields):
2995         (WebCore::parseDateValueInHeader):
2996         (WebCore::ResourceResponseBase::date):
2997         (WebCore::ResourceResponseBase::age):
2998         (WebCore::ResourceResponseBase::expires):
2999         (WebCore::ResourceResponseBase::lastModified):
3000         (WebCore::ResourceResponseBase::isAttachment):
3001         * platform/network/ResourceResponseBase.h:
3002
3003 2014-06-14  Anders Carlsson  <andersca@apple.com>
3004
3005         Simplify ResourceRequest constructors
3006         https://bugs.webkit.org/show_bug.cgi?id=133911
3007
3008         Reviewed by Sam Weinig.
3009
3010         * platform/network/cf/ResourceRequest.h:
3011         (WebCore::ResourceRequest::ResourceRequest):
3012
3013 2014-06-14  Benjamin Poulain  <benjamin@webkit.org>
3014
3015         Fix the ARM64 build
3016
3017         * cssjit/SelectorCompiler.cpp:
3018         (WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
3019
3020 2014-06-13  Sam Weinig  <sam@webkit.org>
3021
3022         Store DOM constants directly in the JS object rather than jumping through a custom accessor
3023         https://bugs.webkit.org/show_bug.cgi?id=133898
3024
3025         Reviewed by Oliver Hunt.
3026
3027         Instead of implementing constants as custom accessors that just happen to return a value,
3028         we now store the constant directly in the HashTableValue array (where the GetValueFunc used
3029         to be). 
3030         
3031         - For the case where the constant is accessed via the static table (still in use for instances 
3032           and some prototypes), the static lookup function will set the value on the property slot,
3033           instead of passing a function pointer.
3034         - For the case where the constant is eagerly reified (most prototypes and all constructors) the
3035           constant is put directly in the object.
3036
3037         In micro benchmarks this looks to be around a 4x speedup on the use of DOM constants.
3038
3039         This also removes support for constant strings in IDL, which we had no uses of.
3040
3041         * bindings/scripts/CodeGeneratorJS.pm:
3042         (GenerateHeader):
3043         Remove code to generate forward declaration of constant accessor functions.
3044
3045         (GenerateImplementation):
3046         Remove code to generate implementation of constant accessor functions.
3047
3048         (GenerateHashTableValueArray):
3049         Plant the constant directly in the value array.
3050
3051         * bindings/scripts/IDLParser.pm:
3052         (parseConstValue):
3053         Remove support for constant strings.
3054
3055         * bindings/scripts/test/JS/JSTestInterface.cpp:
3056         * bindings/scripts/test/JS/JSTestInterface.h:
3057         * bindings/scripts/test/JS/JSTestObj.cpp:
3058         * bindings/scripts/test/JS/JSTestObj.h:
3059         * bindings/scripts/test/ObjC/DOMTestObj.h:
3060         * bindings/scripts/test/TestObj.idl:
3061         Update test results.
3062
3063 2014-06-14  Anders Carlsson  <andersca@apple.com>
3064
3065         Simplify Document::processHttpEquiv
3066         https://bugs.webkit.org/show_bug.cgi?id=133910
3067
3068         Reviewed by Andreas Kling.
3069
3070         * dom/Document.cpp:
3071         (WebCore::Document::processHttpEquiv):
3072         * platform/network/HTTPHeaderNames.in:
3073
3074 2014-06-14  Andreas Kling  <akling@apple.com>
3075
3076         GCController should return FastMalloc memory to the system.
3077         <https://webkit.org/b/133884>
3078
3079         Reviewed by Anders Carlsson.
3080
3081         Speculative test fix; I'm kinda suspecting that some tests are reporting
3082         more memory used because we did a GC but didn't get around to returning
3083         free pages to the system yet.
3084
3085         * bindings/js/GCController.cpp:
3086         (WebCore::GCController::garbageCollectNow):
3087
3088 2014-06-14  Zan Dobersek  <zdobersek@igalia.com>
3089
3090         Generate HTTP header names that are required by WebKitWebSrc
3091         https://bugs.webkit.org/show_bug.cgi?id=133906
3092
3093         Reviewed by Anders Carlsson.
3094
3095         WebKitWebSrc implementation sets icy-metadata and transferMode.dlna HTTP headers
3096         on ResourceRequest objects. The two headers are added to HTTPHeaderNames.in, and
3097         a small tweak is added to the generator script to avoid the dot in the second
3098         header's name (which would otherwise generate invalid C++).
3099
3100         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3101         (webKitWebSrcStart):
3102         * platform/network/HTTPHeaderNames.in:
3103         * platform/network/create-http-header-name-table:
3104
3105 2014-06-14  Anders Carlsson  <andersca@apple.com>
3106
3107         Replace some uses of ResourceRequestBase::addHTTPHeaderField with setHTTPHeaderField
3108         https://bugs.webkit.org/show_bug.cgi?id=133907
3109
3110         Reviewed by Andreas Kling.
3111
3112         * Modules/websockets/WebSocketHandshake.cpp:
3113         (WebCore::WebSocketHandshake::clientHandshakeRequest):
3114         * platform/network/HTTPHeaderNames.in:
3115         * platform/network/cf/ResourceHandleCFNet.cpp:
3116         (WebCore::applyBasicAuthorizationHeader):
3117         * platform/network/mac/ResourceHandleMac.mm:
3118         (WebCore::applyBasicAuthorizationHeader):
3119
3120 2014-06-13  Anders Carlsson  <andersca@apple.com>
3121
3122         Add a ResourceRequestBase::setHTTPHeaderField overload that takes a HTTPHeaderName
3123         https://bugs.webkit.org/show_bug.cgi?id=133881
3124
3125         Reviewed by Sam Weinig.
3126
3127         * WebCore.exp.in:
3128         * fileapi/FileReaderLoader.cpp:
3129         (WebCore::FileReaderLoader::start):
3130         * inspector/InspectorResourceAgent.cpp:
3131         (WebCore::InspectorResourceAgent::willSendRequest):
3132         * loader/CrossOriginAccessControl.cpp:
3133         (WebCore::createAccessControlPreflightRequest):
3134         * loader/FrameLoader.cpp:
3135         (WebCore::FrameLoader::addExtraFieldsToRequest):
3136         * loader/PingLoader.cpp:
3137         (WebCore::PingLoader::loadImage):
3138         (WebCore::PingLoader::sendPing):
3139         * loader/appcache/ApplicationCacheGroup.cpp:
3140         (WebCore::ApplicationCacheGroup::createResourceHandle):
3141         * loader/cache/CachedResource.cpp:
3142         (WebCore::CachedResource::load):
3143         * page/EventSource.cpp:
3144         (WebCore::EventSource::connect):
3145         * platform/network/BlobResourceHandle.cpp:
3146         (WebCore::BlobResourceHandle::doStart):
3147         * platform/network/HTTPHeaderNames.in:
3148         * platform/network/ResourceRequestBase.cpp:
3149         (WebCore::ResourceRequestBase::httpHeaderField):
3150         (WebCore::ResourceRequestBase::setHTTPHeaderField):
3151         (WebCore::ResourceRequestBase::httpContentType):
3152         (WebCore::ResourceRequestBase::setHTTPContentType):
3153         (WebCore::ResourceRequestBase::httpReferrer):
3154         (WebCore::ResourceRequestBase::setHTTPReferrer):
3155         (WebCore::ResourceRequestBase::httpOrigin):
3156         (WebCore::ResourceRequestBase::setHTTPOrigin):
3157         (WebCore::ResourceRequestBase::httpUserAgent):
3158         (WebCore::ResourceRequestBase::setHTTPUserAgent):
3159         (WebCore::ResourceRequestBase::httpAccept):
3160         (WebCore::ResourceRequestBase::setHTTPAccept):
3161         * platform/network/ResourceRequestBase.h:
3162         * platform/network/mac/ResourceHandleMac.mm:
3163         (WebCore::ResourceHandle::willSendRequest):
3164
3165 2014-06-14  Simon Fraser  <simon.fraser@apple.com>
3166
3167         Masks disappear when layers become tiled
3168         https://bugs.webkit.org/show_bug.cgi?id=133892
3169         <rdar://problem/17309793>
3170
3171         Reviewed by Tim Horton.
3172         
3173         There were several problems with tiled mask layers.
3174         
3175         First, when a layer became tiled it failed to re-apply the platform layer
3176         for its mask; fixed by adding MaskLayerChanged to the set of flags in
3177         swapFromOrToTiledLayer().
3178         
3179         Secondly, in CA, a mask layer's superlayer is the layer which is it masking,
3180         so the if (oldLayer->superlayer())... code in swapFromOrToTiledLayer() would
3181         erroneously try to swap out a sublayer on the superlayer with the mask.
3182         
3183         Thirdly, the mask layer is updated after its host layer, but when the mask layer
3184         become tiled, there was no code that updated the mask platform layer on its
3185         host layer. Fix by:
3186             1. setting a bit on a layer to note that it's being used as a mask.
3187             2. setting the parent of such a layer to its host layer (mimicking CA)
3188             3. when the mask becomes tiled, dirtying the MaskLayerChanged bit on
3189                its parent and adding a clause to commitLayerChangesAfterSublayers()
3190                to update the mask layer.
3191         
3192         Finally, ASSERTION FAILED: owningGraphicsLayer()->isCommittingChanges() would
3193         fire because we failed to set the m_isCommittingChanges flag while committing
3194         the mask layer. Fix by moving the TemporaryChange<bool> that sets this flag
3195         into commitLayerChangesBeforeSublayers() and commitLayerChangesAfterSublayers().
3196         
3197         Also used safe casts in more places in GraphicsLayerCA.
3198
3199         Tests: compositing/masks/become-tiled-mask.html
3200                compositing/masks/cease-tiled-mask.html
3201                compositing/masks/tiled-mask.html
3202
3203         * platform/graphics/GraphicsLayer.cpp:
3204         (WebCore::GraphicsLayer::GraphicsLayer):
3205         (WebCore::GraphicsLayer::removeFromParent):
3206         (WebCore::GraphicsLayer::setMaskLayer):
3207         * platform/graphics/GraphicsLayer.h:
3208         (WebCore::GraphicsLayer::setIsMaskLayer):
3209         (WebCore::GraphicsLayer::isMaskLayer):
3210         (WebCore::GraphicsLayer::setMaskLayer): Deleted.
3211         * platform/graphics/ca/GraphicsLayerCA.cpp:
3212         (WebCore::GraphicsLayerCA::removeFromParent):
3213         (WebCore::GraphicsLayerCA::setMaskLayer):
3214         (WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
3215         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
3216         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3217         (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers):
3218         (WebCore::GraphicsLayerCA::updateSublayerList):
3219         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3220         (WebCore::GraphicsLayerCA::updateMaskLayer):
3221         (WebCore::GraphicsLayerCA::replicatedLayerRoot):
3222         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
3223         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3224         (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas):
3225         (WebCore::GraphicsLayerCA::fetchCloneLayers):
3226
3227 2014-06-14  peavo@outlook.com  <peavo@outlook.com>
3228
3229         [Curl] Compile errors related to http headers.
3230         https://bugs.webkit.org/show_bug.cgi?id=133901
3231
3232         Reviewed by Brent Fulgham.
3233
3234         Http headers should now be specified with an enum, not a string.
3235
3236         * platform/network/curl/CurlCacheEntry.cpp:
3237         (WebCore::CurlCacheEntry::parseResponseHeaders):
3238         * platform/network/curl/MultipartHandle.cpp:
3239         (WebCore::MultipartHandle::didReceiveResponse):
3240
3241 2014-06-14  Brent Fulgham  <bfulgham@apple.com>
3242
3243         Unreviewed build fix after r169960.
3244
3245         * platform/graphics/ca/PlatformCALayer.cpp: Add missing include
3246         for snprintf on Windows.
3247
3248 2014-06-14  Csaba Osztrogonác  <ossy@webkit.org>
3249
3250         URTBF after r169943 and r169946.
3251
3252         * platform/network/HTTPHeaderMap.h: Removed maybe accidental deletion of the only one add function.
3253         * platform/network/HTTPHeaderNames.in: Added Sec-WebSocket-Key.
3254
3255 2014-06-14  Commit Queue  <commit-queue@webkit.org>
3256
3257         Unreviewed, rolling out r169963.
3258         https://bugs.webkit.org/show_bug.cgi?id=133899
3259
3260         Assertion in mathml/roots-removeChild.html (Requested by fredw
3261         on #webkit).
3262
3263         Reverted changeset:
3264
3265         "Draw radicals with glyphs for better rendering"
3266         https://bugs.webkit.org/show_bug.cgi?id=119038
3267         http://trac.webkit.org/changeset/169963
3268
3269 2014-06-14  Frédéric Wang  <fred.wang@free.fr>
3270
3271         Draw radicals with glyphs for better rendering
3272         https://bugs.webkit.org/show_bug.cgi?id=119038
3273
3274         Reviewed by Chris Fleizach.
3275
3276         We rewrite RenderMathMLRoot in order to fix bugs with SVG transforms and dynamic modification of children and allow drawing with an OpenType MATH table.
3277         The drawing of the radical sign (without the top bar) is now moved to a RenderMathMLRadicalOperator class inheriting from RenderMathMLOperator.
3278         This class fallbacks to the original drawing with graphic primitives if an OpenType MATH table is not available.
3279
3280         Tests: mathml/opentype/roots-LatinModern.html
3281                mathml/presentation/mroot-transform.html
3282
3283         * CMakeLists.txt: add files to build system.
3284         * WebCore.vcxproj/WebCore.vcxproj: ditto.
3285         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
3286         * WebCore.xcodeproj/project.pbxproj: ditto
3287         * css/mathml.css: remove rules for msqrt/mroot. The "script level" in mroot is not incremented by 2 as specified in the spec.
3288         (math, mrow, mfenced, merror, mphantom, mstyle, menclose):
3289         (mroot > *:last-child):
3290         (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
3291         (msqrt > *): Deleted.
3292         (mroot): Deleted. This rule was causing bug 126516.
3293         (mroot > * + *): Deleted.
3294         * rendering/RenderObject.h: Add two new isRenderMathML* functions for dynamic casting.
3295         (WebCore::RenderObject::isRenderMathMLRadicalOperator):
3296         (WebCore::RenderObject::isRenderMathMLRootWrapper):
3297         * rendering/mathml/RenderMathMLOperator.cpp: Accept a set of operator dictionary flags, all disabled by default. This is to allow anonymous radicas, which don't have any flag.
3298         isFencedOperator() is now replaced with the more general isAnonymous() since we allow anonymous radical operator fors msqrt/mroot.
3299         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
3300         (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
3301         (WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
3302         (WebCore::RenderMathMLOperator::SetOperatorProperties):
3303         (WebCore::RenderMathMLOperator::updateTokenContent):
3304         * rendering/mathml/RenderMathMLOperator.h: Allow class to be overriden, redefine the anonymous constructor, remove isFencedOperator().
3305         * rendering/mathml/RenderMathMLRadicalOperator.cpp: Added.
3306         (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator):
3307         (WebCore::RenderMathMLRadicalOperator::stretchTo):
3308         (WebCore::RenderMathMLRadicalOperator::SetOperatorProperties):
3309         (WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
3310         (WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
3311         (WebCore::RenderMathMLRadicalOperator::paint):
3312         (WebCore::RenderMathMLRadicalOperator::trailingSpaceError):
3313         * rendering/mathml/RenderMathMLRadicalOperator.h: Added.
3314         * rendering/mathml/RenderMathMLRoot.cpp: Rewritten. Some parts to use graphic primitives are moved to RenderMathMLRadicalOperator.cpp.
3315         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
3316         (WebCore::RenderMathMLRoot::baseWrapper):
3317         (WebCore::RenderMathMLRoot::radicalWrapper):
3318         (WebCore::RenderMathMLRoot::indexWrapper):
3319         (WebCore::RenderMathMLRoot::radicalOperator):
3320         (WebCore::RenderMathMLRoot::restructureWrappers):
3321         (WebCore::RenderMathMLRoot::addChild):
3322         (WebCore::RenderMathMLRoot::styleDidChange):
3323         (WebCore::RenderMathMLRoot::updateFromElement):
3324         (WebCore::RenderMathMLRoot::updateStyle):
3325         (WebCore::RenderMathMLRoot::firstLineBaseline):
3326         (WebCore::RenderMathMLRoot::layout):
3327         (WebCore::RenderMathMLRoot::paint):
3328         (WebCore::RenderMathMLRootWrapper::createAnonymousWrapper):
3329         (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
3330         (WebCore::RenderMathMLRootWrapper::removeChild):
3331         (WebCore::RenderMathMLRoot::paddingTop): Deleted.
3332         (WebCore::RenderMathMLRoot::paddingBottom): Deleted.
3333         (WebCore::RenderMathMLRoot::paddingLeft): Deleted.
3334         (WebCore::RenderMathMLRoot::paddingRight): Deleted.
3335         (WebCore::RenderMathMLRoot::paddingBefore): Deleted.
3336         (WebCore::RenderMathMLRoot::paddingAfter): Deleted.
3337         (WebCore::RenderMathMLRoot::paddingStart): Deleted.
3338         (WebCore::RenderMathMLRoot::paddingEnd): Deleted.
3339         (WebCore::RenderMathMLRoot::index): Deleted.
3340         * rendering/mathml/RenderMathMLRoot.h: Rewritten.
3341         (WebCore::RenderMathMLRootWrapper::RenderMathMLRootWrapper):
3342
3343 2014-06-13  Brent Fulgham  <bfulgham@apple.com>
3344
3345         Move utility functions from WebLayer to PlatformCALayer
3346         https://bugs.webkit.org/show_bug.cgi?id=133887
3347         <rdar://problem/17309622>
3348
3349         Reviewed by Simon Fraser.
3350
3351         Move some utility functions from WebLayer.h/.mm to PlatformCALayer.
3352         Provide ObjC implementation in PlatformCALayerMac. A future patch will
3353         provide corresponding Windows versions.
3354
3355         * WebCore.exp.in:
3356         * platform/graphics/ca/PlatformCALayer.cpp:
3357         (WebCore::PlatformCALayer::drawRepaintIndicator):
3358         * platform/graphics/ca/PlatformCALayer.h:
3359         * platform/graphics/ca/TileController.cpp:
3360         (WebCore::TileController::blankPixelCountForTiles):
3361         * platform/graphics/ca/TileGrid.cpp:
3362         (WebCore::TileGrid::platformCALayerPaintContents):
3363         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3364         (PlatformCALayer::collectRectsToPaint):
3365         (PlatformCALayer::drawLayerContents):
3366         (PlatformCALayer::frameForLayer):
3367         * platform/graphics/mac/WebLayer.h:
3368         * platform/graphics/mac/WebLayer.mm:
3369         (-[WebLayer drawInContext:]):
3370         (WebCore::collectRectsToPaint): Deleted.
3371         (WebCore::drawLayerContents): Deleted.
3372         (WebCore::drawRepaintIndicator): Deleted.
3373         (WebCore::frameForLayer): Deleted.
3374
3375 2014-06-13  Alex Christensen  <achristensen@webkit.org>
3376
3377         Unreviewed disabling css jit on armv7.  It's not quite ready yet.
3378
3379         * cssjit/SelectorCompiler.cpp:
3380         (WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
3381         Removed extra comma.
3382
3383 2014-06-13  Alex Christensen  <achristensen@webkit.org>
3384
3385         Make css jit compile on armv7.
3386         https://bugs.webkit.org/show_bug.cgi?id=133889
3387
3388         Reviewed by Benjamin Poulain.
3389
3390         * cssjit/SelectorCompiler.cpp:
3391         (WebCore::SelectorCompiler::moduloHelper):
3392         (WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
3393         Implement modulo using a function call for now.
3394
3395 2014-06-13  Anders Carlsson  <andersca@apple.com>
3396
3397         Use the callOnMainThread version that takes an std::function in BlobResourceHandle::start()
3398         https://bugs.webkit.org/show_bug.cgi?id=133886
3399
3400         Reviewed by Andreas Kling.
3401
3402         Also replace a couple of NSAutoreleasePools with @autoreleasepool and an OwnPtr with an std::unique_ptr.
3403
3404         * page/scrolling/mac/ScrollingThreadMac.mm:
3405         (WebCore::ScrollingThread::threadRunLoopSourceCallback):
3406         * platform/mac/SharedTimerMac.mm:
3407         (WebCore::PowerObserver::PowerObserver):
3408         (WebCore::timerFired):
3409         (WebCore::setSharedTimerFireInterval):
3410         (WebCore::PowerObserver::create): Deleted.
3411         (WebCore::PowerObserver::didReceiveSystemPowerNotification): Deleted.
3412         * platform/network/BlobResourceHandle.cpp:
3413         (WebCore::BlobResourceHandle::start):
3414         (WebCore::delayedStartBlobResourceHandle): Deleted.
3415         * platform/network/BlobResourceHandle.h:
3416
3417 2014-06-12  Sam Weinig  <sam@webkit.org>
3418
3419         Constructors should eagerly reify their properties too
3420         https://bugs.webkit.org/show_bug.cgi?id=133822
3421
3422         Reviewed by Andreas Kling.
3423
3424         * bindings/scripts/CodeGeneratorJS.pm:
3425         (GenerateConstructorDeclaration):
3426         Constructors should never need to use the lazy property HashTable, so we can just
3427         remove its getOwnPropertySlot completely.
3428
3429         (ConstructorHasProperties):
3430         Add helper to determine if we need to reify any properties.
3431
3432         (GenerateConstructorHelperMethods):
3433         Reify if needed, and remove the implementation of getOwnPropertySlot.
3434