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