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