Backgrounds bleed out of natively rendered text fields
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-10-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2
3         Backgrounds bleed out of natively rendered text fields
4         https://bugs.webkit.org/show_bug.cgi?id=149843
5         <rdar://problem/22896977>
6
7         Reviewed by Darin Adler.
8
9         When natively rendering a text field with a background on Mac, the background bleeds out
10         of the text field's border when the graphics context is scaled (as a result of a retina
11         display or zoom/scale effects). This is because when we render the text field in bezeled
12         style within a certain frame, AppKit adds 1 device pixel insets on all sides of the frame,
13         which renders a text field that is slightly smaller than the frame. To adjust for this, we
14         inflate the paint rect.
15
16         Test: fast/forms/hidpi-textfield-background-bleeding.html
17
18         * rendering/RenderThemeMac.mm:
19         (WebCore::RenderThemeMac::paintTextField):
20
21 2015-10-09  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
22
23         Refactor WebCore JS builtins to prepare for automatic generation
24         https://bugs.webkit.org/show_bug.cgi?id=149751
25
26         Reviewed by Darin Adler.
27
28         Adding annotations to JS files to know whether they should be under a compilation flag and
29         whether they are JS internals or JS tied to WebIDL.
30         If a file is said as JS internals, all function names should be exported automatically.
31         Added WebCoreJSBuiltins.h to simplify handling of builtins in JSVMClientData.
32         Added WebCoreJSInternals.h to simplify handling of builtin private function in JSDOMWindowBase.
33         Renamed WebCoreJSClientData to JSVMClientData.
34
35         Covered by existing tests.
36
37         * CMakeLists.txt:
38         * Modules/streams/ByteLengthQueuingStrategy.js:
39         * Modules/streams/CountQueuingStrategy.js:
40         * Modules/streams/ReadableStream.js:
41         * Modules/streams/ReadableStreamController.js:
42         * Modules/streams/ReadableStreamInternals.js:
43         * Modules/streams/ReadableStreamReader.js:
44         * WebCore.order:
45         * WebCore.xcodeproj/project.pbxproj:
46         * bindings/js/DOMWrapperWorld.cpp:
47         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
48         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
49         (WebCore::normalWorld):
50         * bindings/js/JSDOMWindowBase.cpp:
51         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
52         (WebCore::JSDOMWindowBase::finishCreation):
53         (WebCore::JSDOMWindowBase::visitChildren):
54         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
55         (WebCore::JSDOMWindowBase::destroy): Deleted.
56         * bindings/js/JSDOMWindowBase.h:
57         * bindings/js/ScriptController.cpp:
58         (WebCore::ScriptController::getAllWorlds):
59         * bindings/js/SerializedScriptValue.cpp:
60         (WebCore::SerializedScriptValue::transferArrayBuffers):
61         * bindings/js/WebCoreJSBuiltinInternals.h: Added.
62         (WebCore::JSBuiltinInternalFunctions::JSBuiltinInternalFunctions):
63         (WebCore::JSBuiltinInternalFunctions::readableStreamInternals):
64         (WebCore::JSBuiltinInternalFunctions::visit):
65         (WebCore::JSBuiltinInternalFunctions::init):
66         * bindings/js/WebCoreJSBuiltins.cpp:
67         * bindings/js/WebCoreJSBuiltins.h: Added.
68         (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
69         (WebCore::JSBuiltinFunctions::byteLengthQueuingStrategyBuiltins):
70         (WebCore::JSBuiltinFunctions::countQueuingStrategyBuiltins):
71         (WebCore::JSBuiltinFunctions::readableStreamBuiltins):
72         (WebCore::JSBuiltinFunctions::readableStreamControllerBuiltins):
73         (WebCore::JSBuiltinFunctions::readableStreamInternalsBuiltins):
74         (WebCore::JSBuiltinFunctions::readableStreamReaderBuiltins):
75         * bindings/js/WebCoreJSClientData.h:
76         (WebCore::JSVMClientData::JSVMClientData):
77         (WebCore::JSVMClientData::~JSVMClientData):
78         (WebCore::JSVMClientData::builtinFunctions):
79         (WebCore::initNormalWorldClientData):
80         (WebCore::JSVMClientData::normalWorld): Deleted.
81         (WebCore::JSVMClientData::getAllWorlds): Deleted.
82
83 2015-10-09  Youenn Fablet  <youenn.fablet@crf.canon.fr>
84
85         Rationalize JSXXConstructor class definition
86         https://bugs.webkit.org/show_bug.cgi?id=149923
87
88         Reviewed by Darin Adler.
89
90         Declaration of JSXXConstructor::construct and JSXXConstructor::getConstructData
91         as long as JSXX is constructable from JavaScript.
92
93         Previously, JSXXConstructor::construct was not generated in case of CustomConstructor.
94         It is now generated and directly calls the custom constructor function.
95
96         getConstructData was declared conditionally with #if in case of ConstructorConditional.
97         The #if are now within getConstructData body.
98
99         Covered by binding tests.
100
101         * bindings/scripts/CodeGeneratorJS.pm:
102         (GenerateConstructorDeclaration):
103         (GenerateOverloadedConstructorDefinition):
104         (GenerateConstructorDefinition):
105         (GenerateConstructorHelperMethods):
106         (GenerateConstructorDefinitions):.
107         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
108         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::construct):
109         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::getConstructData):
110         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):.
111         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
112         (WebCore::JSTestEventConstructorConstructor::construct):
113         (WebCore::JSTestEventConstructorConstructor::getConstructData):
114         * bindings/scripts/test/JS/JSTestInterface.cpp:
115         (WebCore::JSTestInterfaceConstructor::construct):
116         (WebCore::JSTestInterfaceConstructor::getConstructData):
117         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
118         (WebCore::JSTestJSBuiltinConstructorConstructor::construct):
119         (WebCore::JSTestJSBuiltinConstructorConstructor::getConstructData):
120         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
121         (WebCore::JSTestNamedConstructorNamedConstructor::construct):
122         (WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
123         * bindings/scripts/test/JS/JSTestNode.cpp:
124         (WebCore::JSTestNodeConstructor::construct):
125         (WebCore::JSTestNodeConstructor::getConstructData):
126         * bindings/scripts/test/JS/JSTestObj.cpp:
127         (WebCore::JSTestObjConstructor::construct):
128         (WebCore::JSTestObjConstructor::getConstructData):
129         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
130         (WebCore::constructJSTestOverloadedConstructors1):
131         (WebCore::constructJSTestOverloadedConstructors2):
132         (WebCore::constructJSTestOverloadedConstructors3):
133         (WebCore::constructJSTestOverloadedConstructors4):
134         (WebCore::constructJSTestOverloadedConstructors5):
135         (WebCore::JSTestOverloadedConstructorsConstructor::construct):
136         (WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
137         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
138         (WebCore::JSTestTypedefsConstructor::construct):
139         (WebCore::JSTestTypedefsConstructor::getConstructData):
140
141 2015-10-07  Sergio Villar Senin  <svillar@igalia.com>
142
143         [css-grid] Include freeSpace in GridSizingData struct
144         https://bugs.webkit.org/show_bug.cgi?id=149876
145
146         Reviewed by Darin Adler.
147
148         During the layout process we keep the free space for rows and
149         columns in two variables that are passed to a few methods
150         along with the GridSizingData struct. Those two variables
151         should clearly be part of GridSizingData as they're temporary
152         values used just for the sake of the layout.
153
154         No new tests required as this is just a refactoring.
155
156         * rendering/RenderGrid.cpp:
157         (WebCore::RenderGrid::GridSizingData::GridSizingData):
158         (WebCore::RenderGrid::GridSizingData::freeSpaceForDirection):
159         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
160         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
161         (WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded):
162         (WebCore::RenderGrid::layoutGridItems):
163         (WebCore::RenderGrid::populateGridPositions):
164         (WebCore::contentDistributionOffset):
165         (WebCore::RenderGrid::computeContentPositionAndDistributionOffset):
166         * rendering/RenderGrid.h:
167
168 2015-10-08  Sergio Villar Senin  <svillar@igalia.com>
169
170         [css-grid] Remove unneeded calls to compute(Content)LogicalWidth(Height)
171         https://bugs.webkit.org/show_bug.cgi?id=149926
172
173         Reviewed by Darin Adler.
174
175         In order to resolve a Length to a LayoutUnit we need to
176         provide a maximum value so that i.e. percentages are correctly
177         computed. That maximum value was computeLogicalWidth() for
178         columns and computeContentLogicalHeight() for rows. We were
179         calling it for every single track with a definite size instead
180         of computing it once and reusing it multiple times.
181
182         This brings some nice performance improvements:
183         - 2.9%  in /Layout/fixed-grid-lots-of-data
184         - 2.95% in /Layout/fixed-grid-lots-of-stretched-data
185
186         No new tests required as there is no change in functionality.
187
188         * rendering/RenderGrid.cpp:
189         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
190         (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
191         (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
192         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
193         * rendering/RenderGrid.h:
194
195 2015-10-08  Chris Dumez  <cdumez@apple.com>
196
197         Unreviewed, build fix for ENABLE(MEDIA_SESSION) after r190030.
198
199         * dom/Document.cpp:
200         (WebCore::Document::updateIsPlayingMedia):
201
202 2015-10-08  Chris Dumez  <cdumez@apple.com>
203
204         Unreviewed, build fixes for ENABLE(MEDIA_SESSION) after r190030.
205
206         * Modules/mediasession/HTMLMediaElementMediaSession.cpp:
207         (WebCore::HTMLMediaElementMediaSession::session):
208         * Modules/mediasession/HTMLMediaElementMediaSession.h:
209         * Modules/mediasession/MediaSession.cpp:
210         (WebCore::MediaSession::controls):
211         * Modules/mediasession/MediaSession.h:
212
213 2015-10-08  Jiewen Tan  <jiewen_tan@apple.com>
214
215         Gracefully handle XMLDocumentParser being detached by mutation events.
216         https://bugs.webkit.org/show_bug.cgi?id=149485
217         <rdar://problem/22811489>
218
219         This is a merge of Blink change 200026,
220         https://codereview.chromium.org/1267283002
221
222         Reviewed by Darin Adler.
223
224         Test: fast/parser/xhtml-dom-character-data-modified-crash.html
225
226         * xml/parser/XMLDocumentParser.cpp:
227         (WebCore::XMLDocumentParser::createLeafTextNode):
228         Renamed from enterText() to make it more descriptive. 
229
230         (WebCore::XMLDocumentParser::updateLeafTextNode):
231         Renamed from exitText to firm up this stage.
232
233         (WebCore::XMLDocumentParser::end):
234         Gracefully handle stopped states.
235
236         (WebCore::XMLDocumentParser::enterText): Deleted.
237         (WebCore::XMLDocumentParser::exitText): Deleted.
238
239         * xml/parser/XMLDocumentParser.h:
240         Rename enterText to createLeafTextNode.
241         Rename exitText to updateLeafTextNode.
242
243         * xml/parser/XMLDocumentParserLibxml2.cpp:
244         (WebCore::XMLDocumentParser::startElementNs):
245         (WebCore::XMLDocumentParser::endElementNs):
246         (WebCore::XMLDocumentParser::characters):
247         (WebCore::XMLDocumentParser::processingInstruction):
248         (WebCore::XMLDocumentParser::cdataBlock):
249         (WebCore::XMLDocumentParser::comment):
250         (WebCore::XMLDocumentParser::endDocument):
251         Rename function calls and firm up updateLeafTextNode stage accordingly.
252
253 2015-10-08  Chris Dumez  <cdumez@apple.com>
254
255         data: URLs should not be preloaded
256         https://bugs.webkit.org/show_bug.cgi?id=149829
257
258         Reviewed by Darin Adler.
259
260         Fix review comments after r190605:
261         Use protocolIs() instead of String::startsWith().
262
263         * html/parser/HTMLPreloadScanner.cpp:
264         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
265
266 2015-10-08  Chris Dumez  <cdumez@apple.com>
267
268         Revert r187626 (and r188025) as it caused a PLT regression
269         https://bugs.webkit.org/show_bug.cgi?id=149898
270         <rdar://problem/22657123>
271
272         Reviewed by Myles Maxfield.
273
274         * css/CSSPropertyNames.in:
275         * css/StyleBuilderCustom.h:
276         (WebCore::StyleBuilderCustom::applyValueWebkitLocale):
277         * platform/graphics/Font.cpp:
278         (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
279         (WebCore::CharacterFallbackMapKey::operator==):
280         (WebCore::CharacterFallbackMapKeyHash::hash):
281         (WebCore::Font::systemFallbackFontForCharacter):
282         * platform/graphics/FontCache.h:
283         (WebCore::FontDescriptionKey::operator==):
284         (WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
285         (WebCore::FontDescriptionKey::computeHash): Deleted.
286         * platform/graphics/FontDescription.cpp:
287         (WebCore::FontDescription::FontDescription):
288         (WebCore::FontDescription::traitsMask): Deleted.
289         (WebCore::FontCascadeDescription::FontCascadeDescription): Deleted.
290         * platform/graphics/FontDescription.h:
291         (WebCore::FontDescription::setScript):
292         (WebCore::FontDescription::operator==):
293         (WebCore::FontDescription::setFeatureSettings): Deleted.
294         (WebCore::FontCascadeDescription::initialVariantAlternates): Deleted.
295         * platform/graphics/cocoa/FontCacheCoreText.cpp:
296         (WebCore::FontCache::systemFallbackForCharacters):
297         * rendering/style/RenderStyle.cpp:
298         (WebCore::RenderStyle::changeRequiresLayout):
299         * rendering/style/RenderStyle.h:
300         * rendering/style/StyleRareInheritedData.cpp:
301         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
302         (WebCore::StyleRareInheritedData::operator==):
303         * rendering/style/StyleRareInheritedData.h:
304         * style/StyleResolveForDocument.cpp:
305         (WebCore::Style::resolveForDocument):
306
307 2015-10-08  Andreas Kling  <akling@apple.com>
308
309         Generated frame tree names should be kept reasonably long.
310         <https://webkit.org/b/149874>
311
312         Reviewed by Darin Adler.
313
314         Some clumsy advertising script is going around assigning JavaScript source code
315         to the "name" attribute of iframes. This is causing WebKit to generate way too huge
316         names for anonymous descendants of such iframes.
317
318         Previously, the generated name of an anonymous subframe would be its slash-separated
319         path from the root frame, with the "name" attribute of each ancestor between the
320         slashes, or "<!--frame${index in parent}-->" for anonymous ancestors.
321
322         These ad scripts are often over 100kB in size, with multiple subframes, so we'd end
323         up with frame names looking like this:
324
325         "<!--framePath //<MONSTER BLOB OF JAVASCRIPT FROM HELL>/<!--frame0--><!--frame0-->-->"
326
327         While this is worth fixing for the memory usage alone, we've been making it way
328         worse by also using these paths when recording the back/forward history parts of
329         WebKit session state.
330
331         This patch makes generated paths always use index-in-parent as the "directory name"
332         for ancestors of anonymous subframes. The above example path will now instead be:
333
334         "<!--framePath //<!--frame0-->/<!--frame0-->/<!--frame0-->-->"
335
336         Test: fast/frames/long-names-in-nested-subframes.html
337
338         * page/FrameTree.cpp:
339         (WebCore::FrameTree::indexInParent):
340         (WebCore::FrameTree::uniqueChildName):
341         * page/FrameTree.h:
342
343 2015-10-08  Commit Queue  <commit-queue@webkit.org>
344
345         Unreviewed, rolling out r190701.
346         https://bugs.webkit.org/show_bug.cgi?id=149937
347
348         "It did not help, will try a full roll out instead" (Requested
349         by cdumez on #webkit).
350
351         Reverted changeset:
352
353         "Partial revert of r187626 as it caused a PLT regression"
354         https://bugs.webkit.org/show_bug.cgi?id=149898
355         http://trac.webkit.org/changeset/190701
356
357 2015-10-08  Zalan Bujtas  <zalan@apple.com>
358
359         Fallback to the RenderView when repaint container is null.
360         https://bugs.webkit.org/show_bug.cgi?id=149903
361
362         Reviewed by Simon Fraser.
363
364         Reduces code complexity at the calling sites.
365
366         No change in functionality.
367
368         * rendering/RenderObject.cpp:
369         (WebCore::RenderObject::repaintUsingContainer):
370         (WebCore::RenderObject::repaint):
371         (WebCore::RenderObject::repaintRectangle):
372
373 2015-10-08  Jiewen Tan  <jiewen_tan@apple.com>
374
375         Add NULL check for renderBox::layer() on applying zoom level change
376         https://bugs.webkit.org/show_bug.cgi?id=149302
377         <rdar://problem/22747292>
378
379         Reviewed by Darin Adler.
380
381         Test: fast/css/zoom-on-nested-scroll-crash.html
382
383         This is a merge of Blink r158238:
384         https://chromiumcodereview.appspot.com/23526081
385
386         * rendering/RenderBox.cpp:
387         (WebCore::RenderBox::styleDidChange):
388
389 2015-10-08  Brady Eidson  <beidson@apple.com>
390
391         Update Inspector to only work with Legacy IDB (for now).
392         https://bugs.webkit.org/show_bug.cgi?id=149928.
393
394         Reviewed by Tim Horton.
395
396         * Modules/indexeddb/IDBAny.h:
397         (WebCore::IDBAny::isLegacy):
398         
399         * Modules/indexeddb/legacy/LegacyAny.h:
400         * inspector/InspectorIndexedDBAgent.cpp:
401
402 2015-10-08  Antti Koivisto  <antti@apple.com>
403
404         CrashTracer: [USER] com.apple.WebKit.WebContent at …Core::SelectorChecker::checkScrollbarPseudoClass const + 217
405         https://bugs.webkit.org/show_bug.cgi?id=149921
406         rdar://problem/22731359
407
408         Reviewed by Andreas Kling.
409
410         Test: svg/css/use-window-inactive-crash.html
411
412         * css/SelectorCheckerTestFunctions.h:
413         (WebCore::isWindowInactive):
414
415             Null check page.
416
417 2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>
418
419         Format string issues in LegacyRequest.cpp
420         https://bugs.webkit.org/show_bug.cgi?id=149866
421
422         Reviewed by Csaba Osztrogonác.
423
424         Cast enums to ints before printing them to placate GCC's -Wformat.
425
426         * Modules/indexeddb/legacy/LegacyRequest.cpp:
427         (WebCore::LegacyRequest::dispatchEvent):
428         (WebCore::LegacyRequest::enqueueEvent):
429
430 2015-10-08  Commit Queue  <commit-queue@webkit.org>
431
432         Unreviewed, rolling out r190716.
433         https://bugs.webkit.org/show_bug.cgi?id=149924
434
435         broke mac build from time to time (Requested by youenn on
436         #webkit).
437
438         Reverted changeset:
439
440         "Automate WebCore JS builtins generation and build system"
441         https://bugs.webkit.org/show_bug.cgi?id=149751
442         http://trac.webkit.org/changeset/190716
443
444 2015-10-08  Sergio Villar Senin  <svillar@igalia.com>
445
446         [css-grid] Percentages of indefinite sizes to be resolved as auto
447         https://bugs.webkit.org/show_bug.cgi?id=149810
448
449         Reviewed by Darin Adler.
450
451         Specs mention that percentages in grid track sizes must be
452         resolved as 'auto' if the grid container has an indefinite
453         size in the corresponding axis.
454
455         The 'auto' keyword used to be resolved as
456         minmax(min-content,max-content) but since r189911 it's
457         resolved as minmax(auto,auto). Updated the implementation so
458         we properly resolve those percentages.
459
460         No new tests as the behavior does not change at all. That's
461         because 'auto' as min-track sizing function is the same as
462         min-content (unless we have a specified value for
463         min-{width|height}, but those cases were already handled in the
464         code), and as a max sizing function is works as max-content.
465
466         * rendering/RenderGrid.cpp:
467         (WebCore::RenderGrid::gridTrackSize):
468
469 2015-10-08  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
470
471         Automate WebCore JS builtins generation and build system
472         https://bugs.webkit.org/show_bug.cgi?id=149751
473
474         Reviewed by Darin Adler.
475
476         Adding annotations to JS files to know whether they should be under a compilation flag and
477         whether they are JS internals or JS tied to WebIDL.
478         If a file is said as JS internals, all function names are exported automatically.
479         Added auto generation of WebCoreJSBuiltins.cpp
480         Added auto generation of JSBuiltinFunctions class inside WebCoreJSBuiltins that takes the role of
481         WebCoreJSClientData as wrapper for builtins.
482         Added auto generation of WebCoreJSBuiltinInternals.h which contain a wrapper around all private functions, used by
483         JSDOMWindowBase. The class is named JSBuiltinInternalFunctions.
484         Renamed WebCoreJSClientData to JSVMClientData.
485
486         The remaining manual part for private functions is the pairing between private identifiers and
487         the private JS functions within JSDOMWindowBase::finishCreation.
488
489         Covered by existing tests.
490
491         * CMakeLists.txt:
492         * DerivedSources.make:
493         * Modules/streams/ByteLengthQueuingStrategy.js:
494         * Modules/streams/CountQueuingStrategy.js:
495         * Modules/streams/ReadableStream.js:
496         * Modules/streams/ReadableStreamInternals.js:
497         * WebCore.order:
498         * WebCore.vcxproj/WebCore.vcxproj:
499         * WebCore.xcodeproj/project.pbxproj:
500         * bindings/js/DOMWrapperWorld.cpp:
501         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
502         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
503         (WebCore::normalWorld):
504         * bindings/js/JSDOMWindowBase.cpp:
505         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
506         (WebCore::JSDOMWindowBase::finishCreation):
507         (WebCore::JSDOMWindowBase::visitChildren):
508         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
509         * bindings/js/JSDOMWindowBase.h:
510         * bindings/js/ScriptController.cpp:
511         (WebCore::ScriptController::getAllWorlds):
512         * bindings/js/SerializedScriptValue.cpp:
513         (WebCore::SerializedScriptValue::transferArrayBuffers):
514         * bindings/js/WebCoreJSClientData.h:
515         (WebCore::JSClientData::JSClientData):
516         (WebCore::JSClientData::~JSClientData):
517         (WebCore::JSClientData::builtinFunctions):
518         (WebCore::initNormalWorldClientData):
519         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Deleted.
520         (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Deleted.
521         (WebCore::WebCoreJSClientData::readableStreamBuiltins): Deleted.
522         (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins): Deleted.
523         (WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins): Deleted.
524         (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins): Deleted.
525         (WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Deleted.
526         (WebCore::WebCoreJSClientData::countQueuingStrategyBuiltins): Deleted.
527         * generate-js-builtins-allinone: Added.
528         (retrieveGenerationParameters):
529         (retrieveFilesWithParameters):
530         (retrieveFilesWithParameters.FileInput):
531         (writeConditional):
532         (JSBuiltinFunctions):
533         (Private):
534         (JSBuiltinInternalFunctions):
535         (copytempfile):
536
537 2015-10-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>
538
539         Binding generated JS constructors should use GlobalObject references
540         https://bugs.webkit.org/show_bug.cgi?id=149872
541
542         Reviewed by Darin Adler.
543
544         Updated binding generator to generate JS DOM constructors code with JSDOMGlobalOBject references.
545         Updated WebCore JS binding layer accordingly.
546
547         Covered by updated binding tests.
548
549         * bindings/js/DOMConstructorWithDocument.h:
550         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
551         (WebCore::DOMConstructorWithDocument::finishCreation):
552         * bindings/js/JSDOMBinding.cpp:
553         (WebCore::getCachedDOMStructure):
554         (WebCore::cacheDOMStructure):
555         * bindings/js/JSDOMBinding.h:
556         (WebCore::DOMConstructorObject::DOMConstructorObject):
557         (WebCore::DOMConstructorJSBuiltinObject::DOMConstructorJSBuiltinObject):
558         (WebCore::getDOMStructure):
559         (WebCore::deprecatedGetDOMStructure):
560         (WebCore::getDOMPrototype):
561         (WebCore::createJSBuiltin):
562         (WebCore::createWrapper):
563         * bindings/js/JSDOMConstructor.h:
564         (WebCore::JSBuiltinConstructor::JSBuiltinConstructor):
565         * bindings/js/JSDOMGlobalObject.h:
566         (WebCore::getDOMConstructor):
567         * bindings/js/JSDOMWindowCustom.cpp:
568         (WebCore::JSDOMWindow::image):
569         (WebCore::JSDOMWindow::touch):
570         (WebCore::JSDOMWindow::touchList):
571         * bindings/js/JSDOMWrapper.h:
572         (WebCore::JSDOMWrapper::JSDOMWrapper):
573         (WebCore::JSDOMWrapperWithImplementation::JSDOMWrapperWithImplementation):
574         * bindings/js/JSImageConstructor.cpp:
575         (WebCore::JSImageConstructor::JSImageConstructor):
576         (WebCore::JSImageConstructor::finishCreation):
577         * bindings/js/JSImageConstructor.h:
578         (WebCore::JSImageConstructor::create):
579         (WebCore::JSImageConstructor::createStructure):
580         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
581         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject):
582         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject):
583         * bindings/scripts/CodeGeneratorJS.pm:
584         (GenerateHeader):
585         (GenerateImplementation):
586         (GenerateCallbackImplementation):
587         (GenerateConstructorDeclaration):
588         (GenerateConstructorHelperMethods):
589         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
590         (WebCore::JSTestActiveDOMObjectConstructor::create):
591         (WebCore::JSTestActiveDOMObjectConstructor::createStructure):
592         (WebCore::JSTestActiveDOMObjectConstructor::JSTestActiveDOMObjectConstructor):
593         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
594         (WebCore::JSTestActiveDOMObject::JSTestActiveDOMObject):
595         (WebCore::JSTestActiveDOMObject::getConstructor):
596         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
597         (WebCore::JSTestActiveDOMObject::create):
598         * bindings/scripts/test/JS/JSTestCallback.cpp:
599         (WebCore::JSTestCallbackConstructor::create):
600         (WebCore::JSTestCallbackConstructor::createStructure):
601         (WebCore::JSTestCallbackConstructor::JSTestCallbackConstructor):
602         (WebCore::JSTestCallback::getConstructor):
603         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
604         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
605         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::createStructure):
606         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::JSTestCustomConstructorWithNoInterfaceObjectConstructor):
607         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
608         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
609         (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
610         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
611         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::create):
612         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
613         (WebCore::JSTestCustomNamedGetterConstructor::create):
614         (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
615         (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
616         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
617         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
618         (WebCore::JSTestCustomNamedGetter::getConstructor):
619         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
620         (WebCore::JSTestCustomNamedGetter::create):
621         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
622         (WebCore::JSTestEventConstructorConstructor::create):
623         (WebCore::JSTestEventConstructorConstructor::createStructure):
624         (WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
625         (WebCore::JSTestEventConstructorConstructor::finishCreation):
626         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
627         (WebCore::JSTestEventConstructor::getConstructor):
628         * bindings/scripts/test/JS/JSTestEventConstructor.h:
629         (WebCore::JSTestEventConstructor::create):
630         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
631         (WebCore::JSTestEventTargetConstructor::create):
632         (WebCore::JSTestEventTargetConstructor::createStructure):
633         (WebCore::JSTestEventTargetConstructor::JSTestEventTargetConstructor):
634         (WebCore::JSTestEventTargetConstructor::finishCreation):
635         (WebCore::JSTestEventTarget::JSTestEventTarget):
636         (WebCore::JSTestEventTarget::getConstructor):
637         * bindings/scripts/test/JS/JSTestEventTarget.h:
638         (WebCore::JSTestEventTarget::create):
639         * bindings/scripts/test/JS/JSTestException.cpp:
640         (WebCore::JSTestExceptionConstructor::create):
641         (WebCore::JSTestExceptionConstructor::createStructure):
642         (WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
643         (WebCore::JSTestExceptionConstructor::finishCreation):
644         (WebCore::JSTestException::JSTestException):
645         (WebCore::JSTestException::getConstructor):
646         * bindings/scripts/test/JS/JSTestException.h:
647         (WebCore::JSTestException::create):
648         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
649         (WebCore::JSTestGenerateIsReachableConstructor::create):
650         (WebCore::JSTestGenerateIsReachableConstructor::createStructure):
651         (WebCore::JSTestGenerateIsReachableConstructor::JSTestGenerateIsReachableConstructor):
652         (WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
653         (WebCore::JSTestGenerateIsReachable::JSTestGenerateIsReachable):
654         (WebCore::JSTestGenerateIsReachable::getConstructor):
655         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
656         (WebCore::JSTestGenerateIsReachable::create):
657         * bindings/scripts/test/JS/JSTestInterface.cpp:
658         (WebCore::JSTestInterfaceConstructor::create):
659         (WebCore::JSTestInterfaceConstructor::createStructure):
660         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
661         (WebCore::JSTestInterfaceConstructor::finishCreation):
662         (WebCore::JSTestInterface::JSTestInterface):
663         (WebCore::JSTestInterface::getConstructor):
664         * bindings/scripts/test/JS/JSTestInterface.h:
665         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
666         (WebCore::JSTestJSBuiltinConstructorConstructor::create):
667         (WebCore::JSTestJSBuiltinConstructorConstructor::createStructure):
668         (WebCore::JSTestJSBuiltinConstructorConstructor::JSTestJSBuiltinConstructorConstructor):
669         (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
670         (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
671         (WebCore::JSTestJSBuiltinConstructor::getConstructor):
672         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
673         (WebCore::JSTestJSBuiltinConstructor::create):
674         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
675         (WebCore::JSTestMediaQueryListListenerConstructor::create):
676         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
677         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
678         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
679         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
680         (WebCore::JSTestMediaQueryListListener::getConstructor):
681         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
682         (WebCore::JSTestMediaQueryListListener::create):
683         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
684         (WebCore::JSTestNamedConstructorConstructor::create):
685         (WebCore::JSTestNamedConstructorConstructor::createStructure):
686         (WebCore::JSTestNamedConstructorNamedConstructor::create):
687         (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
688         (WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
689         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
690         (WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
691         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
692         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
693         (WebCore::JSTestNamedConstructor::getConstructor):
694         (WebCore::JSTestNamedConstructor::getNamedConstructor):
695         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
696         (WebCore::JSTestNamedConstructor::create):
697         * bindings/scripts/test/JS/JSTestNode.cpp:
698         (WebCore::JSTestNodeConstructor::create):
699         (WebCore::JSTestNodeConstructor::createStructure):
700         (WebCore::JSTestNodeConstructor::JSTestNodeConstructor):
701         (WebCore::JSTestNodeConstructor::finishCreation):
702         (WebCore::JSTestNode::JSTestNode):
703         (WebCore::JSTestNode::getConstructor):
704         * bindings/scripts/test/JS/JSTestNode.h:
705         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
706         (WebCore::JSTestNondeterministicConstructor::create):
707         (WebCore::JSTestNondeterministicConstructor::createStructure):
708         (WebCore::JSTestNondeterministicConstructor::JSTestNondeterministicConstructor):
709         (WebCore::JSTestNondeterministicConstructor::finishCreation):
710         (WebCore::JSTestNondeterministic::JSTestNondeterministic):
711         (WebCore::JSTestNondeterministic::getConstructor):
712         * bindings/scripts/test/JS/JSTestNondeterministic.h:
713         (WebCore::JSTestNondeterministic::create):
714         * bindings/scripts/test/JS/JSTestObj.cpp:
715         (WebCore::JSTestObjConstructor::create):
716         (WebCore::JSTestObjConstructor::createStructure):
717         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
718         (WebCore::JSTestObjConstructor::finishCreation):
719         (WebCore::JSTestObj::JSTestObj):
720         (WebCore::JSTestObj::getConstructor):
721         * bindings/scripts/test/JS/JSTestObj.h:
722         (WebCore::JSTestObj::create):
723         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
724         (WebCore::JSTestOverloadedConstructorsConstructor::create):
725         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
726         (WebCore::JSTestOverloadedConstructorsConstructor::JSTestOverloadedConstructorsConstructor):
727         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
728         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
729         (WebCore::JSTestOverloadedConstructors::getConstructor):
730         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
731         (WebCore::JSTestOverloadedConstructors::create):
732         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
733         (WebCore::JSTestOverrideBuiltinsConstructor::create):
734         (WebCore::JSTestOverrideBuiltinsConstructor::createStructure):
735         (WebCore::JSTestOverrideBuiltinsConstructor::JSTestOverrideBuiltinsConstructor):
736         (WebCore::JSTestOverrideBuiltinsConstructor::finishCreation):
737         (WebCore::JSTestOverrideBuiltins::JSTestOverrideBuiltins):
738         (WebCore::JSTestOverrideBuiltins::getConstructor):
739         * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
740         (WebCore::JSTestOverrideBuiltins::create):
741         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
742         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
743         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
744         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
745         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
746         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
747         (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
748         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
749         (WebCore::JSTestSerializedScriptValueInterface::create):
750         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
751         (WebCore::JSTestTypedefsConstructor::create):
752         (WebCore::JSTestTypedefsConstructor::createStructure):
753         (WebCore::JSTestTypedefsConstructor::JSTestTypedefsConstructor):
754         (WebCore::JSTestTypedefsConstructor::finishCreation):
755         (WebCore::JSTestTypedefs::JSTestTypedefs):
756         (WebCore::JSTestTypedefs::getConstructor):
757         * bindings/scripts/test/JS/JSTestTypedefs.h:
758         (WebCore::JSTestTypedefs::create):
759         * bindings/scripts/test/JS/JSattribute.cpp:
760         (WebCore::JSattributeConstructor::create):
761         (WebCore::JSattributeConstructor::createStructure):
762         (WebCore::JSattributeConstructor::JSattributeConstructor):
763         (WebCore::JSattributeConstructor::finishCreation):
764         (WebCore::JSattribute::JSattribute):
765         (WebCore::JSattribute::getConstructor):
766         * bindings/scripts/test/JS/JSattribute.h:
767         (WebCore::JSattribute::create):
768         * bindings/scripts/test/JS/JSreadonly.cpp:
769         (WebCore::JSreadonlyConstructor::create):
770         (WebCore::JSreadonlyConstructor::createStructure):
771         (WebCore::JSreadonlyConstructor::JSreadonlyConstructor):
772         (WebCore::JSreadonlyConstructor::finishCreation):
773         (WebCore::JSreadonly::JSreadonly):
774         (WebCore::JSreadonly::getConstructor):
775         * bindings/scripts/test/JS/JSreadonly.h:
776         (WebCore::JSreadonly::create):
777
778 2015-10-08  Philippe Normand  <pnormand@igalia.com>
779
780         WebRTC: Add event names needed by updated RTCPeerConnection
781         https://bugs.webkit.org/show_bug.cgi?id=149875
782
783         Reviewed by Eric Carlson.
784
785         The track event name was recently added in the WebRTC spec. The
786         icegatheringstatechange event has been part of the spec for a while but
787         was not registered in our DOM events.
788
789         * dom/EventNames.h: Add track and icegatheringstatechange even names.
790
791 2015-10-07  Keith Rollin  <krollin@apple.com>
792
793         script.text shouldn't include text from non-direct children of the script element
794         https://bugs.webkit.org/show_bug.cgi?id=148851
795         <rdar://problem/22587759>
796
797         Reviewed by Chris Dumez.
798
799         Don't include text from non-direct children in script.text. Per:
800         https://html.spec.whatwg.org/multipage/scripting.html#dom-script-text
801         Chrome and Firefox behavior match the spec.
802
803         Test: fast/dom/script-subtext-in-script-elements.html
804
805         * dom/ScriptElement.cpp:
806         (WebCore::ScriptElement::scriptContent):
807
808 2015-10-07  Chris Dumez  <cdumez@apple.com>
809
810         Partial revert of r187626 as it caused a PLT regression
811         https://bugs.webkit.org/show_bug.cgi?id=149898
812
813         Reviewed by Myles C. Maxfield.
814
815         Do a partial revert of r187626 as it caused a regression on PLT.
816
817         * platform/graphics/FontCache.h:
818         (WebCore::FontDescriptionKey::operator==):
819         (WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
820         (WebCore::FontDescriptionKey::computeHash): Deleted.
821
822 2015-10-07  Zalan Bujtas  <zalan@apple.com>
823
824         RenderObject::computeRectForRepaint/computeFloatRectForRepaint should return the computed rectangle.
825         https://bugs.webkit.org/show_bug.cgi?id=149883
826
827         Reviewed by Simon Fraser.
828
829         Reduces code complexity at the calling sites.
830  
831         No change in functionality.
832
833         * rendering/RenderBox.cpp:
834         (WebCore::RenderBox::clippedOverflowRectForRepaint):
835         (WebCore::RenderBox::computeRectForRepaint):
836         * rendering/RenderBox.h:
837         * rendering/RenderInline.cpp:
838         (WebCore::RenderInline::clippedOverflowRectForRepaint):
839         (WebCore::RenderInline::computeRectForRepaint):
840         * rendering/RenderInline.h:
841         * rendering/RenderListMarker.cpp:
842         (WebCore::RenderListMarker::selectionRectForRepaint):
843         * rendering/RenderObject.cpp:
844         (WebCore::RenderObject::repaintRectangle):
845         (WebCore::RenderObject::computeRectForRepaint):
846         (WebCore::RenderObject::computeFloatRectForRepaint):
847         * rendering/RenderObject.h:
848         (WebCore::RenderObject::computeAbsoluteRepaintRect):
849         * rendering/RenderReplaced.cpp:
850         (WebCore::RenderReplaced::selectionRectForRepaint):
851         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
852         * rendering/RenderTableCell.cpp:
853         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
854         (WebCore::RenderTableCell::computeRectForRepaint):
855         * rendering/RenderTableCell.h:
856         * rendering/RenderText.cpp:
857         (WebCore::RenderText::collectSelectionRectsForLineBoxes):
858         * rendering/RenderView.cpp:
859         (WebCore::RenderView::computeRectForRepaint):
860         * rendering/RenderView.h:
861         * rendering/svg/RenderSVGForeignObject.cpp:
862         (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
863         (WebCore::RenderSVGForeignObject::computeRectForRepaint):
864         * rendering/svg/RenderSVGForeignObject.h:
865         * rendering/svg/RenderSVGInline.cpp:
866         (WebCore::RenderSVGInline::computeFloatRectForRepaint):
867         * rendering/svg/RenderSVGInline.h:
868         * rendering/svg/RenderSVGModelObject.cpp:
869         (WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
870         * rendering/svg/RenderSVGModelObject.h:
871         * rendering/svg/RenderSVGRoot.cpp:
872         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
873         * rendering/svg/RenderSVGRoot.h:
874         * rendering/svg/RenderSVGText.cpp:
875         (WebCore::RenderSVGText::computeRectForRepaint):
876         (WebCore::RenderSVGText::computeFloatRectForRepaint):
877         * rendering/svg/RenderSVGText.h:
878         * rendering/svg/SVGRenderSupport.cpp:
879         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
880         (WebCore::SVGRenderSupport::computeFloatRectForRepaint):
881         * rendering/svg/SVGRenderSupport.h:
882
883 2015-10-07  Antti Koivisto  <antti@apple.com>
884
885         Implement :host pseudo class
886         https://bugs.webkit.org/show_bug.cgi?id=149440
887         rdar://problem/22731953
888
889         Reviewed by Ryosuke Niwa.
890
891         This implements the basic non-function :host syntax.
892
893         * css/CSSSelector.cpp:
894         (WebCore::CSSSelector::selectorText):
895         * css/CSSSelector.h:
896         * css/ElementRuleCollector.cpp:
897         (WebCore::ElementRuleCollector::matchAuthorRules):
898         (WebCore::ElementRuleCollector::matchHostPseudoClassRules):
899         (WebCore::ElementRuleCollector::matchUserRules):
900         * css/ElementRuleCollector.h:
901         * css/RuleSet.cpp:
902         (WebCore::computeMatchBasedOnRuleHash):
903         (WebCore::RuleSet::addRule):
904         * css/RuleSet.h:
905         (WebCore::RuleSet::cuePseudoRules):
906         (WebCore::RuleSet::hostPseudoClassRules):
907         (WebCore::RuleSet::focusPseudoClassRules):
908         (WebCore::RuleSet::universalRules):
909         * css/SelectorChecker.cpp:
910         (WebCore::SelectorChecker::checkOne):
911         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
912         * cssjit/SelectorCompiler.cpp:
913         (WebCore::SelectorCompiler::addPseudoClassType):
914
915 2015-10-07  Nan Wang  <n_wang@apple.com>
916
917         AX: ARIA 1.1 @aria-placeholder
918         https://bugs.webkit.org/show_bug.cgi?id=148970
919
920         Reviewed by Chris Fleizach.
921
922         Added support for aria-placeholder attribute.
923
924         Modified accessibility/placeholder.html test.
925
926         * accessibility/AccessibilityObject.cpp:
927         (WebCore::AccessibilityObject::placeholderValue):
928         * html/HTMLAttributeNames.in:
929
930 2015-10-07  Commit Queue  <commit-queue@webkit.org>
931
932         Unreviewed, rolling out r190664.
933         https://bugs.webkit.org/show_bug.cgi?id=149877
934
935         mac build is sometimes borken due to missing generated header
936         file (Requested by youenn on #webkit).
937
938         Reverted changeset:
939
940         "Automate WebCore JS builtins generation and build system"
941         https://bugs.webkit.org/show_bug.cgi?id=149751
942         http://trac.webkit.org/changeset/190664
943
944 2015-10-06  Simon Fraser  <simon.fraser@apple.com>
945
946         will-change should trigger stacking context based purely on properties
947         https://bugs.webkit.org/show_bug.cgi?id=148068
948
949         Reviewed by Zalan Bujtas.
950
951         Previously, our will-change implementation didn't trigger stacking context
952         on an inline if the will-change property didn't apply to inlines (like 'transform').
953         However, this doesn't agree with the CSS-WG consensus (https://lists.w3.org/Archives/Public/www-style/2015Sep/0112.html).
954         
955         Change behavior to have stacking context creation behavior for will-change be
956         identical for inlines and blocks.
957
958         Test: fast/css/will-change/will-change-creates-stacking-context-inline.html
959
960         * rendering/RenderInline.cpp:
961         (WebCore::inFlowPositionedInlineAncestor):
962         * rendering/RenderInline.h:
963         (WebCore::RenderInline::willChangeCreatesStackingContext):
964         * rendering/style/WillChangeData.cpp:
965         (WebCore::propertyCreatesStackingContext):
966         (WebCore::WillChangeData::addFeature):
967         (WebCore::propertyCreatesStackingContextOnBoxesOnly): Deleted.
968         * rendering/style/WillChangeData.h:
969         (WebCore::WillChangeData::canCreateStackingContextOnInline): Deleted.
970
971 2015-10-07  Javier Fernandez  <jfernandez@igalia.com>
972
973         [CSS Grid Layout] Modify grid item height doesn't work
974         https://bugs.webkit.org/show_bug.cgi?id=149840
975
976         Reviewed by Sergio Villar Senin.
977
978         When computing the logical height of content-sized grid tracks we
979         need to clear grid item's override height if it needs to be laid
980         out again.
981
982         Currently we are doing so only in the case of percentage heights
983         or when the grid track's width has changed; these situations would
984         obviously mark grid items as needing layout.
985
986         However, there are other situations, like the one defined in this
987         bug, which would imply a new layout of the grid items; hence we
988         need to clear its override value if we want the layout logic to be
989         computed correctly.
990
991         * rendering/RenderGrid.cpp:
992         (WebCore::RenderGrid::logicalContentHeightForChild):
993
994 2015-10-07  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
995
996         Automate WebCore JS builtins generation and build system
997         https://bugs.webkit.org/show_bug.cgi?id=149751
998
999         Reviewed by Darin Adler.
1000
1001         Adding annotations to JS files to know whether they should be under a compilation flag and
1002         whether they are JS internals or JS tied to WebIDL.
1003         If a file is said as JS internals, all function names are exported automatically.
1004         Added auto generation of WebCoreJSBuiltins.cpp
1005         Added auto generation of JSBuiltinFunctions class inside WebCoreJSBuiltins that takes the role of
1006         WebCoreJSClientData as wrapper for builtins. Renamed WebCoreJSClientData to JSClientData.
1007         Added auto generation of PrivateWebCoreJSBuiltins that is a wrapper around all private functions, used by
1008         JSDOMWindowBase. The class is named JSBuiltinInternalFunctions.
1009
1010         The remaining manual part for private functions is the pairing between private identifiers and
1011         the private JS functions within JSDOMWindowBase::finishCreation.
1012
1013         Covered by existing tests.
1014
1015         * CMakeLists.txt:
1016         * DerivedSources.make:
1017         * Modules/streams/ByteLengthQueuingStrategy.js:
1018         * Modules/streams/CountQueuingStrategy.js:
1019         * Modules/streams/ReadableStream.js:
1020         * Modules/streams/ReadableStreamInternals.js:
1021         * WebCore.order:
1022         * WebCore.vcxproj/WebCore.vcxproj:
1023         * WebCore.xcodeproj/project.pbxproj:
1024         * bindings/js/DOMWrapperWorld.cpp:
1025         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1026         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1027         (WebCore::normalWorld):
1028         * bindings/js/JSDOMWindowBase.cpp:
1029         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1030         (WebCore::JSDOMWindowBase::finishCreation):
1031         (WebCore::JSDOMWindowBase::visitChildren):
1032         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
1033         * bindings/js/JSDOMWindowBase.h:
1034         * bindings/js/ScriptController.cpp:
1035         (WebCore::ScriptController::getAllWorlds):
1036         * bindings/js/SerializedScriptValue.cpp:
1037         (WebCore::SerializedScriptValue::transferArrayBuffers):
1038         * bindings/js/WebCoreJSClientData.h:
1039         (WebCore::JSClientData::JSClientData):
1040         (WebCore::JSClientData::~JSClientData):
1041         (WebCore::JSClientData::builtinFunctions):
1042         (WebCore::initNormalWorldClientData):
1043         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Deleted.
1044         (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Deleted.
1045         (WebCore::WebCoreJSClientData::readableStreamBuiltins): Deleted.
1046         (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins): Deleted.
1047         (WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins): Deleted.
1048         (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins): Deleted.
1049         (WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Deleted.
1050         (WebCore::WebCoreJSClientData::countQueuingStrategyBuiltins): Deleted.
1051         * generate-js-builtins-allinone: Added.
1052         (retrieveGenerationParameters):
1053         (retrieveFilesWithParameters):
1054         (retrieveFilesWithParameters.FileInput):
1055         (writeConditional):
1056         (JSBuiltinFunctions):
1057         (Private):
1058         (JSBuiltinInternalFunctions):
1059         (copytempfile):
1060
1061 2015-10-05  Sergio Villar Senin  <svillar@igalia.com>
1062
1063         [css-grid] Implement grid gutters
1064         https://bugs.webkit.org/show_bug.cgi?id=149800
1065
1066         Reviewed by Darin Adler.
1067
1068         Authors can now specify the gutters between grid lines, i.e.,
1069         the space between two consecutive grid lines. This can be done
1070         using the new '-webkit-grid-column-gap 'and
1071         '-webkit-grid-row-gap' properties (or the '-webkit-grid-gap'
1072         shorthand).
1073
1074         From the track sizing algorithm POV, gutters are treated as
1075         fixed size columns. The primary consequence is that grids are
1076         enlarged (depending on the number of tracks). Gutters also
1077         affect the sizing of content-sized tracks and fr tracks as
1078         long as the grid have spanning items. Those tracks will become
1079         smaller as gutters will consume part of the item's size, so
1080         the tracks won't need to grow as much as they used to.
1081
1082         Tests: fast/css-grid-layout/grid-gutters-and-alignment.html
1083                fast/css-grid-layout/grid-gutters-and-flex-content.html
1084                fast/css-grid-layout/grid-gutters-and-tracks.html
1085                fast/css-grid-layout/grid-gutters-get-set.html
1086
1087         * css/CSSComputedStyleDeclaration.cpp:
1088         (WebCore::valueForGridTrackList):
1089         (WebCore::ComputedStyleExtractor::propertyValue):
1090         * css/CSSParser.cpp:
1091         (WebCore::isSimpleLengthPropertyID):
1092         (WebCore::CSSParser::parseValue):
1093         (WebCore::CSSParser::parseGridGapShorthand):
1094         * css/CSSParser.h:
1095         * css/CSSPropertyNames.in:
1096         * rendering/RenderGrid.cpp:
1097         (WebCore::RenderGrid::guttersSize):
1098         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
1099         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1100         (WebCore::RenderGrid::layoutGridItems):
1101         (WebCore::RenderGrid::gridAreaBreadthForChild):
1102         (WebCore::RenderGrid::populateGridPositions):
1103         (WebCore::RenderGrid::columnAxisOffsetForChild):
1104         (WebCore::RenderGrid::rowAxisOffsetForChild):
1105         * rendering/RenderGrid.h:
1106         * rendering/style/RenderStyle.h:
1107         * rendering/style/StyleGridData.cpp:
1108         (WebCore::StyleGridData::StyleGridData):
1109         * rendering/style/StyleGridData.h:
1110         (WebCore::StyleGridData::operator==):
1111
1112 2015-10-07  ChangSeok Oh  <changseok.oh@collabora.com>
1113
1114         [GTK] Progress bar is broken on recent GTK+
1115         https://bugs.webkit.org/show_bug.cgi?id=149831
1116
1117         Reviewed by Carlos Garcia Campos.
1118
1119         The gtk progress bar has been broken after bumping up to Gtk+-3.16. This is because
1120         the way of rendering progress bar changed after gtk+-3.13.7. See more
1121         https://mail.gnome.org/archives/commits-list/2014-August/msg03865.html
1122         gtk_render_activity is no longer valid to paint a progress bar on a newer gtk+.
1123         It should be done with gtk_render_background and gtk_render_frame.
1124
1125         Test: fast/dom/HTMLProgressElement/native-progress-bar.html
1126
1127         * rendering/RenderThemeGtk.cpp:
1128         (WebCore::RenderThemeGtk::paintProgressBar):
1129
1130 2015-10-06  Michael Catanzaro  <mcatanzaro@igalia.com>
1131
1132         [GTK] Add autocleanups
1133         https://bugs.webkit.org/show_bug.cgi?id=149588
1134
1135         Reviewed by Darin Adler.
1136
1137         * PlatformGTK.cmake:
1138         * bindings/scripts/gobject-generate-headers.pl:
1139
1140 2015-10-06  Zalan Bujtas  <zalan@apple.com>
1141
1142         Paint artifacts when hovering on http://jsfiddle.net/Sherbrow/T87Mn/
1143         https://bugs.webkit.org/show_bug.cgi?id=149535
1144         rdar://problem/22874920
1145
1146         Reviewed by Simon Fraser.
1147
1148         When due to some style change, a renderer's self-painting layer is getting destroyed 
1149         and the parent's overflow is no longer set to visible, we don't clean up the overflow part.
1150
1151         When a renderer has a self-painting layer, the parent stops tracking the child's 
1152         visual overflow rect. All overflow painting is delegated to the self-painting layer.
1153         However when this layer gets destroyed, no-one issues repaint to clean up
1154         the overflow bits.
1155         This patch ensures that we issue a repaint when the self-painting layer is destroyed
1156         and the triggering style change requires full repaint.
1157
1158         Test: fast/repaint/overflow-hidden-with-self-painting-child-layer.html
1159
1160         * rendering/RenderLayer.h:
1161         * rendering/RenderLayerModelObject.cpp:
1162         (WebCore::RenderLayerModelObject::styleDidChange):
1163
1164 2015-10-06  Jer Noble  <jer.noble@apple.com>
1165
1166         [Mac] REGRESSION(r173318): Seeks never complete for media loaded with QTKit.
1167         https://bugs.webkit.org/show_bug.cgi?id=149845
1168
1169         Reviewed by Darin Adler.
1170
1171         When converting from time-as-double to MediaTime, a regression was introduced
1172         when checking whether m_seekTo was set to a valid value or not. The clause
1173         `time != -1` should be translated to `time.isValid()`, not `!time.isValid()`.
1174
1175         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1176         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1177
1178 2015-10-06  Brady Eidson  <beidson@apple.com>
1179
1180         Rename IDBRequestIdentifier to IDBResourceIdentifier.
1181         https://bugs.webkit.org/show_bug.cgi?id=149861
1182
1183         Reviewed by Alex Christensen.
1184
1185         No new tests (No change in behavior).
1186
1187         Turns out having an object representing a (connection ID + unique ID pair) is useful for more than just IDBRequests.
1188
1189         * CMakeLists.txt:
1190         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
1191         (WebCore::IDBClient::IDBConnectionToServer::deleteDatabase):
1192         (WebCore::IDBClient::IDBConnectionToServer::openDatabase):
1193         * Modules/indexeddb/client/IDBConnectionToServer.h:
1194         * Modules/indexeddb/client/IDBRequestImpl.cpp:
1195         (WebCore::IDBClient::IDBRequest::IDBRequest):
1196         * Modules/indexeddb/client/IDBRequestImpl.h:
1197         (WebCore::IDBClient::IDBRequest::resourceIdentifier):
1198         (WebCore::IDBClient::IDBRequest::requestIdentifier): Deleted.
1199         * Modules/indexeddb/shared/IDBRequestData.h:
1200         (WebCore::IDBRequestData::requestIdentifier):
1201         * Modules/indexeddb/shared/IDBResourceIdentifier.cpp: Renamed from Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.cpp.
1202         (WebCore::nextResourceNumber):
1203         (WebCore::IDBResourceIdentifier::IDBResourceIdentifier):
1204         (WebCore::IDBResourceIdentifier::emptyValue):
1205         (WebCore::IDBResourceIdentifier::deletedValue):
1206         (WebCore::IDBResourceIdentifier::isHashTableDeletedValue):
1207         * Modules/indexeddb/shared/IDBResourceIdentifier.h: Renamed from Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h.
1208         (WebCore::IDBResourceIdentifier::isEmpty):
1209         (WebCore::IDBResourceIdentifier::hash):
1210         (WebCore::IDBResourceIdentifier::operator==):
1211         (WebCore::IDBResourceIdentifier::connectionIdentifier):
1212         (WebCore::IDBResourceIdentifierHash::hash):
1213         (WebCore::IDBResourceIdentifierHash::equal):
1214         (WebCore::IDBResourceIdentifierHashTraits::emptyValue):
1215         (WebCore::IDBResourceIdentifierHashTraits::isEmptyValue):
1216         (WebCore::IDBResourceIdentifierHashTraits::constructDeletedValue):
1217         (WebCore::IDBResourceIdentifierHashTraits::isDeletedValue):
1218         * Modules/indexeddb/shared/IDBResultData.cpp:
1219         (WebCore::IDBResultData::IDBResultData):
1220         * Modules/indexeddb/shared/IDBResultData.h:
1221         (WebCore::IDBResultData::requestIdentifier):
1222         * WebCore.xcodeproj/project.pbxproj:
1223
1224 2015-10-06  Nan Wang  <n_wang@apple.com>
1225
1226         AX: ARIA 1.1: aria-orientation now defaults to undefined, supported on more elements, and role-specific defaults are defined.
1227         https://bugs.webkit.org/show_bug.cgi?id=132177
1228
1229         Reviewed by Chris Fleizach.
1230
1231         Added role-specific defaults and changed general default to undefined.
1232         Also added more elements to support aria-orientation on Mac.
1233
1234         Test: accessibility/mac/aria-orientation.html
1235
1236         * accessibility/AccessibilityObject.cpp:
1237         (WebCore::AccessibilityObject::orientation):
1238         (WebCore::AccessibilityObject::isDescendantOfObject):
1239         * accessibility/AccessibilityObject.h:
1240         (WebCore::AccessibilityObject::isColorWell):
1241         (WebCore::AccessibilityObject::isSplitter):
1242         (WebCore::AccessibilityObject::isToolbar):
1243         (WebCore::AccessibilityObject::isChecked):
1244         (WebCore::AccessibilityObject::isEnabled):
1245         * accessibility/AccessibilityRenderObject.cpp:
1246         (WebCore::AccessibilityRenderObject::orientation):
1247         * accessibility/AccessibilityScrollView.cpp:
1248         (WebCore::AccessibilityScrollView::scrollBar):
1249         * accessibility/AccessibilityScrollbar.cpp:
1250         (WebCore::AccessibilityScrollbar::orientation):
1251         (WebCore::AccessibilityScrollbar::isEnabled):
1252         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1253         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1254         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1255
1256 2015-10-06  Per Arne Vollan  <peavo@outlook.com>
1257
1258         [WinCairo] GStreamer compile errors.
1259         https://bugs.webkit.org/show_bug.cgi?id=149839
1260
1261         Reviewed by Alex Christensen.
1262
1263         Help MSVC to resolve ambiguous calls.
1264
1265         * platform/graphics/MediaPlayer.h:
1266         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1267         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
1268         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
1269         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
1270         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1271         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1272         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
1273         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
1274         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1275         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
1276         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
1277         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
1278         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1279         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
1280         (WebCore::MediaPlayerPrivateGStreamerBase::networkState):
1281         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
1282         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1283         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
1284         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
1285         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):
1286         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1287         (webkitVideoSinkRender):
1288         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1289         (webKitWebSrcChangeState):
1290         (webKitWebSrcNeedDataCb):
1291         (webKitWebSrcEnoughDataMainCb):
1292         (webKitWebSrcEnoughDataCb):
1293         (webKitWebSrcSeekMainCb):
1294         (webKitWebSrcSeekDataCb):
1295
1296 2015-10-06  Chris Dumez  <cdumez@apple.com>
1297
1298         Refactor TokenPreloadScanner::StartTagScanner::processAttribute()
1299         https://bugs.webkit.org/show_bug.cgi?id=149847
1300
1301         Reviewed by Antti Koivisto.
1302
1303         Refactor TokenPreloadScanner::StartTagScanner::processAttribute() to only
1304         process attributes that make sense given the current tagId. In particular,
1305         - We only process the charset parameter if the tag is a link or a script.
1306         - We only process the sizes / srcset attributes if the tag is an img.
1307
1308         * html/parser/HTMLPreloadScanner.cpp:
1309         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
1310         (WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): Deleted.
1311
1312 2015-10-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1313
1314         Binding generator XXConstructor::finishCreation should take references as parameters
1315         https://bugs.webkit.org/show_bug.cgi?id=149838
1316
1317         Reviewed by Darin Adler.
1318
1319         Updated the binding generator so that XXConstructor::finishCreation
1320         takes a JSDOMGlobalObject& in lieu of a JSDOMGlobalObject*.
1321
1322         Covered by rebased binding tests.
1323
1324         * bindings/scripts/CodeGeneratorJS.pm:
1325         (GenerateConstructorDeclaration):
1326         (GenerateConstructorHelperMethods):
1327         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1328         (WebCore::JSTestActiveDOMObjectConstructor::create):
1329         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
1330         * bindings/scripts/test/JS/JSTestCallback.cpp:
1331         (WebCore::JSTestCallbackConstructor::create):
1332         (WebCore::JSTestCallbackConstructor::finishCreation):
1333         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1334         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
1335         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
1336         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1337         (WebCore::JSTestCustomNamedGetterConstructor::create):
1338         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
1339         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1340         (WebCore::JSTestEventConstructorConstructor::create):
1341         (WebCore::JSTestEventConstructorConstructor::finishCreation):
1342         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1343         (WebCore::JSTestEventTargetConstructor::create):
1344         (WebCore::JSTestEventTargetConstructor::finishCreation):
1345         * bindings/scripts/test/JS/JSTestException.cpp:
1346         (WebCore::JSTestExceptionConstructor::create):
1347         (WebCore::JSTestExceptionConstructor::finishCreation):
1348         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1349         (WebCore::JSTestGenerateIsReachableConstructor::create):
1350         (WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
1351         * bindings/scripts/test/JS/JSTestInterface.cpp:
1352         (WebCore::JSTestInterfaceConstructor::create):
1353         (WebCore::JSTestInterfaceConstructor::finishCreation):
1354         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
1355         (WebCore::JSTestJSBuiltinConstructorConstructor::create):
1356         (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
1357         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1358         (WebCore::JSTestMediaQueryListListenerConstructor::create):
1359         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
1360         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1361         (WebCore::JSTestNamedConstructorConstructor::create):
1362         (WebCore::JSTestNamedConstructorNamedConstructor::create):
1363         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
1364         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
1365         * bindings/scripts/test/JS/JSTestNode.cpp:
1366         (WebCore::JSTestNodeConstructor::create):
1367         (WebCore::JSTestNodeConstructor::finishCreation):
1368         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
1369         (WebCore::JSTestNondeterministicConstructor::create):
1370         (WebCore::JSTestNondeterministicConstructor::finishCreation):
1371         * bindings/scripts/test/JS/JSTestObj.cpp:
1372         (WebCore::JSTestObjConstructor::create):
1373         (WebCore::JSTestObjConstructor::finishCreation):
1374         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1375         (WebCore::JSTestOverloadedConstructorsConstructor::create):
1376         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
1377         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
1378         (WebCore::JSTestOverrideBuiltinsConstructor::create):
1379         (WebCore::JSTestOverrideBuiltinsConstructor::finishCreation):
1380         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1381         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
1382         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
1383         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1384         (WebCore::JSTestTypedefsConstructor::create):
1385         (WebCore::JSTestTypedefsConstructor::finishCreation):
1386         * bindings/scripts/test/JS/JSattribute.cpp:
1387         (WebCore::JSattributeConstructor::create):
1388         (WebCore::JSattributeConstructor::finishCreation):
1389         * bindings/scripts/test/JS/JSreadonly.cpp:
1390         (WebCore::JSreadonlyConstructor::create):
1391         (WebCore::JSreadonlyConstructor::finishCreation):
1392
1393 2015-10-06  Jiewen Tan  <jiewen_tan@apple.com>
1394
1395         Fix crash in ApplyStyleCommand::applyRelativeFontStyleChange()
1396         https://bugs.webkit.org/show_bug.cgi?id=149300
1397         <rdar://problem/22747046>
1398
1399         Reviewed by Chris Dumez.
1400
1401         This is a merge of Blink r167845 and r194944:
1402         https://codereview.chromium.org/177093016
1403         https://codereview.chromium.org/1124863003
1404
1405         Test: editing/style/apply-style-crash2.html
1406               editing/style/apply-style-crash3.html
1407
1408         * editing/ApplyStyleCommand.cpp:
1409         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1410         The issue was that we would traverse the DOM tree past the beyondEnd 
1411         under some circumstances and thus NodeTraversal::next() would return 
1412         null unexpectedly. This CL adds a check to make sure startNode != beyondEnd 
1413         before traversing to avoid the problem.
1414
1415         Besides that, this CL hardens changing font style over unknown elements.
1416         When adjusting the start node position of where to apply a font style
1417         command, check that we haven't stepped off the end.
1418
1419         This CL also adds a few more assertions to catch similar issues 
1420         more easily in the future.
1421
1422 2015-10-06  Javier Fernandez  <jfernandez@igalia.com>
1423
1424         [CSS Grid Layout] Don't need to reset auto-margins during grid items layout
1425         https://bugs.webkit.org/show_bug.cgi?id=149764
1426
1427         Reviewed by Darin Adler.
1428
1429         This patch implements a refactoring of the auto-margin alignment code for grid
1430         items so it uses start/end and before/after margin logic terms.
1431
1432         I addition, it avoids resetting the auto-margin values, which requires an extra
1433         layout, before applying the alignment logic.
1434
1435         No new tests because there is no behavior change.
1436
1437         * rendering/RenderGrid.cpp:
1438         (WebCore::RenderGrid::computeMarginLogicalHeightForChild): Computing margins if child needs layout.
1439         (WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
1440         (WebCore::RenderGrid::updateAutoMarginsInRowAxisIfNeeded): Using start/end logical margins.
1441         (WebCore::RenderGrid::updateAutoMarginsInColumnAxisIfNeeded): Using before/after logical margins.
1442         (WebCore::RenderGrid::columnAxisOffsetForChild): Just added comment.
1443         (WebCore::RenderGrid::rowAxisOffsetForChild): Just added comment.
1444
1445 2015-10-06  Tim Horton  <timothy_horton@apple.com>
1446
1447         Tile map shows a green rect when threaded scrolling is disabled
1448         https://bugs.webkit.org/show_bug.cgi?id=149716
1449
1450         Reviewed by Darin Adler.
1451
1452         Green is supposed to indicate that we're using the fast path; if threaded
1453         scrolling is disabled, we're definitely not doing that.
1454
1455         * platform/graphics/TiledBacking.h:
1456         * platform/graphics/ca/TileController.cpp:
1457         (WebCore::TileController::TileController):
1458         * platform/graphics/ca/TileCoverageMap.cpp:
1459         (WebCore::TileCoverageMap::update):
1460         Default to the "we have no ScrollingCoordinator" purple indication;
1461         if a ScrollingCoordinator comes along it will setScrollingModeIndication
1462         and change it from this default.
1463
1464 2015-10-06  Zalan Bujtas  <zalan@apple.com>
1465
1466         Remove redundant isComposited() function and replace
1467         hasLayer() && layer()->isComposited() with RenderObject::isComposited().
1468         https://bugs.webkit.org/show_bug.cgi?id=149846
1469
1470         Reviewed by Simon Fraser.
1471
1472         No change in functionality.
1473
1474         * rendering/RenderLayerCompositor.cpp:
1475         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
1476         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
1477         * rendering/RenderObject.cpp:
1478         (WebCore::RenderObject::repaintUsingContainer):
1479         * rendering/RenderThemeMac.mm:
1480         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
1481         * rendering/RenderView.cpp:
1482         (WebCore::rendererObscuresBackground):
1483         (WebCore::isComposited): Deleted.
1484         * rendering/RenderWidget.cpp:
1485         (WebCore::RenderWidget::setWidgetGeometry):
1486
1487 2015-10-06  Commit Queue  <commit-queue@webkit.org>
1488
1489         Unreviewed, rolling out r190619.
1490         https://bugs.webkit.org/show_bug.cgi?id=149849
1491
1492         borke the binding tests on iOS at least (Requested by youenn
1493         on #webkit).
1494
1495         Reverted changeset:
1496
1497         "Binding generator XXConstructor::finishCreation should take
1498         references as parameters"
1499         https://bugs.webkit.org/show_bug.cgi?id=149838
1500         http://trac.webkit.org/changeset/190619
1501
1502 2015-10-05  Wenson Hsieh  <wenson_hsieh@apple.com>
1503
1504         Slider knobs should scale when rendering while zoomed
1505         https://bugs.webkit.org/show_bug.cgi?id=149835
1506         <rdar://problem/22897080>
1507
1508         Reviewed by Darin Adler.
1509
1510         Make slider knobs follow suit with the rest of the unscaled form controls
1511         by rendering to an offscreen buffer when the page is zoomed or scaled and
1512         then rendering a scaled version of the offscreen buffer onto the page.
1513
1514         * platform/mac/ThemeMac.mm:
1515         (WebCore::drawCellOrFocusRingIntoRectWithView): Helper function for drawing
1516             cells and/or focus rings.
1517         (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): Refactored to
1518             handle drawing slider knobs as well.
1519         * rendering/RenderThemeMac.mm:
1520         (WebCore::RenderThemeMac::paintSliderThumb): Use scaled rendering when necessary.
1521
1522 2015-10-06  Chris Dumez  <cdumez@apple.com>
1523
1524         [Web IDL] 'length' property is wrong for variadic operations
1525         https://bugs.webkit.org/show_bug.cgi?id=149714
1526
1527         Reviewed by Darin Adler.
1528
1529         The value of the 'length' property was wrong for variadic operations:
1530         - https://heycam.github.io/webidl/#dfn-optional-argument
1531
1532         The final argument of a variadic operation is considered to be an
1533         optional argument. Therefore, we should not account for it when
1534         computing the value of the 'length' property. This patch fixes WebKit's
1535         behavior to match the specification.
1536
1537         Test: fast/dom/variadic-operations-length.html
1538
1539         * bindings/scripts/CodeGeneratorJS.pm:
1540         (GetFunctionLength):
1541         * bindings/scripts/test/JS/JSTestObj.cpp:
1542         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1543         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
1544
1545 2015-10-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1546
1547         Binding generator should add builtin header for JSBuiltin attributes
1548         https://bugs.webkit.org/show_bug.cgi?id=149837
1549
1550         Reviewed by Darin Adler.
1551
1552         Ensured XXBuiltins.h header is included for builtin attributes.
1553         Renamed AddIncludesForJSBuiltinMethods as AddJSBuiltinIncludesIfNeeded.
1554         Test loop is done through all functions and attributes to handle conditional correctly.
1555
1556         Covered by existing and added binding tests.
1557
1558         * bindings/scripts/CodeGeneratorJS.pm:
1559         (GenerateImplementation):
1560         (AddJSBuiltinIncludesIfNeeded):
1561         * bindings/scripts/test/JS/JSTestObj.cpp:
1562         * bindings/scripts/test/ObjC/DOMTestObj.h:
1563         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1564         * bindings/scripts/test/TestObj.idl:
1565
1566 2015-10-06  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1567
1568         Binding generator XXConstructor::finishCreation should take references as parameters
1569         https://bugs.webkit.org/show_bug.cgi?id=149838
1570
1571         Reviewed by Darin Adler.
1572
1573         Updated the binding generator so that XXConstructor::finishCreation
1574         takes a JSDOMGlobalObject& in lieu of a JSDOMGlobalObject*.
1575
1576         Covered by rebased binding tests.
1577
1578         * bindings/scripts/CodeGeneratorJS.pm:
1579         (GenerateConstructorDeclaration):
1580         (GenerateConstructorHelperMethods):
1581         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1582         (WebCore::JSTestActiveDOMObjectConstructor::create):
1583         (WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
1584         * bindings/scripts/test/JS/JSTestCallback.cpp:
1585         (WebCore::JSTestCallbackConstructor::create):
1586         (WebCore::JSTestCallbackConstructor::finishCreation):
1587         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1588         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::create):
1589         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::finishCreation):
1590         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1591         (WebCore::JSTestCustomNamedGetterConstructor::create):
1592         (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
1593         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1594         (WebCore::JSTestEventConstructorConstructor::create):
1595         (WebCore::JSTestEventConstructorConstructor::finishCreation):
1596         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1597         (WebCore::JSTestEventTargetConstructor::create):
1598         (WebCore::JSTestEventTargetConstructor::finishCreation):
1599         * bindings/scripts/test/JS/JSTestException.cpp:
1600         (WebCore::JSTestExceptionConstructor::create):
1601         (WebCore::JSTestExceptionConstructor::finishCreation):
1602         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1603         (WebCore::JSTestGenerateIsReachableConstructor::create):
1604         (WebCore::JSTestGenerateIsReachableConstructor::finishCreation):
1605         * bindings/scripts/test/JS/JSTestInterface.cpp:
1606         (WebCore::JSTestInterfaceConstructor::create):
1607         (WebCore::JSTestInterfaceConstructor::finishCreation):
1608         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
1609         (WebCore::JSTestJSBuiltinConstructorConstructor::create):
1610         (WebCore::JSTestJSBuiltinConstructorConstructor::finishCreation):
1611         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1612         (WebCore::JSTestMediaQueryListListenerConstructor::create):
1613         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
1614         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1615         (WebCore::JSTestNamedConstructorConstructor::create):
1616         (WebCore::JSTestNamedConstructorNamedConstructor::create):
1617         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
1618         (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
1619         * bindings/scripts/test/JS/JSTestNode.cpp:
1620         (WebCore::JSTestNodeConstructor::create):
1621         (WebCore::JSTestNodeConstructor::finishCreation):
1622         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
1623         (WebCore::JSTestNondeterministicConstructor::create):
1624         (WebCore::JSTestNondeterministicConstructor::finishCreation):
1625         * bindings/scripts/test/JS/JSTestObj.cpp:
1626         (WebCore::JSTestObjConstructor::create):
1627         (WebCore::JSTestObjConstructor::finishCreation):
1628         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1629         (WebCore::JSTestOverloadedConstructorsConstructor::create):
1630         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
1631         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
1632         (WebCore::JSTestOverrideBuiltinsConstructor::create):
1633         (WebCore::JSTestOverrideBuiltinsConstructor::finishCreation):
1634         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1635         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
1636         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
1637         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1638         (WebCore::JSTestTypedefsConstructor::create):
1639         (WebCore::JSTestTypedefsConstructor::finishCreation):
1640         * bindings/scripts/test/JS/JSattribute.cpp:
1641         (WebCore::JSattributeConstructor::create):
1642         (WebCore::JSattributeConstructor::finishCreation):
1643         * bindings/scripts/test/JS/JSreadonly.cpp:
1644         (WebCore::JSreadonlyConstructor::create):
1645         (WebCore::JSreadonlyConstructor::finishCreation):
1646
1647 2015-10-06  Hunseop Jeong  <hs85.jeong@samsung.com>
1648
1649         [Cairo] fast/canvas/canvas-imageSmoothingFoo tests failed after r190383.
1650         https://bugs.webkit.org/show_bug.cgi?id=149752
1651
1652         Reviewed by Carlos Garcia Campos.
1653
1654         CG's low interpolation quality setting is equivalent to most other browsers default or high settings.
1655
1656         * html/canvas/CanvasRenderingContext2D.cpp:
1657         (WebCore::CanvasRenderingContext2D::State::State):
1658
1659 2015-10-06  Daniel Bates  <dbates@webkit.org>
1660
1661         Enable XSLT when building WebKit for iOS using the public iOS SDK
1662         https://bugs.webkit.org/show_bug.cgi?id=149827
1663
1664         Reviewed by Alexey Proskuryakov.
1665
1666         * Configurations/FeatureDefines.xcconfig:
1667
1668 2015-10-06  Brent Fulgham  <bfulgham@apple.com>
1669
1670         [Win] Correct positioning error introduced in r190235
1671         https://bugs.webkit.org/show_bug.cgi?id=149631
1672         <rdar://problem/22635080>
1673
1674         Reviewed by Simon Fraser.
1675
1676         Covered by existing compositing tests:
1677           css3/filters/clipping-overflow-scroll-with-pixel-moving-effect-on.html
1678           fast/layers/no-clipping-overflow-hidden-added-after-transform.html
1679           fast/layers/no-clipping-overflow-hidden-added-after-transition.html
1680           fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html
1681           transforms/2d/preserve3d-not-fixed-container.html
1682
1683         * platform/graphics/ca/TileGrid.cpp:
1684         (TileGrid::platformCALayerPaintContents): No need to do this extra flipping step
1685         on Windows.
1686         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
1687         (PlatformCALayerWinInternal::displayCallback): We should always flip the
1688         coordinate system when drawing these layers on Windows.
1689         (shouldInvertBeforeDrawingContent): Deleted.
1690         * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp:
1691         (WebTiledBackingLayerWin::displayCallback): We do not need to flip coordinates
1692         for these tiled layers; that's already accounted for in common tile drawing code.
1693
1694 2015-10-06  Emanuele Aina  <emanuele.aina@collabora.com>
1695
1696         Fix ENABLE_OPENGL=OFF builds
1697         https://bugs.webkit.org/show_bug.cgi?id=146511
1698
1699         Reviewed by Darin Adler.
1700
1701         * platform/graphics/texmap/BitmapTextureGL.h:
1702         * platform/graphics/texmap/BitmapTextureGL.cpp:
1703         * platform/graphics/texmap/TextureMapperGL.h:
1704         * platform/graphics/texmap/TextureMapperGL.cpp:
1705         * platform/graphics/texmap/TextureMapperShaderProgram.h:
1706         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
1707         Fix TEXTURE_MAPPER_GL vs. TEXTURE_MAPPER guards to make sure that
1708         ENABLE_OPENGL=OFF only disables the GL-related parts.
1709
1710 2015-10-06  Alex Christensen  <achristensen@webkit.org>
1711
1712         Fix Windows build after r190611.
1713
1714         * PlatformWin.cmake:
1715         Forward headers from contentextensions.
1716
1717 2015-10-06  Hunseop Jeong  <hs85.jeong@samsung.com>
1718
1719         Use modern for-loops in WebCore/html.
1720         https://bugs.webkit.org/show_bug.cgi?id=149662
1721
1722         Reviewed by Darin Adler.
1723
1724         No new tests because there is no behavior change.
1725
1726         * html/DOMFormData.cpp:
1727         (WebCore::DOMFormData::DOMFormData):
1728         * html/EmailInputType.cpp:
1729         (WebCore::EmailInputType::typeMismatchFor):
1730         * html/FileInputType.cpp:
1731         (WebCore::FileInputType::receiveDroppedFiles):
1732         * html/FormController.cpp:
1733         (WebCore::FormControlState::serializeTo):
1734         (WebCore::FormControlState::deserialize):
1735         (WebCore::SavedFormState::serializeTo):
1736         (WebCore::SavedFormState::getReferencedFilePaths):
1737         (WebCore::FormController::createSavedFormStateMap):
1738         (WebCore::FormController::formElementsState):
1739         (WebCore::FormController::restoreControlStateIn):
1740         (WebCore::FormController::getReferencedFilePaths):
1741         * html/HTMLAnchorElement.cpp:
1742         (WebCore::hasNonEmptyBox):
1743         * html/HTMLCanvasElement.cpp:
1744         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
1745         (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
1746         (WebCore::HTMLCanvasElement::reset):
1747         (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
1748         * html/HTMLFieldSetElement.cpp:
1749         (WebCore::HTMLFieldSetElement::length):
1750         * html/HTMLFormControlsCollection.cpp:
1751         (WebCore::firstNamedItem):
1752         * html/HTMLFormElement.cpp:
1753         (WebCore::HTMLFormElement::~HTMLFormElement):
1754         (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
1755         (WebCore::HTMLFormElement::removedFrom):
1756         (WebCore::HTMLFormElement::length):
1757         (WebCore::HTMLFormElement::submitImplicitly):
1758         (WebCore::HTMLFormElement::validateInteractively):
1759         (WebCore::HTMLFormElement::getTextFieldValues):
1760         (WebCore::HTMLFormElement::submit):
1761         (WebCore::HTMLFormElement::reset):
1762         (WebCore::HTMLFormElement::defaultButton):
1763         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
1764         (WebCore::HTMLFormElement::removeFromPastNamesMap):
1765         (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
1766         * html/HTMLInputElement.cpp:
1767         (WebCore::parseAcceptAttribute):
1768         * html/HTMLKeygenElement.cpp:
1769         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1770         * html/HTMLMediaElement.cpp:
1771         (WebCore::HTMLMediaElement::setMediaGroup):
1772         * html/HTMLOptionElement.cpp:
1773         (WebCore::HTMLOptionElement::index):
1774         * html/HTMLSelectElement.cpp:
1775         (WebCore::HTMLSelectElement::saveLastSelection):
1776         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
1777         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
1778         (WebCore::HTMLSelectElement::selectedIndex):
1779         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
1780         (WebCore::HTMLSelectElement::saveFormControlState):
1781         (WebCore::HTMLSelectElement::restoreFormControlState):
1782         (WebCore::HTMLSelectElement::appendFormData):
1783         (WebCore::HTMLSelectElement::reset):
1784         * html/HTMLTextAreaElement.cpp:
1785         (WebCore::HTMLTextAreaElement::setDefaultValue):
1786         * html/InputType.cpp:
1787         (WebCore::populateInputTypeFactoryMap):
1788         * html/MediaController.cpp:
1789         (MediaController::duration):
1790         (MediaController::setCurrentTime):
1791         (MediaController::play):
1792         (MediaController::setPlaybackRate):
1793         (MediaController::setVolume):
1794         (MediaController::setMuted):
1795         (playbackStateWaiting):
1796         (MediaController::updateMediaElements):
1797         (MediaController::bringElementUpToSpeed):
1798         (MediaController::isBlocked):
1799         (MediaController::hasEnded):
1800         (MediaController::asyncEventTimerFired):
1801         (MediaController::clearPositionTimerFired):
1802         (MediaController::hasAudio):
1803         (MediaController::hasVideo):
1804         (MediaController::hasClosedCaptions):
1805         (MediaController::setClosedCaptionsVisible):
1806         (MediaController::supportsScanning):
1807         (MediaController::beginScrubbing):
1808         (MediaController::endScrubbing):
1809         (MediaController::canPlay):
1810         (MediaController::isLiveStream):
1811         (MediaController::hasCurrentSrc):
1812         (MediaController::returnToRealtime):
1813         * html/MediaFragmentURIParser.cpp:
1814         (WebCore::MediaFragmentURIParser::parseTimeFragment):
1815         * html/PublicURLManager.cpp:
1816         (WebCore::PublicURLManager::revoke):
1817         (WebCore::PublicURLManager::stop):
1818         * html/canvas/WebGLBuffer.cpp:
1819         (WebCore::WebGLBuffer::getCachedMaxIndex):
1820         (WebCore::WebGLBuffer::setCachedMaxIndex):
1821         (WebCore::WebGLBuffer::setTarget):
1822         * html/canvas/WebGLContextGroup.cpp:
1823         (WebCore::WebGLContextGroup::loseContextGroup):
1824         * html/canvas/WebGLDrawBuffers.cpp:
1825         (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
1826         * html/canvas/WebGLFramebuffer.cpp:
1827         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
1828         (WebCore::WebGLFramebuffer::checkStatus):
1829         (WebCore::WebGLFramebuffer::deleteObjectImpl):
1830         (WebCore::WebGLFramebuffer::initializeAttachments):
1831         (WebCore::WebGLFramebuffer::drawBuffers):
1832         * html/canvas/WebGLRenderingContextBase.cpp:
1833         (WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):
1834         (WebCore::WebGLRenderingContextBase::deleteTexture):
1835         * html/canvas/WebGLVertexArrayObject.cpp:
1836         (WebCore::WebGLVertexArrayObject::deleteObjectImpl):
1837         * html/canvas/WebGLVertexArrayObjectOES.cpp:
1838         (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
1839         * html/parser/AtomicHTMLToken.h:
1840         (WebCore::AtomicHTMLToken::initializeAttributes):
1841         * html/parser/HTMLConstructionSite.cpp:
1842         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
1843         * html/parser/HTMLFormattingElementList.cpp:
1844         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
1845         * html/parser/HTMLPreloadScanner.cpp:
1846         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1847         * html/parser/XSSAuditor.cpp:
1848         (WebCore::semicolonSeparatedValueContainsJavaScriptURL):
1849         * html/shadow/ContentDistributor.cpp:
1850         (WebCore::ContentDistributor::distribute):
1851         (WebCore::ContentDistributor::invalidate):
1852         * html/shadow/MediaControlElements.cpp:
1853         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
1854         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
1855         (WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize):
1856         * html/track/AudioTrackList.cpp:
1857         (AudioTrackList::getTrackById):
1858         * html/track/LoadableTextTrack.cpp:
1859         (WebCore::LoadableTextTrack::newCuesAvailable):
1860         (WebCore::LoadableTextTrack::newRegionsAvailable):
1861         * html/track/TextTrackCueList.cpp:
1862         (WebCore::TextTrackCueList::getCueById):
1863         (WebCore::TextTrackCueList::activeCues):
1864         * html/track/TextTrackList.cpp:
1865         (TextTrackList::getTrackIndexRelativeToRenderedTracks):
1866         (TextTrackList::invalidateTrackIndexesAfterTrack):
1867         * html/track/TrackListBase.cpp:
1868         (TrackListBase::isAnyTrackEnabled):
1869         * html/track/VideoTrackList.cpp:
1870         (VideoTrackList::getTrackById):
1871
1872 2015-10-06  Alex Christensen  <achristensen@webkit.org>
1873
1874         Report error when main resource is blocked by content blocker
1875         https://bugs.webkit.org/show_bug.cgi?id=149719
1876         rdar://problem/21970595
1877
1878         Reviewed by Brady Eidson.
1879
1880         Test: http/tests/contentextensions/main-resource.html
1881
1882         * English.lproj/Localizable.strings:
1883         * contentextensions/ContentExtensionActions.h:
1884         * contentextensions/ContentExtensionError.h:
1885         (WebCore::ContentExtensions::make_error_code):
1886         * contentextensions/ContentExtensionsBackend.cpp:
1887         (WebCore::ContentExtensions::ContentExtensionsBackend::globalDisplayNoneStyleSheet):
1888         (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
1889         Instead of nulling out the ResourceRequest, processContentExtensionRulesForLoad 
1890         now returns a status indicating whether the request should be blocked.
1891         This is needed because the DocumentLoader needs a CachedResource with an error representing the blocking
1892         (WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
1893         * contentextensions/ContentExtensionsBackend.h:
1894         * html/HTMLMediaElement.cpp:
1895         (WebCore::HTMLMediaElement::loadResource):
1896         * loader/DocumentLoader.cpp:
1897         (WebCore::DocumentLoader::startLoadingMainResource):
1898         Dispatch an error if the resource is blocked by a content blocker.
1899         * loader/EmptyClients.h:
1900         * loader/FrameLoader.cpp:
1901         (WebCore::FrameLoader::loadResourceSynchronously):
1902         (WebCore::FrameLoader::cancelledError):
1903         (WebCore::FrameLoader::blockedByContentBlockerError):
1904         (WebCore::FrameLoader::connectionProperties):
1905         * loader/FrameLoader.h:
1906         * loader/FrameLoaderClient.h:
1907         * loader/ResourceLoader.cpp:
1908         (WebCore::ResourceLoader::willSendRequestInternal):
1909         * loader/cache/CachedResourceLoader.cpp:
1910         (WebCore::CachedResourceLoader::requestResource):
1911         * page/UserContentController.cpp:
1912         (WebCore::UserContentController::removeAllUserContentExtensions):
1913         (WebCore::UserContentController::processContentExtensionRulesForLoad):
1914         (WebCore::UserContentController::actionsForResourceLoad):
1915         * page/UserContentController.h:
1916         * platform/efl/ErrorsEfl.cpp:
1917         (WebCore::blockedError):
1918         (WebCore::blockedByContentBlockerError):
1919         (WebCore::cannotShowURLError):
1920         * platform/efl/ErrorsEfl.h:
1921         * platform/gtk/ErrorsGtk.cpp:
1922         (WebCore::blockedError):
1923         (WebCore::blockedByContentBlockerError):
1924         (WebCore::cannotShowURLError):
1925         * platform/gtk/ErrorsGtk.h:
1926
1927 2015-10-06  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1928
1929         JSBuiltinConstructor must always add builtin header
1930         https://bugs.webkit.org/show_bug.cgi?id=149759
1931
1932         Reviewed by Darin Adler.
1933
1934         Covered by TestJSBuiltinConstructor.idl.
1935
1936         * bindings/scripts/CodeGeneratorJS.pm:
1937         (AddIncludesForJSBuiltinMethods): Forces adding the builtin header when the JSBuiltinConstructor is present.
1938         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: Expectation.
1939
1940 2015-10-05  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1941
1942         Migrate streams API to JS Builtins
1943         https://bugs.webkit.org/show_bug.cgi?id=147092
1944
1945         Reviewed by Darin Adler.
1946
1947         Moved ReadableStream implementation from C++ to JS Builtins.
1948         Created specific private constructors for ReadableStreamReader and ReadableStreamController.
1949         Added these constructors to  JSDOMWindowBase.
1950         Constructors are based on a template found in JSDOMConstructor which might serve to webidl-generated classes as well.
1951
1952         Covered by existing tests.
1953
1954         * CMakeLists.txt:
1955         * DerivedSources.make:
1956         * Modules/streams/ReadableStream.cpp: Removed.
1957         * Modules/streams/ReadableStream.h: Removed.
1958         * Modules/streams/ReadableStream.idl:
1959         * Modules/streams/ReadableStream.js:
1960         (strategy.size):
1961         (initializeReadableStream):
1962         (cancel):
1963         (getReader):
1964         (pipeTo):
1965         (tee):
1966         (locked):
1967         * Modules/streams/ReadableStreamController.h:
1968         * Modules/streams/ReadableStreamController.idl:
1969         * Modules/streams/ReadableStreamController.js: Added.
1970         (enqueue):
1971         (error):
1972         (close):
1973         (desiredSize):
1974         * Modules/streams/ReadableStreamInternals.js:
1975         (privateInitializeReadableStreamReader):
1976         (privateInitializeReadableStreamController):
1977         (isReadableStream):
1978         (isReadableStreamReader):
1979         (isReadableStreamController):
1980         (errorReadableStream):
1981         (requestReadableStreamPull):
1982         (getReadableStreamDesiredSize):
1983         (releaseReadableStreamReader):
1984         (cancelReadableStream):
1985         (finishClosingReadableStream):
1986         (closeReadableStream):
1987         (closeReadableStreamReader):
1988         (enqueueInReadableStream):
1989         (readFromReadableStreamReader):
1990         (invokeOrNoop):
1991         (promiseInvokeOrNoop):
1992         * Modules/streams/ReadableStreamReader.cpp: Removed.
1993         * Modules/streams/ReadableStreamReader.h:
1994         * Modules/streams/ReadableStreamReader.idl:
1995         * Modules/streams/ReadableStreamReader.js: Copied from Source/WebCore/Modules/streams/ReadableStream.js.
1996         (cancel):
1997         (read):
1998         (releaseLock):
1999         (closed):
2000         * WebCore.vcxproj/WebCore.vcxproj:
2001         * WebCore.vcxproj/WebCore.vcxproj.filters:
2002         * WebCore.xcodeproj/project.pbxproj:
2003         * bindings/js/JSBindingsAllInOne.cpp:
2004         * bindings/js/JSDOMConstructor.h: Added.
2005         (WebCore::JSBuiltinConstructor::create):
2006         (WebCore::JSBuiltinConstructor::createStructure):
2007         (WebCore::JSBuiltinConstructor::JSBuiltinConstructor):
2008         (WebCore::JSBuiltinConstructor::initializeProperties):
2009         (WebCore::JSBuiltinConstructor<JSClass>::finishCreation):
2010         (WebCore::JSBuiltinConstructor<JSClass>::construct):
2011         (WebCore::JSBuiltinConstructor<JSClass>::getConstructData):
2012         * bindings/js/JSDOMWindowBase.cpp:
2013         (WebCore::JSDOMWindowBase::finishCreation):
2014         * bindings/js/JSReadableStreamControllerCustom.cpp: Removed.
2015         * bindings/js/JSReadableStreamCustom.cpp: Removed.
2016         * bindings/js/JSReadableStreamPrivateConstructors.cpp: Added.
2017         (WebCore::constructJSReadableStreamController):
2018         (WebCore::constructJSReadableStreamReader):
2019         (WebCore::JSBuiltinConstructor<JSReadableStreamReader>::createJSObject):
2020         (WebCore::JSBuiltinConstructor<JSReadableStreamController>::createJSObject):
2021         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createInitializeFunction):
2022         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createInitializeFunction):
2023         (WebCore::createReadableStreamReaderPrivateConstructor):
2024         (WebCore::createReadableStreamControllerPrivateConstructor):
2025         * bindings/js/JSReadableStreamPrivateConstructors.h: Added.
2026         * bindings/js/JSReadableStreamReaderCustom.cpp: Removed.
2027         * bindings/js/ReadableJSStream.cpp: Removed.
2028         * bindings/js/ReadableJSStream.h: Removed.
2029         * bindings/js/WebCoreBuiltinNames.h: Added.
2030         (WebCore::WebCoreBuiltinNames::WebCoreBuiltinNames):
2031         * bindings/js/WebCoreJSBuiltins.cpp:
2032         * bindings/js/WebCoreJSClientData.h:
2033         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2034         (WebCore::WebCoreJSClientData::builtinNames):
2035         (WebCore::WebCoreJSClientData::readableStreamControllerBuiltins):
2036         (WebCore::WebCoreJSClientData::readableStreamReaderBuiltins):
2037
2038 2015-10-05  Chris Dumez  <cdumez@apple.com>
2039
2040         data: URLs should not be preloaded
2041         https://bugs.webkit.org/show_bug.cgi?id=149829
2042
2043         Reviewed by Ryosuke Niwa.
2044
2045         Update the HTMLPreloadScanner so that data: URLs do not get preloaded.
2046         There is no need as the data is already available.
2047
2048         Test: fast/preloader/image-data-url.html
2049
2050         * html/parser/HTMLPreloadScanner.cpp:
2051         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
2052
2053 2015-10-05  Jer Noble  <jer.noble@apple.com>
2054
2055         [iOS] REGRESSION(r190434): Media continues to play when locking screen
2056         https://bugs.webkit.org/show_bug.cgi?id=149822
2057
2058         Reviewed by Brent Fulgham.
2059
2060         In MediaSessionManagerIOS.mm, both -applicationWillEnterForeground: and
2061         -applicationDidBecomeActive: called
2062         PlatformMediaSessionManager::applicationWillEnterForeground(), leading to the
2063         PlatformMediaSession's m_interruptionCount becoming increasingly unbalanced.
2064
2065         Rename PlatformMediaSessionManager::applicationWillEnterForeground() to
2066         applicationDidEnterForeground() to more correctly reflect when this notification will be
2067         called. Add a new method, MediaSessionManagerIOS::applicationWillEnterForeground(bool),
2068         whose paramater is whether the screen was locked. This allows the beginInterruption() and
2069         endInterruption() methods to be correctly balanced.
2070
2071         Drive-by fix: remove the unimplemented declarations for application{will,did}Enter{Fore,Back}ground()
2072         from PlatformMediaSession.h.
2073
2074         * platform/audio/PlatformMediaSession.h:
2075         * platform/audio/PlatformMediaSessionManager.cpp:
2076         (WebCore::PlatformMediaSessionManager::applicationDidEnterForeground):
2077         (WebCore::PlatformMediaSessionManager::applicationWillEnterForeground): Deleted.
2078         * platform/audio/PlatformMediaSessionManager.h:
2079         * platform/audio/ios/MediaSessionManagerIOS.h:
2080         * platform/audio/ios/MediaSessionManagerIOS.mm:
2081         (WebCore::MediaSessionManageriOS::applicationDidEnterBackground):
2082         (WebCore::MediaSessionManageriOS::applicationWillEnterForeground):
2083         (-[WebMediaSessionHelper applicationWillEnterForeground:]):
2084         (-[WebMediaSessionHelper applicationDidBecomeActive:]):
2085         * testing/Internals.cpp:
2086         (WebCore::Internals::applicationDidEnterForeground):
2087         (WebCore::Internals::applicationWillEnterForeground): Deleted.
2088         * testing/Internals.h:
2089         * testing/Internals.idl:
2090
2091 2015-10-05  Alex Christensen  <achristensen@webkit.org>
2092
2093         Invalid CSS Selector for Content Blockers invalidates others
2094         https://bugs.webkit.org/show_bug.cgi?id=148446
2095         rdar://problem/22918235
2096
2097         Reviewed by Benjamin Poulain.
2098
2099         Test: http/tests/contentextensions/invalid-selector.html
2100
2101         * contentextensions/ContentExtensionParser.cpp:
2102         (WebCore::ContentExtensions::loadTrigger):
2103         (WebCore::ContentExtensions::isValidSelector):
2104         (WebCore::ContentExtensions::loadAction):
2105         (WebCore::ContentExtensions::loadRule):
2106         Add a check to see if a selector is valid before adding it.
2107
2108 2015-10-05  Jiewen Tan  <jiewen_tan@apple.com>
2109
2110         CSSGradientValue should check whether gradientLength is zero or not.
2111         https://bugs.webkit.org/show_bug.cgi?id=149373
2112         <rdar://problem/22771418>
2113
2114         Reviewed by Darin Adler.
2115
2116         This is a merge of Blink r158220,
2117         https://chromiumcodereview.appspot.com/24350008
2118
2119         Test: fast/gradients/css3-repeating-radial-gradients-crash.html
2120
2121         * css/CSSGradientValue.cpp:
2122         (WebCore::CSSGradientValue::addStops):
2123         Check whether gradientLength > 0 before using it as denominator.
2124
2125 2015-10-05  Dean Jackson  <dino@apple.com>
2126
2127         EXT_texture_filter_anisotropic extension exposed with WEBKIT_ prefix
2128         https://bugs.webkit.org/show_bug.cgi?id=149765
2129         <rdar://problem/22983722>
2130
2131         Reviewed by Beth Dakin.
2132
2133         We can now remove the WEBKIT_ prefix from this extension.
2134
2135         Test: fast/canvas/webgl/unprefixed-anisotropic-extension.html
2136
2137         * html/canvas/WebGL2RenderingContext.cpp: Support the prefixed and unprefixed form.
2138         (WebCore::WebGL2RenderingContext::getExtension):
2139         * html/canvas/WebGLRenderingContext.cpp:
2140         (WebCore::WebGLRenderingContext::getExtension):
2141         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2142
2143 2015-10-05  Dean Jackson  <dino@apple.com>
2144
2145         Reference cycles during SVG dependency invalidation
2146         https://bugs.webkit.org/show_bug.cgi?id=149824
2147         <rdar://problem/22771412>
2148
2149         Reviewed by Tim Horton.
2150
2151         Detect any reference cycles as we are invalidating.
2152
2153         This is mostly a merge of the following Blink commit:
2154         https://chromium.googlesource.com/chromium/blink/+/a4bc83453bda89823b672877dc02247652a02d51
2155
2156         Test: svg/custom/reference-cycle.svg
2157
2158         * rendering/svg/RenderSVGResource.cpp:
2159         (WebCore::removeFromCacheAndInvalidateDependencies): Keep around a hash
2160         table of dependencies, so that we can detect if an element is already
2161         present before marking it.
2162
2163 2015-10-05  Jiewen Tan  <jiewen_tan@apple.com>
2164
2165         Fix null pointer dereference in WebSocket::connect()        
2166         https://bugs.webkit.org/show_bug.cgi?id=149311
2167         <rdar://problem/22748858>
2168
2169         Reviewed by Chris Dumez.
2170
2171         This is a merge of Blink r187441,
2172         https://codereview.chromium.org/785933005
2173
2174         Test: http/tests/websocket/construct-in-detached-frame.html
2175
2176         * Modules/websockets/WebSocket.cpp:
2177         (WebCore::WebSocket::connect):
2178         Call function implemented below instead of duplicating the code.
2179         * page/ContentSecurityPolicy.cpp:
2180         (WebCore::ContentSecurityPolicy::shouldBypassMainWorldContentSecurityPolicy):
2181         * page/ContentSecurityPolicy.h:
2182         Factor the logic to check shouldBypassMainWorldContentSecurityPolicy into 
2183         a function in this class. Check Frame pointers are not null before getting 
2184         shouldBypassMainWorldContentSecurityPolicy via those pointers.
2185         * page/EventSource.cpp:
2186         (WebCore::EventSource::create):
2187         This got fixed as a bonus.
2188         * xml/XMLHttpRequest.cpp:
2189         (WebCore::XMLHttpRequest::open):
2190         This got fixed as a bonus too.
2191
2192 2015-10-05  Beth Dakin  <bdakin@apple.com>
2193
2194         WebCore::IOSurface should ask the IOSurface for the pixel format instead of 
2195         caching it
2196         https://bugs.webkit.org/show_bug.cgi?id=149820
2197         -and corresponding-
2198         rdar://problem/22976230
2199
2200         Reviewed by Tim Horton.
2201
2202         Also there is no reason to make YUV be iOS only, so this patch removes those 
2203         PLATFORM checks.
2204
2205         * platform/graphics/cocoa/IOSurface.h:
2206         * platform/graphics/cocoa/IOSurface.mm:
2207         (IOSurface::IOSurface):
2208         (IOSurface::format):
2209         * platform/spi/cocoa/IOSurfaceSPI.h:
2210
2211 2015-10-02  Ryosuke Niwa  <rniwa@webkit.org>
2212
2213         ShadowRoot with leading or trailing white space cause a crash
2214         https://bugs.webkit.org/show_bug.cgi?id=149782
2215
2216         Reviewed by Chris Dumez.
2217
2218         Fixed the crash by adding a null pointer check since a TextNode that appears as a direct child
2219         of a ShadowRoot doesn't have a parent element.
2220
2221         Test: fast/shadow-dom/shadow-root-with-child-whitespace-text-crash.html
2222
2223         * style/RenderTreePosition.cpp:
2224         (WebCore::RenderTreePosition::previousSiblingRenderer):
2225
2226 2015-10-05  Beth Dakin  <bdakin@apple.com>
2227
2228         Build fix. 
2229
2230         * platform/spi/cocoa/IOSurfaceSPI.h:
2231
2232 2015-10-05  Beth Dakin  <bdakin@apple.com>
2233
2234         Unreviewed build fix.
2235
2236         * platform/spi/cocoa/IOSurfaceSPI.h:
2237
2238 2015-10-05  Brady Eidson  <beidson@apple.com>
2239
2240         Modernize IDBRequest::ReadyState into an enum class.
2241         https://bugs.webkit.org/show_bug.cgi?id=149817
2242
2243         Reviewed by Alex Christensen.
2244
2245         No new tests (Refactor, no behavior change).
2246
2247         * Modules/indexeddb/IDBRequest.h:
2248         
2249         * Modules/indexeddb/legacy/LegacyOpenDBRequest.cpp:
2250         (WebCore::LegacyOpenDBRequest::shouldEnqueueEvent):
2251         
2252         * Modules/indexeddb/legacy/LegacyRequest.cpp:
2253         (WebCore::LegacyRequest::LegacyRequest):
2254         (WebCore::LegacyRequest::result):
2255         (WebCore::LegacyRequest::error):
2256         (WebCore::LegacyRequest::errorCode):
2257         (WebCore::LegacyRequest::readyState):
2258         (WebCore::LegacyRequest::markEarlyDeath):
2259         (WebCore::LegacyRequest::abort):
2260         (WebCore::LegacyRequest::setCursorDetails):
2261         (WebCore::LegacyRequest::setPendingCursor):
2262         (WebCore::LegacyRequest::setResultCursor):
2263         (WebCore::LegacyRequest::finishCursor):
2264         (WebCore::LegacyRequest::shouldEnqueueEvent):
2265         (WebCore::LegacyRequest::stop):
2266         (WebCore::LegacyRequest::dispatchEvent):
2267         (WebCore::LegacyRequest::transactionDidFinishAndDispatch):
2268         (WebCore::LegacyRequest::enqueueEvent):
2269         * Modules/indexeddb/legacy/LegacyRequest.h:
2270
2271 2015-10-05  Jiewen Tan  <jiewen_tan@apple.com>
2272
2273         Cleaning up after revision 190339
2274         https://bugs.webkit.org/show_bug.cgi?id=149732
2275
2276         Reviewed by Myles C. Maxfield.
2277
2278         * xml/XSLStyleSheet.h:
2279         * xml/XSLStyleSheetLibxslt.cpp:
2280         (WebCore::XSLStyleSheet::compileStyleSheet):
2281
2282 2015-10-05  Beth Dakin  <bdakin@apple.com>
2283
2284         Errant space!!
2285         * platform/graphics/cocoa/IOSurface.mm:
2286         (IOSurface::releaseGraphicsContext):
2287         (IOSurface::convertToFormat):
2288
2289 2015-10-05  Beth Dakin  <bdakin@apple.com>
2290
2291         Compress snapshots on iOS
2292         https://bugs.webkit.org/show_bug.cgi?id=149814
2293         -and corresponding-
2294         rdar://problem/22976230
2295
2296         Reviewed by Simon Fraser.
2297
2298         Though the default is still RGBA, it is now possible to create an IOSurface 
2299         that uses the YUV422 pixel format.
2300         * platform/graphics/cocoa/IOSurface.h:
2301         * platform/graphics/cocoa/IOSurface.mm:
2302         (IOSurface::surfaceFromPool):
2303         (IOSurface::create):
2304         (IOSurface::createFromImage):
2305         (IOSurface::IOSurface):
2306         (IOSurface::releaseGraphicsContext):
2307
2308         In order to have a YUV IOSurface, we actually have to create an RGBA surface 
2309         first and then convert it to YUV, so this class method will handle that.
2310         (IOSurface::convertToFormat):
2311
2312         Necessary SPI.
2313         * platform/spi/cocoa/IOSurfaceSPI.h:
2314
2315 2015-10-05  Zalan Bujtas  <zalan@apple.com>
2316
2317         Mark the line dirty when RenderQuote's text changes.
2318         https://bugs.webkit.org/show_bug.cgi?id=149784
2319         rdar://problem/22558169
2320
2321         Reviewed by Antti Koivisto.
2322
2323         When quotation mark changes ( " -> ' or empty string), we
2324         need to mark the line dirty to ensure its content gets laid out properly.
2325
2326         Test: fast/inline/quotation-text-changes-dynamically.html
2327
2328         * rendering/RenderQuote.cpp:
2329         (WebCore::quoteTextRenderer):
2330         (WebCore::RenderQuote::updateText):
2331         (WebCore::fragmentChild): Deleted.
2332
2333 2015-10-03  Filip Pizlo  <fpizlo@apple.com>
2334
2335         Allow an object's marking state to track The Three Colors
2336         https://bugs.webkit.org/show_bug.cgi?id=149654
2337
2338         Reviewed by Geoffrey Garen.
2339
2340         No new tests because no new behavior.
2341
2342         * bindings/scripts/CodeGeneratorJS.pm:
2343         (GenerateImplementation):
2344
2345 2015-10-05  Katlyn Graff  <kgraff@apple.com>
2346
2347         Update setImageSmoothingQuality for additional reviews.
2348         https://bugs.webkit.org/show_bug.cgi?id=149541
2349
2350         Reviewed by Chris Dumez.
2351
2352         * html/canvas/CanvasRenderingContext2D.cpp:
2353         (WebCore::CanvasRenderingContext2D::setImageSmoothingQuality):
2354
2355 2015-10-05  Andreas Kling  <akling@apple.com>
2356
2357         Remove unused HistoryItem::targetItem()
2358         <https://webkit.org/b/149803>
2359
2360         Reviewed by Anders Carlsson.
2361
2362         This is ancient code with no remaining clients since 2010 (r53650)
2363
2364         * history/HistoryItem.cpp:
2365         (WebCore::HistoryItem::findTargetItem): Deleted.
2366         (WebCore::HistoryItem::targetItem): Deleted.
2367         * history/HistoryItem.h:
2368
2369 2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>
2370
2371         Unprefix -webkit-font-feature-settings
2372         https://bugs.webkit.org/show_bug.cgi?id=149722
2373
2374         Reviewed by Sam Weinig.
2375
2376         * css/CSSComputedStyleDeclaration.cpp:
2377         (WebCore::ComputedStyleExtractor::propertyValue):
2378         * css/CSSParser.cpp:
2379         (WebCore::CSSParser::parseValue):
2380         (WebCore::CSSParser::parseFontFeatureSettings):
2381         * css/CSSPropertyNames.in:
2382         * css/CSSValueKeywords.in:
2383         * css/StyleBuilderCustom.h:
2384         (WebCore::StyleBuilderCustom::applyInitialFontFeatureSettings):
2385         (WebCore::StyleBuilderCustom::applyInheritFontFeatureSettings):
2386         (WebCore::StyleBuilderCustom::applyInitialWebkitFontFeatureSettings): Deleted.
2387         (WebCore::StyleBuilderCustom::applyInheritWebkitFontFeatureSettings): Deleted.
2388
2389 2015-10-05  Zan Dobersek  <zdobersek@igalia.com>
2390
2391         [GStreamer] Replace uses of std::bind() with lambdas
2392         https://bugs.webkit.org/show_bug.cgi?id=149802
2393
2394         Reviewed by Carlos Garcia Campos.
2395
2396         Instead of std::bind(), use C++ lambdas to create std::function<>
2397         wrappers in GStreamer-related class implementations.
2398
2399         Ref-counted classes are protected by capturing a RefPtr object.
2400         GstObject-derived objects are protected by capturing a GRefPtr object.
2401         Necessary specializations for WebKitVideoSink and WebKitWebSrc are added.
2402
2403         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2404         (WebCore::AudioFileReader::createBus):
2405         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2406         (WTF::adoptGRef):
2407         (WTF::refGPtr<WebKitVideoSink>):
2408         (WTF::derefGPtr<WebKitVideoSink>):
2409         (WTF::refGPtr<WebKitWebSrc>):
2410         (WTF::derefGPtr<WebKitWebSrc>):
2411         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2412         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2413         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
2414         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
2415         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2416         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
2417         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
2418         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
2419         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
2420         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2421         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
2422         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
2423         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2424         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
2425         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
2426         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2427         (webkitVideoSinkRender):
2428         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2429         (webKitWebSrcChangeState):
2430         (webKitWebSrcNeedDataCb):
2431         (webKitWebSrcEnoughDataCb):
2432         (webKitWebSrcSeekDataCb):
2433
2434 2015-10-05  Andreas Kling  <akling@apple.com>
2435
2436         Remove unused HistoryItem::parent
2437         <https://webkit.org/b/149803>
2438
2439         Reviewed by Anders Carlsson.
2440
2441         Remove the effectively-unused "parent" field from HistoryItem.
2442         This also allows us to get rid of a HistoryItem constructor.
2443
2444         * history/HistoryItem.cpp:
2445         (WebCore::HistoryItem::HistoryItem): Deleted.
2446         (WebCore::HistoryItem::reset): Deleted.
2447         (WebCore::HistoryItem::parent): Deleted.
2448         (WebCore::HistoryItem::setParent): Deleted.
2449         * history/HistoryItem.h:
2450         (WebCore::HistoryItem::create): Deleted.
2451         * loader/HistoryController.cpp:
2452         (WebCore::HistoryController::initializeItem): Deleted.
2453
2454 2015-10-05  Zan Dobersek  <zdobersek@igalia.com>
2455
2456         GLContext should control ownership of context-related objects
2457         https://bugs.webkit.org/show_bug.cgi?id=149794
2458
2459         Reviewed by Martin Robinson.
2460
2461         Creation of GLContext objects can depend on various platform-specific
2462         objects like native window representations. Since these objects are
2463         used solely for the GLContext purposes, it would make sense to allow
2464         GLContext to provide an extensible way to impose ownership on these
2465         objects and control their lifetime.
2466
2467         GLContext::Data is declared with a defaulted virtual destructor.
2468         Users of these implementations can declare classes that derive from
2469         GLContext::Data and store context-related objects in instances of the
2470         derived class, and ensure that these objects are properly cleaned up
2471         when GLContext destroys the Data object.
2472
2473         The GLContext::Data object is managed through a protected
2474         std::unique_ptr<> member in the GLContext class. For now the member
2475         is only set in GLContextEGL::createWindowContext() and is destroyed
2476         during the GLContext destruction.
2477
2478         The local OffscreenContextData class in
2479         PlatformDisplayWayland::createSharingGLContext() derives from
2480         GLContext::Data and is used to store the wl_surface and
2481         EGLNativeWindowType (aka wl_egl_window) objects for offscreen
2482         GLContexts under the Wayland platform that are used for the sharing
2483         context and WebGL, effectively avoiding the leak that would further
2484         propagate problems into the compositor and the graphics library.
2485         (Such offscreen contexts are actually mimicked via a 1x1px
2486         wl_egl_window object that acts as a dummy base for the related
2487         wl_surface object).
2488
2489         * platform/graphics/GLContext.h:
2490         * platform/graphics/egl/GLContextEGL.cpp:
2491         (WebCore::GLContextEGL::createWindowContext):
2492         * platform/graphics/egl/GLContextEGL.h:
2493         * platform/graphics/wayland/PlatformDisplayWayland.cpp:
2494         (WebCore::PlatformDisplayWayland::createSharingGLContext):
2495
2496 2015-10-05  Zan Dobersek  <zdobersek@igalia.com>
2497
2498         Make gdk.h inclusion in FontPlatformDataFreeType.cpp properly GTK-specific
2499         https://bugs.webkit.org/show_bug.cgi?id=149793
2500
2501         Reviewed by Carlos Garcia Campos.
2502
2503         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2504         Instead of including <gdk/gdk.h> header for all platforms but EFL, only
2505         include it for the GTK platform, since no other platform depends on the
2506         GDK library.
2507
2508 2015-10-03  Ricky Mondello  <rmondello@apple.com>
2509
2510         "Plug-in is blocked" message doesn't draw correctly
2511         https://bugs.webkit.org/show_bug.cgi?id=149741
2512         <rdar://problem/22920949>
2513
2514         Patch by Conrad Shultz and Ricky Mondello.
2515
2516         Reviewed by Anders Carlsson.
2517
2518         No new tests are added.
2519
2520         Add PluginData API to check whether a MIME type is supported, regardless of plug-in visibility.
2521
2522         * plugins/PluginData.cpp:
2523         (WebCore::PluginData::getWebVisibleMimesAndPluginIndices): Adopt getMimesAndPluginIndiciesForPlugins.
2524         (WebCore::PluginData::getMimesAndPluginIndices): Added.
2525         (WebCore::PluginData::getMimesAndPluginIndiciesForPlugins): Essentially factored out of
2526             getWebVisibleMimesAndPluginIndices.
2527         (WebCore::PluginData::supportsMimeType): Added. Somewhat similar to preexisting supportsWebVisibleMimeType.
2528         * plugins/PluginData.h: Declare supportsMimeType.
2529
2530 2015-10-02  Antti Koivisto  <antti@apple.com>
2531
2532         Inserting a child to a slot assigned node doesn't trigger repaint
2533         https://bugs.webkit.org/show_bug.cgi?id=149739
2534
2535         Reviewed by Ryosuke Niwa.
2536
2537         Test: fast/shadow-dom/insert-child-to-assigned-node.html
2538
2539         * dom/Node.cpp:
2540         (WebCore::Node::derefEventTarget):
2541         (WebCore::traverseStyleParent):
2542         (WebCore::traverseFirstStyleParent):
2543         (WebCore::Node::updateAncestorsForStyleRecalc):
2544
2545             Traverse in style parent order.
2546
2547 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
2548
2549         Unreviewed, rolling out r190520, some tests assert / crash.
2550
2551         * ForwardingHeaders/heap/HeapObserver.h: Removed.
2552         * ForwardingHeaders/inspector/agents/InspectorHeapAgent.h: Removed.
2553         * WebCore.vcxproj/WebCore.vcxproj:
2554         * WebCore.vcxproj/WebCore.vcxproj.filters:
2555         * inspector/InspectorController.cpp:
2556         (WebCore::InspectorController::InspectorController): Deleted.
2557         (WebCore::InspectorController::vm): Deleted.
2558         * inspector/InspectorController.h:
2559         * inspector/WorkerInspectorController.cpp:
2560         (WebCore::WorkerInspectorController::vm): Deleted.
2561         * inspector/WorkerInspectorController.h:
2562
2563 2015-10-02  Joseph Pecoraro  <pecoraro@apple.com>
2564
2565         Web Inspector: Include Garbage Collection Event in Timeline
2566         https://bugs.webkit.org/show_bug.cgi?id=142510
2567
2568         Reviewed by Geoffrey Garen.
2569
2570         Tests: inspector/heap/garbageCollected.html
2571                inspector/heap/gc.html
2572
2573         * ForwardingHeaders/heap/HeapObserver.h: Added.
2574         * ForwardingHeaders/inspector/agents/InspectorHeapAgent.h: Added.
2575         * WebCore.vcxproj/WebCore.vcxproj:
2576         * WebCore.vcxproj/WebCore.vcxproj.filters:
2577         Forwarding headers.
2578
2579         * inspector/InspectorController.cpp:
2580         (WebCore::InspectorController::InspectorController):
2581         (WebCore::InspectorController::vm):
2582         * inspector/InspectorController.h:
2583         * inspector/WorkerInspectorController.cpp:
2584         (WebCore::WorkerInspectorController::vm):
2585         * inspector/WorkerInspectorController.h:
2586         Implement InspectorEnvironment::vm and create a Heap agent for the
2587         Page inspector controller.
2588
2589 2015-10-02  Jer Noble  <jer.noble@apple.com>
2590
2591         [MSE] Browser crashes when appending invalid data to MSE source buffer
2592         https://bugs.webkit.org/show_bug.cgi?id=149689
2593
2594         Reviewed by Darin Adler.
2595
2596         Test: media/media-source/media-source-stpp-crash.html
2597
2598         Bail out early (as specced) after disconnecting the SourceBuffer from its MediaSource.
2599
2600         * Modules/mediasource/SourceBuffer.cpp:
2601         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
2602
2603 2015-10-02  Simon Fraser  <simon.fraser@apple.com>
2604
2605         ASSERTION FAILED: param >= 0 in AnimationBase::updateStateMachine()
2606         https://bugs.webkit.org/show_bug.cgi?id=149737
2607         rdar://problem/19017465
2608
2609         Reviewed by Dean Jackson.
2610
2611         CoreAnimation can give us an animation beginTime that is slightly into the future,
2612         which results in 'param' here being < 0, so relax the assertion slightly.
2613         
2614         Fixes lots of assertions running iOS WK2 layout tests.
2615
2616         * page/animation/AnimationBase.cpp:
2617         (WebCore::AnimationBase::updateStateMachine):
2618
2619 2015-10-02  Per Arne Vollan  <peavo@outlook.com>
2620
2621         [WinCairo] Fix linker warnings.
2622         https://bugs.webkit.org/show_bug.cgi?id=149754
2623
2624         Reviewed by Alex Christensen.
2625
2626         Avoid compiling these files twice, they are already included in
2627         RenderingAllInOne.cpp.
2628
2629         * PlatformWinCairo.cmake:
2630
2631 2015-10-02  Alex Christensen  <achristensen@webkit.org>
2632
2633         Reloading without content blockers doesn't apply to resource loads after the main frame finishes
2634         https://bugs.webkit.org/show_bug.cgi?id=149430
2635         rdar://problem/22742222
2636
2637         Reviewed by Geoffrey Garen.
2638
2639         Test: http/tests/contentextensions/disable-blocker.html
2640
2641         * html/HTMLMediaElement.cpp:
2642         (WebCore::HTMLMediaElement::loadResource):
2643         * loader/DocumentLoader.h:
2644         (WebCore::DocumentLoader::userContentExtensionsEnabled):
2645         (WebCore::DocumentLoader::setUserContentExtensionsEnabled):
2646         Store and use the state of whether content blockers are enabled or not on the DocumentLoader
2647         so that it stays constant for a document's entire life.  This state comes from the Page when
2648         making the DocumentLoader in WebKit2.
2649         * loader/FrameLoader.cpp:
2650         (WebCore::FrameLoader::loadResourceSynchronously):
2651         * loader/ResourceLoader.cpp:
2652         (WebCore::ResourceLoader::willSendRequestInternal):
2653         * loader/cache/CachedResourceLoader.cpp:
2654         (WebCore::CachedResourceLoader::requestResource):
2655         * page/DOMWindow.cpp:
2656         (WebCore::DOMWindow::open):
2657         * page/UserContentController.cpp:
2658         (WebCore::UserContentController::removeAllUserContentExtensions):
2659         (WebCore::UserContentController::processContentExtensionRulesForLoad):
2660         (WebCore::UserContentController::actionsForResourceLoad):
2661         * page/UserContentController.h:
2662
2663 2015-10-02  Antoine Quint  <graouts@apple.com>
2664
2665         popstate is fired at the wrong time on load
2666         https://bugs.webkit.org/show_bug.cgi?id=94265
2667
2668         Reviewed by Darin Adler.
2669
2670         Don't fire popstate event on initial document load
2671
2672         According to the specification [1], a popstate event should only be fired
2673         when the document has a "last entry" and the entry being navigated to isn't
2674         it.  A document is created without a "last entry" and gets one just after
2675         this check when it is first navigated to, so a popstate should be fired any
2676         time a document is navigated to except for the first time after it has been
2677         created.
2678
2679         Patch adapted from work by jl@opera.com on Blink [2].
2680
2681         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#traverse-the-history (step 12-14 in particular)
2682         [2] https://src.chromium.org/viewvc/blink?revision=165221&view=revision
2683
2684         * dom/Document.cpp:
2685         (WebCore::Document::implicitClose):
2686
2687 2015-10-02  Javier Fernandez  <jfernandez@igalia.com>
2688
2689         [CSS Grid Layout] Support for Content Alignment in grid layout
2690         https://bugs.webkit.org/show_bug.cgi?id=145520
2691
2692         Reviewed by Darin Adler.
2693
2694         According to CSS Box Alignment specification, Content Distribution
2695         alignment controls alignment of the box's content within the box. The
2696         alignment container is the grid container's content box. The alignment
2697         subjects are the grid tracks.
2698
2699         This patch implements Grid Layout support for Content Distribution
2700         alignment along both block/column and inline/row axis, which are handled
2701         by align-content and justify-content properties respectively.
2702
2703         This patch provides support for overflow handling, similar to what
2704         Self Alignment provides with grid items, and both <content-position>
2705         and <content-distribution> values.
2706
2707         Baseline Alignment is still missing because it requires some additional
2708         behavior to be supported on grids before considering its implementation.
2709
2710         Tests: css3/overwrite-content-alignment.html
2711                css3/overwrite-self-alignment.html
2712                fast/css-grid-layout/grid-align-content-distribution-vertical-lr.html
2713                fast/css-grid-layout/grid-align-content-distribution-vertical-rl.html
2714                fast/css-grid-layout/grid-align-content-distribution.html
2715                fast/css-grid-layout/grid-align-content-vertical-lr.html
2716                fast/css-grid-layout/grid-align-content-vertical-rl.html
2717                fast/css-grid-layout/grid-align-content.html
2718                fast/css-grid-layout/grid-content-alignment-overflow.html
2719                fast/css-grid-layout/grid-content-alignment-with-different-sized-tracks.html
2720                fast/css-grid-layout/grid-content-alignment-with-span-vertical-lr.html
2721                fast/css-grid-layout/grid-content-alignment-with-span-vertical-rl.html
2722                fast/css-grid-layout/grid-content-alignment-with-span.html
2723                fast/css-grid-layout/grid-justify-content-distribution-vertical-lr.html
2724                fast/css-grid-layout/grid-justify-content-distribution-vertical-rl.html
2725                fast/css-grid-layout/grid-justify-content-distribution.html
2726                fast/css-grid-layout/grid-justify-content-vertical-lr.html
2727                fast/css-grid-layout/grid-justify-content-vertical-rl.html
2728                fast/css-grid-layout/grid-justify-content.html
2729
2730         * rendering/RenderFlexibleBox.cpp:
2731         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2732         (WebCore::RenderFlexibleBox::layoutColumnReverse):
2733         (WebCore::RenderFlexibleBox::alignFlexLines):
2734         * rendering/RenderGrid.cpp:
2735         (WebCore::ContentAlignmentData::ContentAlignmentData):
2736         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
2737         (WebCore::RenderGrid::layoutGridItems):
2738         (WebCore::RenderGrid::gridAreaBreadthForChild):
2739         (WebCore::RenderGrid::populateGridPositions):
2740         (WebCore::resolveContentDistributionFallback):
2741         (WebCore::offsetToStartEdge):
2742         (WebCore::offsetToEndEdge):
2743         (WebCore::contentDistributionOffset):
2744         (WebCore::RenderGrid::computeContentPositionAndDistributionColumnOffset):
2745         (WebCore::RenderGrid::computeContentPositionAndDistributionRowOffset):
2746         (WebCore::RenderGrid::findChildLogicalPosition):
2747         (WebCore::RenderGrid::computePreferredLogicalWidths): Deleted.
2748         (WebCore::RenderGrid::autoPlacementMajorAxisDirection): Deleted.
2749         (WebCore::RenderGrid::autoPlacementMinorAxisDirection): Deleted.
2750         (WebCore::RenderGrid::cachedGridCoordinate): Deleted.
2751         (WebCore::RenderGrid::rowPositionForChild): Deleted.
2752         * rendering/RenderGrid.h:
2753         * rendering/style/RenderStyle.cpp:
2754         (WebCore::RenderStyle::resolvedAlignContentPosition):
2755         (WebCore::RenderStyle::resolvedAlignContentDistribution):
2756         (WebCore::RenderStyle::resolvedJustifyContentPosition):
2757         (WebCore::RenderStyle::resolvedJustifyContentDistribution):
2758         * rendering/style/RenderStyle.h:
2759
2760 2015-10-02  Dean Jackson  <dino@apple.com>
2761
2762         Attempted build fix.
2763
2764         * DerivedSources.make:
2765         * page/make_settings.pl:
2766         (printGetterAndSetter):
2767
2768 2015-10-01  Dean Jackson  <dino@apple.com>
2769
2770         Expose WEBGL_debug_renderer_info
2771         https://bugs.webkit.org/show_bug.cgi?id=149735
2772         <rdar://problem/18343500>
2773
2774         Reviewed by Simon Fraser.
2775
2776         Take two at landing this.
2777
2778         Enable the extension that allows content to query
2779         for the GPUs vendor and details.
2780
2781         Now that we're enabling this, there was no need for
2782         the internal setting that identified privileged situations.
2783         However, since this meant that WEBGL_debug_shaders was
2784         also exposed, I explicitly disable it since it is
2785         not yet conformant.
2786
2787         Test: fast/canvas/webgl/webgl-debug-renderer-info.html
2788         as well as the general conformance suite.
2789
2790         * html/canvas/WebGL2RenderingContext.cpp: No need to guard around allowPrivilegedExtensions().
2791         (WebCore::WebGL2RenderingContext::getExtension):
2792         (WebCore::WebGL2RenderingContext::getSupportedExtensions):
2793         * html/canvas/WebGLRenderingContext.cpp: Ditto.
2794         (WebCore::WebGLRenderingContext::getExtension):
2795         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2796         * html/canvas/WebGLRenderingContextBase.cpp:
2797         (WebCore::WebGLRenderingContextBase::allowPrivilegedExtensions): Deleted.
2798         * html/canvas/WebGLRenderingContextBase.h:
2799         * page/Settings.in: Remove privilegedWebGLExtensions.
2800         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Forbid the translated shader
2801         extension while it is still buggy.
2802         (WebCore::Extensions3DOpenGL::supportsExtension):
2803
2804 2015-10-01  Csaba Osztrogonác  <ossy@webkit.org>
2805
2806         Fix the #if guard in PointerLockController.cpp
2807         https://bugs.webkit.org/show_bug.cgi?id=149705
2808
2809         Reviewed by Gyuyoung Kim.
2810
2811         * page/PointerLockController.cpp:
2812
2813 2015-10-01  Dean Jackson  <dino@apple.com>
2814
2815         Rollout r190446 for the moment. It broke the build.
2816
2817         * html/canvas/WebGL2RenderingContext.cpp:
2818         (WebCore::WebGL2RenderingContext::getExtension):
2819         (WebCore::WebGL2RenderingContext::getSupportedExtensions):
2820         * html/canvas/WebGLRenderingContext.cpp:
2821         (WebCore::WebGLRenderingContext::getExtension):
2822         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2823         * html/canvas/WebGLRenderingContextBase.cpp:
2824         (WebCore::WebGLRenderingContextBase::allowPrivilegedExtensions):
2825         * html/canvas/WebGLRenderingContextBase.h:
2826         * page/Settings.in:
2827         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2828         (WebCore::Extensions3DOpenGL::supportsExtension): Deleted.
2829
2830 2015-10-01  Jaehun Lim  <ljaehun.lim@samsung.com>
2831
2832         Unreviewed, fix build warning after r190434
2833
2834         Fix error: variable ‘interruption’ set but not used [-Werror=unused-but-set-variable]
2835
2836         * testing/Internals.cpp:
2837         (WebCore::Internals::beginMediaSessionInterruption):
2838
2839 2015-10-01  Dean Jackson  <dino@apple.com>
2840
2841         Expose WEBGL_debug_renderer_info
2842         https://bugs.webkit.org/show_bug.cgi?id=149735
2843         <rdar://problem/18343500>
2844
2845         Reviewed by Simon Fraser.
2846
2847         Enable the extension that allows content to query
2848         for the GPUs vendor and details.
2849
2850         Now that we're enabling this, there was no need for
2851         the internal setting that identified privileged situations.
2852         However, since this meant that WEBGL_debug_shaders was
2853         also exposed, I explicitly disable it since it is
2854         not yet conformant.
2855
2856         Test: fast/canvas/webgl/webgl-debug-renderer-info.html
2857         as well as the general conformance suite.
2858
2859         * html/canvas/WebGL2RenderingContext.cpp: No need to guard around allowPrivilegedExtensions().
2860         (WebCore::WebGL2RenderingContext::getExtension):
2861         (WebCore::WebGL2RenderingContext::getSupportedExtensions):
2862         * html/canvas/WebGLRenderingContext.cpp: Ditto.
2863         (WebCore::WebGLRenderingContext::getExtension):
2864         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2865         * html/canvas/WebGLRenderingContextBase.cpp:
2866         (WebCore::WebGLRenderingContextBase::allowPrivilegedExtensions): Deleted.
2867         * html/canvas/WebGLRenderingContextBase.h:
2868         * page/Settings.in: Remove privilegedWebGLExtensions.
2869         * platform/graphics/opengl/Extensions3DOpenGL.cpp: Forbid the translated shader
2870         extension while it is still buggy.
2871         (WebCore::Extensions3DOpenGL::supportsExtension):
2872
2873 2015-10-01  Eric Carlson  <eric.carlson@apple.com>
2874
2875         [iOS] AirPlay should not stop when the screen locks
2876         https://bugs.webkit.org/show_bug.cgi?id=148315
2877         <rdar://problem/22770703>
2878
2879         Reviewed by Jer Noble.
2880
2881         Tested by media/video-interruption-with-resume-allowing-play.html
2882                   media/video-interruption-with-resume-not-allowing-play.html
2883
2884         * Modules/webaudio/AudioContext.h: overrideBackgroundPlaybackRestriction -> 
2885           shouldOverrideBackgroundPlaybackRestriction.
2886
2887         * html/HTMLMediaElement.cpp:
2888         (WebCore::HTMLMediaElement::suspendPlayback): Fix a typo in the logging.
2889         (WebCore::HTMLMediaElement::mayResumePlayback): Ditto.
2890         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Renamed from
2891           overrideBackgroundPlaybackRestriction.
2892         (WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Deleted.
2893         * html/HTMLMediaElement.h:
2894
2895         * platform/audio/PlatformMediaSession.cpp:
2896         (WebCore::stateName):
2897         (WebCore::interruptionName): New, log the name of the interruption.
2898         (WebCore::PlatformMediaSession::beginInterruption): Log the interruption type. Don't
2899           increment the interruption counter if we are going to ignore it. Incorporate logic
2900           from doInterruption.
2901         (WebCore::PlatformMediaSession::doInterruption): Deleted.
2902         (WebCore::PlatformMediaSession::shouldDoInterruption): Deleted.
2903         (WebCore::PlatformMediaSession::forceInterruption): Deleted.
2904
2905         * platform/audio/PlatformMediaSession.h: Add SuspendedUnderLock interruption type.
2906         * platform/audio/PlatformMediaSessionManager.cpp:
2907         (WebCore::PlatformMediaSessionManager::applicationDidEnterBackground): Deleted.
2908         * platform/audio/PlatformMediaSessionManager.h:
2909
2910         * platform/audio/ios/MediaSessionManagerIOS.h:
2911         * platform/audio/ios/MediaSessionManagerIOS.mm:
2912         (WebCore::MediaSessionManageriOS::applicationDidEnterBackground): Call beginInterruption
2913           when appropriate.
2914
2915 2015-10-01  Ryosuke Niwa  <rniwa@webkit.org>
2916
2917         Slot elements should support fallback contents
2918         https://bugs.webkit.org/show_bug.cgi?id=149701
2919
2920         Reviewed by Antti Koivisto.
2921
2922         Following discussions on Github discussions [1] [2], we're adding the default rule of `display: contents`
2923         on slot elements and making slot elements render its children when there are no assigned nodes [3].
2924
2925         Make these changes by attaching renderers on direct-children of slot elements when there are no assigned
2926         nodes during render tree construction. Note `display: contents` will be aded in webkit.org/b/149439.
2927
2928         [1] https://github.com/w3c/webcomponents/issues/317
2929         [2] https://github.com/w3c/webcomponents/issues/308
2930         [3] https://github.com/w3c/webcomponents/issues/308#issuecomment-143655347
2931
2932         Tests: fast/shadow-dom/css-scoping-shadow-slot-fallback.html
2933                fast/shadow-dom/shadow-layout-after-slot-fallback-changes.html
2934
2935         * style/StyleResolveTree.cpp:
2936         (WebCore::Style::attachSlotAssignees):
2937         (WebCore::Style::detachSlotAssignees):
2938         (WebCore::Style::resolveSlotAssignees):
2939
2940 2015-10-01  Brent Fulgham  <bfulgham@apple.com>
2941
2942         Latch does not clear when a scroll snap animation is triggered
2943         https://bugs.webkit.org/show_bug.cgi?id=149681
2944         <rdar://problem/22733922>
2945
2946         Reviewed by Simon Fraser.
2947
2948         Test: tiled-drawing/scrolling/latched-div-with-scroll-snap.html
2949
2950         The scroll snap animation logic bypasses some of the normal clean-up code used
2951         for wheel event handling. When this happens, the scroll latching state is not
2952         cleared. In some cases this "stale" latch state is used when starting a new
2953         gesture in the same frame. This causes the wrong page element to receive the
2954         mouse wheel events, and hilarity ensues.
2955
2956         * page/mac/EventHandlerMac.mm:
2957         (WebCore::EventHandler::platformNotifyIfEndGesture): Clear latched state when
2958         ending the gesture.
2959
2960 2015-10-01  Brent Fulgham  <bfulgham@apple.com>
2961
2962         [Win] Unreviewed CMake build fixes.
2963
2964         * CMakeLists.txt: Match original Windows build flags for WebCoreTest.
2965         * PlatformAppleWin.cmake: Use the same build defines as the
2966         original Windows build.
2967
2968 2015-09-30  João Oliveira  <hello@jxs.pt>
2969
2970         Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
2971         https://bugs.webkit.org/show_bug.cgi?id=149590
2972
2973         Reviewed by Joseph Pecoraro.
2974
2975         Patch by João Oliveira and Brian Burg.
2976
2977         Expose the frontend page's zoom factor so we can implement relative zoom.
2978
2979         * inspector/InspectorFrontendHost.cpp:
2980         (WebCore::InspectorFrontendHost::zoomFactor): Added.
2981         * inspector/InspectorFrontendHost.h:
2982         * inspector/InspectorFrontendHost.idl:
2983         * page/Frame.h:
2984         (WebCore::Frame::pageZoomFactor):
2985
2986 2015-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>
2987
2988         [GTK] Websites with invalid auth header keep loading forever
2989         https://bugs.webkit.org/show_bug.cgi?id=149710
2990
2991         Reviewed by Martin Robinson.
2992
2993         We don't correctly handle a null realm from the server when
2994         retrieving and storing credentials from libsecret. First
2995         secret_attributes_build() fails because we pass a null domain, and
2996         we pass null attributes to secret_service_search() that returns
2997         early on a g_return macro and the callback is never called so the
2998         load doesn't continue after the auth challenge.
2999
3000         * platform/network/gtk/CredentialBackingStore.cpp:
3001         (WebCore::createAttributeHashTableFromChallenge):
3002         (WebCore::CredentialBackingStore::credentialForChallenge):
3003         (WebCore::CredentialBackingStore::storeCredentialsForChallenge):
3004
3005 2015-10-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3006
3007         Refactor binding generator to factor JS DOM class m_impl handling
3008         https://bugs.webkit.org/show_bug.cgi?id=149660
3009
3010         Reviewed by Darin Adler.
3011
3012         Added JSDOMWrapperWithImplementation template class to move m_impl out of the binding generator.
3013         Updated custom bindings to use impl() instead of m_impl directly.
3014         Updated binding generator accordingly.
3015
3016         Covered by existing tests and binding tests.
3017
3018         * bindings/js/JSDOMStringMapCustom.cpp:
3019         (WebCore::JSDOMStringMap::getOwnPropertyNames):
3020         (WebCore::JSDOMStringMap::deleteProperty):
3021         * bindings/js/JSDOMWrapper.h:
3022         (WebCore::JSDOMWrapperWithImplementation::impl):
3023         (WebCore::JSDOMWrapperWithImplementation::~JSDOMWrapperWithImplementation):
3024         (WebCore::JSDOMWrapperWithImplementation::JSDOMWrapperWithImplementation):
3025         (WebCore::JSDOMWrapperWithImplementation::releaseImpl):
3026         * bindings/js/JSGeolocationCustom.cpp:
3027         (WebCore::JSGeolocation::getCurrentPosition):
3028         (WebCore::JSGeolocation::watchPosition):
3029         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3030         (WebCore::JSSQLResultSetRowList::item):
3031         * bindings/js/JSSQLTransactionCustom.cpp:
3032         (WebCore::JSSQLTransaction::executeSql):
3033         * bindings/js/JSStorageCustom.cpp:
3034         (WebCore::JSStorage::deleteProperty):
3035         (WebCore::JSStorage::getOwnPropertyNames):
3036         * bindings/js/JSSubtleCryptoCustom.cpp:
3037         (WebCore::JSSubtleCrypto::encrypt):
3038         (WebCore::JSSubtleCrypto::decrypt):
3039         (WebCore::JSSubtleCrypto::sign):
3040         (WebCore::JSSubtleCrypto::verify):
3041         (WebCore::JSSubtleCrypto::wrapKey):
3042         (WebCore::JSSubtleCrypto::unwrapKey):
3043         * bindings/scripts/CodeGeneratorJS.pm:
3044         (GetParentClassName):
3045         (GetImplClassName):
3046         (GenerateHeader):
3047         (GenerateImplementation):
3048         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3049         (WebCore::JSTestActiveDOMObject::JSTestActiveDOMObject):
3050         (WebCore::JSTestActiveDOMObject::getOwnPropertySlot): Deleted.
3051         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
3052         (WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject):
3053         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
3054         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::JSTestCustomConstructorWithNoInterfaceObject):
3055         (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor): Deleted.
3056         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
3057         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::~JSTestCustomConstructorWithNoInterfaceObject):
3058         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::finishCreation): Deleted.
3059         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3060         (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
3061         (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot): Deleted.
3062         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
3063         (WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter):
3064         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3065         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
3066         (WebCore::jsTestEventConstructorAttr1): Deleted.
3067         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3068         (WebCore::JSTestEventConstructor::~JSTestEventConstructor):
3069         (WebCore::JSTestEventConstructor::finishCreation): Deleted.
3070         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3071         (WebCore::JSTestEventTarget::JSTestEventTarget):
3072         (WebCore::JSTestEventTarget::getOwnPropertySlot): Deleted.
3073         * bindings/scripts/test/JS/JSTestEventTarget.h:
3074         (WebCore::JSTestEventTarget::~JSTestEventTarget):
3075         * bindings/scripts/test/JS/JSTestException.cpp:
3076         (WebCore::JSTestException::JSTestException):
3077         (WebCore::JSTestException::getOwnPropertySlot): Deleted.
3078         * bindings/scripts/test/JS/JSTestException.h:
3079         (WebCore::JSTestException::~JSTestException):
3080         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3081         (WebCore::JSTestGenerateIsReachable::JSTestGenerateIsReachable):
3082         (WebCore::jsTestGenerateIsReachableConstructor): Deleted.
3083         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
3084         (WebCore::JSTestGenerateIsReachable::~JSTestGenerateIsReachable):
3085         (WebCore::JSTestGenerateIsReachable::finishCreation): Deleted.
3086         * bindings/scripts/test/JS/JSTestInterface.cpp:
3087         (WebCore::JSTestInterface::JSTestInterface):
3088         (WebCore::JSTestInterface::getOwnPropertySlot): Deleted.
3089         * bindings/scripts/test/JS/JSTestInterface.h:
3090         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
3091         (WebCore::jsTestJSBuiltinConstructorConstructor): Deleted.
3092         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
3093         (WebCore::JSTestJSBuiltinConstructor::~JSTestJSBuiltinConstructor):
3094         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3095         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3096         (WebCore::jsTestMediaQueryListListenerConstructor): Deleted.
3097         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3098         (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
3099         (WebCore::JSTestMediaQueryListListener::finishCreation): Deleted.
3100         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3101         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
3102         (WebCore::jsTestNamedConstructorConstructor): Deleted.
3103         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3104         (WebCore::JSTestNamedConstructor::~JSTestNamedConstructor):
3105         (WebCore::JSTestNamedConstructor::finishCreation): Deleted.
3106         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
3107         (WebCore::JSTestNondeterministic::JSTestNondeterministic):
3108         (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr): Deleted.
3109         * bindings/scripts/test/JS/JSTestNondeterministic.h:
3110         (WebCore::JSTestNondeterministic::~JSTestNondeterministic):
3111         (WebCore::JSTestNondeterministic::finishCreation): Deleted.
3112         * bindings/scripts/test/JS/JSTestObj.cpp:
3113         (WebCore::JSTestObj::JSTestObj):
3114         (WebCore::JSTestObj::getOwnPropertySlot): Deleted.
3115         * bindings/scripts/test/JS/JSTestObj.h:
3116         (WebCore::JSTestObj::~JSTestObj):
3117         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3118         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
3119         (WebCore::jsTestOverloadedConstructorsConstructor): Deleted.
3120         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3121         (WebCore::JSTestOverloadedConstructors::~JSTestOverloadedConstructors):
3122         (WebCore::JSTestOverloadedConstructors::finishCreation): Deleted.
3123         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
3124         (WebCore::JSTestOverrideBuiltins::JSTestOverrideBuiltins):
3125         (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): Deleted.
3126         * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
3127         (WebCore::JSTestOverrideBuiltins::~JSTestOverrideBuiltins):
3128         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3129         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3130         (WebCore::jsTestSerializedScriptValueInterfaceValue): Deleted.
3131         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3132         (WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface):
3133         (WebCore::JSTestSerializedScriptValueInterface::finishCreation): Deleted.
3134         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3135         (WebCore::JSTestTypedefs::JSTestTypedefs):
3136         (WebCore::JSTestTypedefs::getOwnPropertySlot): Deleted.
3137         * bindings/scripts/test/JS/JSTestTypedefs.h:
3138         (WebCore::JSTestTypedefs::~JSTestTypedefs):
3139         * bindings/scripts/test/JS/JSattribute.cpp:
3140         (WebCore::JSattribute::JSattribute):
3141         (WebCore::jsattributeReadonly): Deleted.
3142         * bindings/scripts/test/JS/JSattribute.h:
3143         (WebCore::JSattribute::~JSattribute):
3144         (WebCore::JSattribute::finishCreation): Deleted.
3145         * bindings/scripts/test/JS/JSreadonly.cpp:
3146         (WebCore::JSreadonly::JSreadonly):
3147         (WebCore::jsreadonlyConstructor): Deleted.
3148         * bindings/scripts/test/JS/JSreadonly.h:
3149         (WebCore::JSreadonly::~JSreadonly):
3150         (WebCore::JSreadonly::finishCreation): Deleted.
3151
3152 2015-10-01  Csaba Osztrogonác  <ossy@webkit.org>
3153
3154         Fix the ARM build after r190192
3155         https://bugs.webkit.org/show_bug.cgi?id=149620
3156
3157         Reviewed by Darin Adler.
3158
3159         * platform/graphics/FontFeatureSettings.h:
3160         (WebCore::fontFeatureTag):
3161
3162 2015-10-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3163
3164         [Streams API] Add support for private WebCore JS builtins functions
3165         https://bugs.webkit.org/show_bug.cgi?id=149518
3166
3167         Reviewed by Darin Adler.
3168
3169         Using ReadableStream tee method as a testbed to add support for private WebCore JS builtins functions.
3170         Private functions are hooked to JSDOMWindowBase, as it is the one connected to WebCoreClientData.
3171         WebCoreClientData is responsible to export the private function symbols to the VM.
3172
3173         Updated generate-js-builtins script to generate a class that can create and own all JS functions.
3174         This class is used by JSDOMWindowBase to create the JS builtin functions.
3175         It is also used to manage the GC of these objects.
3176
3177         Covered by rebased tests.
3178
3179         * CMakeLists.txt: Adding ReadableStreamInternals builtin files.
3180         * DerivedSources.cpp: Ditto.
3181         * DerivedSources.make: Ditto.
3182         * Modules/streams/ReadableStream.idl: Adding tee declaration as builtin
3183         * Modules/streams/ReadableStream.js:
3184         (tee): Calling @teeReadableStream
3185         * Modules/streams/ReadableStreamInternals.js: Barebone @teeReadableStream implementation.
3186         (teeReadableStream):
3187         * WebCore.vcxproj/WebCore.vcxproj: Adding ReadableStreamInternals builtin files.
3188         * WebCore.xcodeproj/project.pbxproj: Adding ReadableStreamInternals builtin files.
3189         * bindings/js/JSDOMWindowBase.cpp:
3190         (WebCore::JSDOMWindowBase::JSDOMWindowBase): Creating ReadableStreamInternalsBuiltinFunctions object.
3191         (WebCore::JSDOMWindowBase::finishCreation): Creating builtin functions through ReadableStreamInternalsBuiltinFunctions and registering them to the JS engine.
3192         (WebCore::JSDOMWindowBase::visitChildren): Ensuring GC does not collect private builtin functions through ReadableStreamInternalsBuiltinFunctions object
3193         * bindings/js/JSDOMWindowBase.h:
3194         * bindings/js/WebCoreJSClientData.h:
3195         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Exporting private names of ReadableStreamInternalsBuiltins
3196         (WebCore::WebCoreJSClientData::readableStreamBuiltins):
3197         (WebCore::WebCoreJSClientData::readableStreamInternalsBuiltins):
3198         * generate-js-builtins: Adding support for ReadableStreamInternalsBuiltinFunctions and exportNames.
3199
3200 2015-10-01  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3201
3202         Binding generator should make mutable CachedAttribute member fields
3203         https://bugs.webkit.org/show_bug.cgi?id=148056
3204
3205         Reviewed by Chris Dumez.
3206
3207         Making mutable CachedAttribute member fields.
3208         Removing const_cast from custom binding code.
3209         Rebased bindings tests.
3210
3211         No change in behavior.
3212
3213         * bindings/js/JSHistoryCustom.cpp:
3214         (WebCore::JSHistory::state):
3215         * bindings/js/JSMessageEventCustom.cpp:
3216         (WebCore::JSMessageEvent::data):
3217         * bindings/js/JSPopStateEventCustom.cpp:
3218         (WebCore::cacheState):
3219         (WebCore::JSPopStateEvent::state):
3220         * bindings/js/JSReadableStreamReaderEventCustom.cpp:
3221         (WebCore::JSReadableStreamReader::closed):
3222         * bindings/js/JSXMLHttpRequestCustom.cpp:
3223         (WebCore::JSXMLHttpRequest::response):
3224         * bindings/scripts/CodeGeneratorJS.pm:
3225         (GenerateHeader):
3226         * bindings/scripts/test/JS/JSTestObj.h:
3227         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3228
3229 2015-10-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3230
3231         [Streams API] Create ByteLengthQueuingStrategy object as per spec
3232         https://bugs.webkit.org/show_bug.cgi?id=147153
3233
3234         Reviewed by Darin Adler.
3235
3236         Added ByteLengthQueuingStream class as the spec defines at https://streams.spec.whatwg.org/#blqs-class.
3237
3238         Tests are covered by current set.
3239
3240         * CMakeLists.txt:
3241         * DerivedSources.cpp:
3242         * DerivedSources.make:
3243         * WebCore.vcxproj/WebCore.vcxproj:
3244         * WebCore.vcxproj/WebCore.vcxproj.filters:
3245         * WebCore.xcodeproj/project.pbxproj:
3246         * bindings/js/WebCoreJSBuiltins.cpp: Added build instructions.
3247         * Modules/streams/ByteLengthQueuingStrategy.idl: Added.
3248         * Modules/streams/ByteLengthQueuingStrategy.js: Copied from Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp.
3249         (size): Return byteLength attribute of the chunk.
3250         (initializeByteLengthQueuingStrategy): Initialize the highWaterMark property.
3251         * bindings/js/WebCoreJSClientData.h:
3252         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Initialize the blqs builtins.
3253         (WebCore::WebCoreJSClientData::byteLengthQueuingStrategyBuiltins): Return the attribute.
3254
3255 2015-10-01  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
3256
3257         Clean up all uses of PassRefPtr in Modules/geolocation
3258         https://bugs.webkit.org/show_bug.cgi?id=149552
3259
3260         Reviewed by Darin Adler.
3261
3262         * Modules/geolocation/GeoNotifier.cpp:
3263         (WebCore::GeoNotifier::GeoNotifier):
3264         (WebCore::GeoNotifier::setFatalError):
3265         * Modules/geolocation/GeoNotifier.h:
3266         (WebCore::GeoNotifier::create):
3267         * Modules/geolocation/Geolocation.cpp:
3268         (WebCore::createGeoposition):
3269         (WebCore::createPositionError):
3270         (WebCore::Geolocation::Watchers::add):
3271         (WebCore::Geolocation::getCurrentPosition):
3272         (WebCore::Geolocation::watchPosition):
3273         (WebCore::Geolocation::startRequest):
3274         * Modules/geolocation/Geolocation.h:
3275         * Modules/geolocation/GeolocationError.h:
3276         * Modules/geolocation/GeolocationPosition.h:
3277         * Modules/geolocation/Geoposition.h:
3278         (WebCore::Geoposition::create):
3279         (WebCore::Geoposition::isolatedCopy):
3280         (WebCore::Geoposition::Geoposition):
3281         * Modules/geolocation/PositionError.h:
3282         * Modules/geolocation/PositionOptions.h:
3283
3284 2015-09-30  Hunseop Jeong  <hs85.jeong@samsung.com>
3285
3286         [EFL][Gtk] Try to fix the build after r190379.
3287         https://bugs.webkit.org/show_bug.cgi?id=149693
3288
3289         Reviewed by Gyuyoung Kim.
3290
3291         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3292
3293 2015-09-30  Katlyn Graff  <kgraff@apple.com>
3294
3295         Add support for the imageSmoothingQuality property for CanvasRenderingContext2D.
3296         https://bugs.webkit.org/show_bug.cgi?id=149541
3297
3298         Reviewed by Ryosuke Niwa.
3299
3300         As documented here: https://html.spec.whatwg.org/multipage/scripting.html#image-smoothing
3301         Exposes the smooothing quality of algorithms used for scaling images. Valid input
3302         values are low, medium, and high: associated algorithms are expected to vary for
3303         differing hardware. setImageSmoothingQuality provides a handle into CGInterpolationQuality.
3304
3305         Test: fast/canvas/canvas-imageSmoothingQuality.html
3306
3307         * html/canvas/CanvasRenderingContext2D.cpp:
3308         (WebCore::CanvasRenderingContext2D::State::State):
3309         (WebCore::CanvasRenderingContext2D::State::operator=):
3310         (WebCore::smoothingToInterpolationQuality):
3311         (WebCore::CanvasRenderingContext2D::imageSmoothingQuality):
3312         (WebCore::CanvasRenderingContext2D::setImageSmoothingQuality):
3313         (WebCore::CanvasRenderingContext2D::setImageSmoothingEnabled):
3314         * html/canvas/CanvasRenderingContext2D.h:
3315         * html/canvas/CanvasRenderingContext2D.idl:
3316
3317 2015-09-30  Dean Jackson  <dino@apple.com>
3318
3319         GraphicsContext3D::mappedSymbolName should initialize count variable
3320         https://bugs.webkit.org/show_bug.cgi?id=149692
3321         <rdar://problem/22871304>
3322
3323         Reviewed by Simon Fraser.
3324
3325         While debugging another WebGL issue, I noticed that some
3326         OpenGL renderers can get into a state where they
3327         drop resources (e.g. a GPU reset). If we don't detect that
3328         in time, we might try to ask for the currently attached
3329         resources and our in-parameter will not be set. In this
3330         case, initialize it to zero so that we don't do silly things.
3331
3332         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3333         (WebCore::GraphicsContext3D::mappedSymbolName): Initialize count to 0.
3334
3335 2015-09-30  Dean Jackson  <dino@apple.com>
3336
3337         Crash in gleLookupHashObject when context is lost
3338         https://bugs.webkit.org/show_bug.cgi?id=149690
3339         <rdar://problem/22751585>
3340         <rdar://problem/22465495>
3341
3342         Reviewed by Simon Fraser.
3343
3344         When we received notification that the GPU has reset,
3345         we were nulling out and deleting our OpenGL contexts
3346         and then trying to do it all over again. The fix was
3347         to flip the order of operations.
3348
3349         While there I added some logging, and changed the
3350         way we check GPU status to make sure we do a check
3351         after the first draw call.
3352
3353         Unfortunately we can't test automatically because it
3354         involves resetting the GPU which can possibly cause
3355         concurrent tests to fail.
3356
3357         * platform/graphics/mac/GraphicsContext3DMac.mm:
3358         (WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Move forceContextLost()
3359         to be the first thing we do after we've realised we need to
3360         bail.
3361
3362 2015-09-30  Brady Eidson  <beidson@apple.com>
3363
3364         Add UniqueIDBDatabase object, IDBBackingStore objects, and a database operation thread.
3365         https://bugs.webkit.org/show_bug.cgi?id=149678
3366
3367         Reviewed by Alex Christensen.
3368
3369         Test: storage/indexeddb/modern/opendatabase-request-event.html
3370
3371         - UniqueIDBDatabase represents a specific IDB database instance that can have multiple 
3372           connections to it.
3373         - IDBBackingStore is an abstract representation of a unique database's backing store, 
3374           and has a concrete in-memory implementation for now.
3375         - The database thread exists on IDBServer and is for offloading actual database I/O from 
3376           the main thread.
3377
3378         * CMakeLists.txt:
3379
3380         * Modules/indexeddb/IDBDatabaseIdentifier.cpp:
3381         (WebCore::IDBDatabaseIdentifier::isolatedCopy):
3382         * Modules/indexeddb/IDBDatabaseIdentifier.h:
3383
3384         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3385         (WebCore::IDBClient::IDBConnectionToServer::openDatabase):
3386         (WebCore::IDBClient::IDBConnectionToServer::didOpenDatabase):
3387         * Modules/indexeddb/client/IDBConnectionToServer.h:
3388         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3389
3390         * Modules/indexeddb/client/IDBFactoryImpl.cpp:
3391         (WebCore::IDBClient::IDBFactory::openInternal):
3392
3393         * Modules/indexeddb/server/IDBBackingStore.h: Copied from Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h.
3394         (WebCore::IDBServer::IDBBackingStore::~IDBBackingStore):
3395
3396         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3397         (WebCore::IDBServer::IDBConnectionToClient::didOpenDatabase):
3398         * Modules/indexeddb/server/IDBConnectionToClient.h:
3399         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3400
3401         * Modules/indexeddb/server/IDBServer.cpp:
3402         (WebCore::IDBServer::IDBServer::IDBServer):
3403         (WebCore::IDBServer::IDBServer::getOrCreateUniqueIDBDatabase):
3404         (WebCore::IDBServer::IDBServer::createBackingStore):
3405         (WebCore::IDBServer::IDBServer::openDatabase):
3406         (WebCore::IDBServer::IDBServer::deleteDatabase):
3407         (WebCore::IDBServer::IDBServer::postDatabaseTask):
3408         (WebCore::IDBServer::IDBServer::postDatabaseTaskReply):
3409         (WebCore::IDBServer::IDBServer::databaseThreadEntry):
3410         (WebCore::IDBServer::IDBServer::databaseRunLoop):
3411         (WebCore::IDBServer::IDBServer::handleTaskRepliesOnMainThread):
3412         * Modules/indexeddb/server/IDBServer.h:
3413
3414         * Modules/indexeddb/server/IDBServerOperation.cpp: Copied from Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h.
3415         (WebCore::IDBServer::IDBServerOperation::create):
3416         (WebCore::IDBServer::IDBServerOperation::IDBServerOperation):
3417         * Modules/indexeddb/server/IDBServerOperation.h: Copied from Source/WebCore/Modules/indexeddb/server/IDBServer.h.
3418         (WebCore::IDBServer::IDBServerOperation::connection):
3419         (WebCore::IDBServer::IDBServerOperation::requestData):
3420
3421         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp: Copied from Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.cpp.
3422         (WebCore::IDBServer::MemoryIDBBackingStore::create):
3423         (WebCore::IDBServer::MemoryIDBBackingStore::MemoryIDBBackingStore):
3424         (WebCore::IDBServer::MemoryIDBBackingStore::~MemoryIDBBackingStore):
3425         (WebCore::IDBServer::MemoryIDBBackingStore::getOrEstablishDatabaseInfo):
3426         * Modules/indexeddb/server/MemoryIDBBackingStore.h: Copied from Source/WebCore/Modules/indexeddb/server/IDBConnectionToClient.h.
3427
3428         * Modules/indexeddb/server/UniqueIDBDatabase.cpp: Added.
3429         (WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
3430         (WebCore::IDBServer::UniqueIDBDatabase::openDatabaseConnection):
3431         (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations):
3432         (WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
3433         (WebCore::IDBServer::UniqueIDBDatabase::didOpenBackingStore):
3434         * Modules/indexeddb/server/UniqueIDBDatabase.h: Copied from Source/WebCore/Modules/indexeddb/server/IDBServer.h.
3435         (WebCore::IDBServer::UniqueIDBDatabase::create):
3436
3437         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp: Copied from Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h.
3438         (WebCore::IDBDatabaseInfo::IDBDatabaseInfo):
3439         (WebCore::IDBDatabaseInfo::isolatedCopy):
3440         * Modules/indexeddb/shared/IDBDatabaseInfo.h: Copied from Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h.
3441         (WebCore::IDBDatabaseInfo::IDBDatabaseInfo):
3442
3443         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3444         (WebCore::InProcessIDBServer::didDeleteDatabase):
3445         (WebCore::InProcessIDBServer::openDatabase):
3446         (WebCore::InProcessIDBServer::didOpenDatabase):
3447         * Modules/indexeddb/shared/InProcessIDBServer.h:
3448
3449         * WebCore.xcodeproj/project.pbxproj:
3450
3451         * platform/CrossThreadCopier.cpp: