1 2015-10-09 Simon Fraser <simon.fraser@apple.com>
3 [iOS WK2] Fix assertion in ViewportConfiguration::setDefaultConfiguration seen in testing
4 https://bugs.webkit.org/show_bug.cgi?id=149959
6 Reviewed by Tim Horton.
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.
13 The assertion seems wrong anyway; it's consulting m_defaultConfiguration.initialScaleIsSet
14 but defaultConfiguration.initialScale, so fix it to test defaultConfiguration.initialScaleIsSet.
16 * page/ViewportConfiguration.cpp:
17 (WebCore::ViewportConfiguration::setDefaultConfiguration):
19 2015-10-09 Csaba Osztrogonác <ossy@webkit.org>
21 Fix the !ENABLE(STREAM_API) build after r190794
22 https://bugs.webkit.org/show_bug.cgi?id=149955
24 Reviewed by Darin Adler.
26 * bindings/js/WebCoreJSBuiltinInternals.h:
27 (WebCore::JSBuiltinInternalFunctions::visit):
28 (WebCore::JSBuiltinInternalFunctions::init):
30 2015-10-09 Csaba Osztrogonác <ossy@webkit.org>
32 Fix the binding generator after r190785
33 https://bugs.webkit.org/show_bug.cgi?id=149956
35 Reviewed by Darin Adler.
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):
58 2015-10-08 Wenson Hsieh <wenson_hsieh@apple.com>
60 Backgrounds bleed out of natively rendered text fields
61 https://bugs.webkit.org/show_bug.cgi?id=149843
62 <rdar://problem/22896977>
64 Reviewed by Darin Adler.
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.
73 Test: fast/forms/hidpi-textfield-background-bleeding.html
75 * rendering/RenderThemeMac.mm:
76 (WebCore::RenderThemeMac::paintTextField):
78 2015-10-09 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
80 Refactor WebCore JS builtins to prepare for automatic generation
81 https://bugs.webkit.org/show_bug.cgi?id=149751
83 Reviewed by Darin Adler.
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.
92 Covered by existing tests.
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:
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.
140 2015-10-09 Youenn Fablet <youenn.fablet@crf.canon.fr>
142 Rationalize JSXXConstructor class definition
143 https://bugs.webkit.org/show_bug.cgi?id=149923
145 Reviewed by Darin Adler.
147 Declaration of JSXXConstructor::construct and JSXXConstructor::getConstructData
148 as long as JSXX is constructable from JavaScript.
150 Previously, JSXXConstructor::construct was not generated in case of CustomConstructor.
151 It is now generated and directly calls the custom constructor function.
153 getConstructData was declared conditionally with #if in case of ConstructorConditional.
154 The #if are now within getConstructData body.
156 Covered by binding tests.
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):
198 2015-10-07 Sergio Villar Senin <svillar@igalia.com>
200 [css-grid] Include freeSpace in GridSizingData struct
201 https://bugs.webkit.org/show_bug.cgi?id=149876
203 Reviewed by Darin Adler.
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.
211 No new tests required as this is just a refactoring.
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:
225 2015-10-08 Sergio Villar Senin <svillar@igalia.com>
227 [css-grid] Remove unneeded calls to compute(Content)LogicalWidth(Height)
228 https://bugs.webkit.org/show_bug.cgi?id=149926
230 Reviewed by Darin Adler.
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.
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
243 No new tests required as there is no change in functionality.
245 * rendering/RenderGrid.cpp:
246 (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
247 (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
248 (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
249 (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
250 * rendering/RenderGrid.h:
252 2015-10-08 Chris Dumez <cdumez@apple.com>
254 Unreviewed, build fix for ENABLE(MEDIA_SESSION) after r190030.
257 (WebCore::Document::updateIsPlayingMedia):
259 2015-10-08 Chris Dumez <cdumez@apple.com>
261 Unreviewed, build fixes for ENABLE(MEDIA_SESSION) after r190030.
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:
270 2015-10-08 Jiewen Tan <jiewen_tan@apple.com>
272 Gracefully handle XMLDocumentParser being detached by mutation events.
273 https://bugs.webkit.org/show_bug.cgi?id=149485
274 <rdar://problem/22811489>
276 This is a merge of Blink change 200026,
277 https://codereview.chromium.org/1267283002
279 Reviewed by Darin Adler.
281 Test: fast/parser/xhtml-dom-character-data-modified-crash.html
283 * xml/parser/XMLDocumentParser.cpp:
284 (WebCore::XMLDocumentParser::createLeafTextNode):
285 Renamed from enterText() to make it more descriptive.
287 (WebCore::XMLDocumentParser::updateLeafTextNode):
288 Renamed from exitText to firm up this stage.
290 (WebCore::XMLDocumentParser::end):
291 Gracefully handle stopped states.
293 (WebCore::XMLDocumentParser::enterText): Deleted.
294 (WebCore::XMLDocumentParser::exitText): Deleted.
296 * xml/parser/XMLDocumentParser.h:
297 Rename enterText to createLeafTextNode.
298 Rename exitText to updateLeafTextNode.
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.
310 2015-10-08 Chris Dumez <cdumez@apple.com>
312 data: URLs should not be preloaded
313 https://bugs.webkit.org/show_bug.cgi?id=149829
315 Reviewed by Darin Adler.
317 Fix review comments after r190605:
318 Use protocolIs() instead of String::startsWith().
320 * html/parser/HTMLPreloadScanner.cpp:
321 (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
323 2015-10-08 Chris Dumez <cdumez@apple.com>
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>
329 Reviewed by Myles Maxfield.
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):
364 2015-10-08 Andreas Kling <akling@apple.com>
366 Generated frame tree names should be kept reasonably long.
367 <https://webkit.org/b/149874>
369 Reviewed by Darin Adler.
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.
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.
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:
382 "<!--framePath //<MONSTER BLOB OF JAVASCRIPT FROM HELL>/<!--frame0--><!--frame0-->-->"
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.
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:
391 "<!--framePath //<!--frame0-->/<!--frame0-->/<!--frame0-->-->"
393 Test: fast/frames/long-names-in-nested-subframes.html
395 * page/FrameTree.cpp:
396 (WebCore::FrameTree::indexInParent):
397 (WebCore::FrameTree::uniqueChildName):
400 2015-10-08 Commit Queue <commit-queue@webkit.org>
402 Unreviewed, rolling out r190701.
403 https://bugs.webkit.org/show_bug.cgi?id=149937
405 "It did not help, will try a full roll out instead" (Requested
406 by cdumez on #webkit).
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
414 2015-10-08 Zalan Bujtas <zalan@apple.com>
416 Fallback to the RenderView when repaint container is null.
417 https://bugs.webkit.org/show_bug.cgi?id=149903
419 Reviewed by Simon Fraser.
421 Reduces code complexity at the calling sites.
423 No change in functionality.
425 * rendering/RenderObject.cpp:
426 (WebCore::RenderObject::repaintUsingContainer):
427 (WebCore::RenderObject::repaint):
428 (WebCore::RenderObject::repaintRectangle):
430 2015-10-08 Jiewen Tan <jiewen_tan@apple.com>
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>
436 Reviewed by Darin Adler.
438 Test: fast/css/zoom-on-nested-scroll-crash.html
440 This is a merge of Blink r158238:
441 https://chromiumcodereview.appspot.com/23526081
443 * rendering/RenderBox.cpp:
444 (WebCore::RenderBox::styleDidChange):
446 2015-10-08 Brady Eidson <beidson@apple.com>
448 Update Inspector to only work with Legacy IDB (for now).
449 https://bugs.webkit.org/show_bug.cgi?id=149928.
451 Reviewed by Tim Horton.
453 * Modules/indexeddb/IDBAny.h:
454 (WebCore::IDBAny::isLegacy):
456 * Modules/indexeddb/legacy/LegacyAny.h:
457 * inspector/InspectorIndexedDBAgent.cpp:
459 2015-10-08 Antti Koivisto <antti@apple.com>
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
465 Reviewed by Andreas Kling.
467 Test: svg/css/use-window-inactive-crash.html
469 * css/SelectorCheckerTestFunctions.h:
470 (WebCore::isWindowInactive):
474 2015-10-08 Michael Catanzaro <mcatanzaro@igalia.com>
476 Format string issues in LegacyRequest.cpp
477 https://bugs.webkit.org/show_bug.cgi?id=149866
479 Reviewed by Csaba Osztrogonác.
481 Cast enums to ints before printing them to placate GCC's -Wformat.
483 * Modules/indexeddb/legacy/LegacyRequest.cpp:
484 (WebCore::LegacyRequest::dispatchEvent):
485 (WebCore::LegacyRequest::enqueueEvent):
487 2015-10-08 Commit Queue <commit-queue@webkit.org>
489 Unreviewed, rolling out r190716.
490 https://bugs.webkit.org/show_bug.cgi?id=149924
492 broke mac build from time to time (Requested by youenn on
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
501 2015-10-08 Sergio Villar Senin <svillar@igalia.com>
503 [css-grid] Percentages of indefinite sizes to be resolved as auto
504 https://bugs.webkit.org/show_bug.cgi?id=149810
506 Reviewed by Darin Adler.
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.
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.
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.
523 * rendering/RenderGrid.cpp:
524 (WebCore::RenderGrid::gridTrackSize):
526 2015-10-08 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
528 Automate WebCore JS builtins generation and build system
529 https://bugs.webkit.org/show_bug.cgi?id=149751
531 Reviewed by Darin Adler.
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.
543 The remaining manual part for private functions is the pairing between private identifiers and
544 the private JS functions within JSDOMWindowBase::finishCreation.
546 Covered by existing tests.
549 * DerivedSources.make:
550 * Modules/streams/ByteLengthQueuingStrategy.js:
551 * Modules/streams/CountQueuingStrategy.js:
552 * Modules/streams/ReadableStream.js:
553 * Modules/streams/ReadableStreamInternals.js:
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):
589 (JSBuiltinFunctions):
591 (JSBuiltinInternalFunctions):
594 2015-10-08 Youenn Fablet <youenn.fablet@crf.canon.fr>
596 Binding generated JS constructors should use GlobalObject references
597 https://bugs.webkit.org/show_bug.cgi?id=149872
599 Reviewed by Darin Adler.
601 Updated binding generator to generate JS DOM constructors code with JSDOMGlobalOBject references.
602 Updated WebCore JS binding layer accordingly.
604 Covered by updated binding tests.
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:
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):
835 2015-10-08 Philippe Normand <pnormand@igalia.com>
837 WebRTC: Add event names needed by updated RTCPeerConnection
838 https://bugs.webkit.org/show_bug.cgi?id=149875
840 Reviewed by Eric Carlson.
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.
846 * dom/EventNames.h: Add track and icegatheringstatechange even names.
848 2015-10-07 Keith Rollin <krollin@apple.com>
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>
854 Reviewed by Chris Dumez.
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.
860 Test: fast/dom/script-subtext-in-script-elements.html
862 * dom/ScriptElement.cpp:
863 (WebCore::ScriptElement::scriptContent):
865 2015-10-07 Chris Dumez <cdumez@apple.com>
867 Partial revert of r187626 as it caused a PLT regression
868 https://bugs.webkit.org/show_bug.cgi?id=149898
870 Reviewed by Myles C. Maxfield.
872 Do a partial revert of r187626 as it caused a regression on PLT.
874 * platform/graphics/FontCache.h:
875 (WebCore::FontDescriptionKey::operator==):
876 (WebCore::FontDescriptionKey::FontDescriptionKey): Deleted.
877 (WebCore::FontDescriptionKey::computeHash): Deleted.
879 2015-10-07 Zalan Bujtas <zalan@apple.com>
881 RenderObject::computeRectForRepaint/computeFloatRectForRepaint should return the computed rectangle.
882 https://bugs.webkit.org/show_bug.cgi?id=149883
884 Reviewed by Simon Fraser.
886 Reduces code complexity at the calling sites.
888 No change in functionality.
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:
940 2015-10-07 Antti Koivisto <antti@apple.com>
942 Implement :host pseudo class
943 https://bugs.webkit.org/show_bug.cgi?id=149440
944 rdar://problem/22731953
946 Reviewed by Ryosuke Niwa.
948 This implements the basic non-function :host syntax.
950 * css/CSSSelector.cpp:
951 (WebCore::CSSSelector::selectorText):
953 * css/ElementRuleCollector.cpp:
954 (WebCore::ElementRuleCollector::matchAuthorRules):
955 (WebCore::ElementRuleCollector::matchHostPseudoClassRules):
956 (WebCore::ElementRuleCollector::matchUserRules):
957 * css/ElementRuleCollector.h:
959 (WebCore::computeMatchBasedOnRuleHash):
960 (WebCore::RuleSet::addRule):
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):
972 2015-10-07 Nan Wang <n_wang@apple.com>
974 AX: ARIA 1.1 @aria-placeholder
975 https://bugs.webkit.org/show_bug.cgi?id=148970
977 Reviewed by Chris Fleizach.
979 Added support for aria-placeholder attribute.
981 Modified accessibility/placeholder.html test.
983 * accessibility/AccessibilityObject.cpp:
984 (WebCore::AccessibilityObject::placeholderValue):
985 * html/HTMLAttributeNames.in:
987 2015-10-07 Commit Queue <commit-queue@webkit.org>
989 Unreviewed, rolling out r190664.
990 https://bugs.webkit.org/show_bug.cgi?id=149877
992 mac build is sometimes borken due to missing generated header
993 file (Requested by youenn on #webkit).
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
1001 2015-10-06 Simon Fraser <simon.fraser@apple.com>
1003 will-change should trigger stacking context based purely on properties
1004 https://bugs.webkit.org/show_bug.cgi?id=148068
1006 Reviewed by Zalan Bujtas.
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).
1012 Change behavior to have stacking context creation behavior for will-change be
1013 identical for inlines and blocks.
1015 Test: fast/css/will-change/will-change-creates-stacking-context-inline.html
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.
1028 2015-10-07 Javier Fernandez <jfernandez@igalia.com>
1030 [CSS Grid Layout] Modify grid item height doesn't work
1031 https://bugs.webkit.org/show_bug.cgi?id=149840
1033 Reviewed by Sergio Villar Senin.
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
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.
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
1048 * rendering/RenderGrid.cpp:
1049 (WebCore::RenderGrid::logicalContentHeightForChild):
1051 2015-10-07 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
1053 Automate WebCore JS builtins generation and build system
1054 https://bugs.webkit.org/show_bug.cgi?id=149751
1056 Reviewed by Darin Adler.
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.
1067 The remaining manual part for private functions is the pairing between private identifiers and
1068 the private JS functions within JSDOMWindowBase::finishCreation.
1070 Covered by existing tests.
1073 * DerivedSources.make:
1074 * Modules/streams/ByteLengthQueuingStrategy.js:
1075 * Modules/streams/CountQueuingStrategy.js:
1076 * Modules/streams/ReadableStream.js:
1077 * Modules/streams/ReadableStreamInternals.js:
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):
1113 (JSBuiltinFunctions):
1115 (JSBuiltinInternalFunctions):
1118 2015-10-05 Sergio Villar Senin <svillar@igalia.com>
1120 [css-grid] Implement grid gutters
1121 https://bugs.webkit.org/show_bug.cgi?id=149800
1123 Reviewed by Darin Adler.
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'
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.
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
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):
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==):
1169 2015-10-07 ChangSeok Oh <changseok.oh@collabora.com>
1171 [GTK] Progress bar is broken on recent GTK+
1172 https://bugs.webkit.org/show_bug.cgi?id=149831
1174 Reviewed by Carlos Garcia Campos.
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.
1182 Test: fast/dom/HTMLProgressElement/native-progress-bar.html
1184 * rendering/RenderThemeGtk.cpp:
1185 (WebCore::RenderThemeGtk::paintProgressBar):
1187 2015-10-06 Michael Catanzaro <mcatanzaro@igalia.com>
1189 [GTK] Add autocleanups
1190 https://bugs.webkit.org/show_bug.cgi?id=149588
1192 Reviewed by Darin Adler.
1194 * PlatformGTK.cmake:
1195 * bindings/scripts/gobject-generate-headers.pl:
1197 2015-10-06 Zalan Bujtas <zalan@apple.com>
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
1203 Reviewed by Simon Fraser.
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.
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
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.
1215 Test: fast/repaint/overflow-hidden-with-self-painting-child-layer.html
1217 * rendering/RenderLayer.h:
1218 * rendering/RenderLayerModelObject.cpp:
1219 (WebCore::RenderLayerModelObject::styleDidChange):
1221 2015-10-06 Jer Noble <jer.noble@apple.com>
1223 [Mac] REGRESSION(r173318): Seeks never complete for media loaded with QTKit.
1224 https://bugs.webkit.org/show_bug.cgi?id=149845
1226 Reviewed by Darin Adler.
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()`.
1232 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1233 (WebCore::MediaPlayerPrivateQTKit::timeChanged):
1235 2015-10-06 Brady Eidson <beidson@apple.com>
1237 Rename IDBRequestIdentifier to IDBResourceIdentifier.
1238 https://bugs.webkit.org/show_bug.cgi?id=149861
1240 Reviewed by Alex Christensen.
1242 No new tests (No change in behavior).
1244 Turns out having an object representing a (connection ID + unique ID pair) is useful for more than just IDBRequests.
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:
1281 2015-10-06 Nan Wang <n_wang@apple.com>
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
1286 Reviewed by Chris Fleizach.
1288 Added role-specific defaults and changed general default to undefined.
1289 Also added more elements to support aria-orientation on Mac.
1291 Test: accessibility/mac/aria-orientation.html
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]):
1313 2015-10-06 Per Arne Vollan <peavo@outlook.com>
1315 [WinCairo] GStreamer compile errors.
1316 https://bugs.webkit.org/show_bug.cgi?id=149839
1318 Reviewed by Alex Christensen.
1320 Help MSVC to resolve ambiguous calls.
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):
1353 2015-10-06 Chris Dumez <cdumez@apple.com>
1355 Refactor TokenPreloadScanner::StartTagScanner::processAttribute()
1356 https://bugs.webkit.org/show_bug.cgi?id=149847
1358 Reviewed by Antti Koivisto.
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.
1365 * html/parser/HTMLPreloadScanner.cpp:
1366 (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
1367 (WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): Deleted.
1369 2015-10-06 Youenn Fablet <youenn.fablet@crf.canon.fr>
1371 Binding generator XXConstructor::finishCreation should take references as parameters
1372 https://bugs.webkit.org/show_bug.cgi?id=149838
1374 Reviewed by Darin Adler.
1376 Updated the binding generator so that XXConstructor::finishCreation
1377 takes a JSDOMGlobalObject& in lieu of a JSDOMGlobalObject*.
1379 Covered by rebased binding tests.
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):
1450 2015-10-06 Jiewen Tan <jiewen_tan@apple.com>
1452 Fix crash in ApplyStyleCommand::applyRelativeFontStyleChange()
1453 https://bugs.webkit.org/show_bug.cgi?id=149300
1454 <rdar://problem/22747046>
1456 Reviewed by Chris Dumez.
1458 This is a merge of Blink r167845 and r194944:
1459 https://codereview.chromium.org/177093016
1460 https://codereview.chromium.org/1124863003
1462 Test: editing/style/apply-style-crash2.html
1463 editing/style/apply-style-crash3.html
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.
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.
1476 This CL also adds a few more assertions to catch similar issues
1477 more easily in the future.
1479 2015-10-06 Javier Fernandez <jfernandez@igalia.com>
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
1484 Reviewed by Darin Adler.
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.
1489 I addition, it avoids resetting the auto-margin values, which requires an extra
1490 layout, before applying the alignment logic.
1492 No new tests because there is no behavior change.
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.
1502 2015-10-06 Tim Horton <timothy_horton@apple.com>
1504 Tile map shows a green rect when threaded scrolling is disabled
1505 https://bugs.webkit.org/show_bug.cgi?id=149716
1507 Reviewed by Darin Adler.
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.
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.
1521 2015-10-06 Zalan Bujtas <zalan@apple.com>
1523 Remove redundant isComposited() function and replace
1524 hasLayer() && layer()->isComposited() with RenderObject::isComposited().
1525 https://bugs.webkit.org/show_bug.cgi?id=149846
1527 Reviewed by Simon Fraser.
1529 No change in functionality.
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):
1544 2015-10-06 Commit Queue <commit-queue@webkit.org>
1546 Unreviewed, rolling out r190619.
1547 https://bugs.webkit.org/show_bug.cgi?id=149849
1549 borke the binding tests on iOS at least (Requested by youenn
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
1559 2015-10-05 Wenson Hsieh <wenson_hsieh@apple.com>
1561 Slider knobs should scale when rendering while zoomed
1562 https://bugs.webkit.org/show_bug.cgi?id=149835
1563 <rdar://problem/22897080>
1565 Reviewed by Darin Adler.
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.
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.
1579 2015-10-06 Chris Dumez <cdumez@apple.com>
1581 [Web IDL] 'length' property is wrong for variadic operations
1582 https://bugs.webkit.org/show_bug.cgi?id=149714
1584 Reviewed by Darin Adler.
1586 The value of the 'length' property was wrong for variadic operations:
1587 - https://heycam.github.io/webidl/#dfn-optional-argument
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.
1594 Test: fast/dom/variadic-operations-length.html
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):
1602 2015-10-06 Youenn Fablet <youenn.fablet@crf.canon.fr>
1604 Binding generator should add builtin header for JSBuiltin attributes
1605 https://bugs.webkit.org/show_bug.cgi?id=149837
1607 Reviewed by Darin Adler.
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.
1613 Covered by existing and added binding tests.
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:
1623 2015-10-06 Youenn Fablet <youenn.fablet@crf.canon.fr>
1625 Binding generator XXConstructor::finishCreation should take references as parameters
1626 https://bugs.webkit.org/show_bug.cgi?id=149838
1628 Reviewed by Darin Adler.
1630 Updated the binding generator so that XXConstructor::finishCreation
1631 takes a JSDOMGlobalObject& in lieu of a JSDOMGlobalObject*.
1633 Covered by rebased binding tests.
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):
1704 2015-10-06 Hunseop Jeong <hs85.jeong@samsung.com>
1706 [Cairo] fast/canvas/canvas-imageSmoothingFoo tests failed after r190383.
1707 https://bugs.webkit.org/show_bug.cgi?id=149752
1709 Reviewed by Carlos Garcia Campos.
1711 CG's low interpolation quality setting is equivalent to most other browsers default or high settings.
1713 * html/canvas/CanvasRenderingContext2D.cpp:
1714 (WebCore::CanvasRenderingContext2D::State::State):
1716 2015-10-06 Daniel Bates <dbates@webkit.org>
1718 Enable XSLT when building WebKit for iOS using the public iOS SDK
1719 https://bugs.webkit.org/show_bug.cgi?id=149827
1721 Reviewed by Alexey Proskuryakov.
1723 * Configurations/FeatureDefines.xcconfig:
1725 2015-10-06 Brent Fulgham <bfulgham@apple.com>
1727 [Win] Correct positioning error introduced in r190235
1728 https://bugs.webkit.org/show_bug.cgi?id=149631
1729 <rdar://problem/22635080>
1731 Reviewed by Simon Fraser.
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
1740 * platform/graphics/ca/TileGrid.cpp:
1741 (TileGrid::platformCALayerPaintContents): No need to do this extra flipping step
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.
1751 2015-10-06 Emanuele Aina <emanuele.aina@collabora.com>
1753 Fix ENABLE_OPENGL=OFF builds
1754 https://bugs.webkit.org/show_bug.cgi?id=146511
1756 Reviewed by Darin Adler.
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.
1767 2015-10-06 Alex Christensen <achristensen@webkit.org>
1769 Fix Windows build after r190611.
1771 * PlatformWin.cmake:
1772 Forward headers from contentextensions.
1774 2015-10-06 Hunseop Jeong <hs85.jeong@samsung.com>
1776 Use modern for-loops in WebCore/html.
1777 https://bugs.webkit.org/show_bug.cgi?id=149662
1779 Reviewed by Darin Adler.
1781 No new tests because there is no behavior change.
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):
1929 2015-10-06 Alex Christensen <achristensen@webkit.org>
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
1935 Reviewed by Brady Eidson.
1937 Test: http/tests/contentextensions/main-resource.html
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:
1984 2015-10-06 Xabier Rodriguez Calvar <calvaris@igalia.com>
1986 JSBuiltinConstructor must always add builtin header
1987 https://bugs.webkit.org/show_bug.cgi?id=149759
1989 Reviewed by Darin Adler.
1991 Covered by TestJSBuiltinConstructor.idl.
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.
1997 2015-10-05 Youenn Fablet <youenn.fablet@crf.canon.fr>
1999 Migrate streams API to JS Builtins
2000 https://bugs.webkit.org/show_bug.cgi?id=147092
2002 Reviewed by Darin Adler.
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.
2009 Covered by existing tests.
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:
2018 (initializeReadableStream):
2024 * Modules/streams/ReadableStreamController.h:
2025 * Modules/streams/ReadableStreamController.idl:
2026 * Modules/streams/ReadableStreamController.js: Added.
2031 * Modules/streams/ReadableStreamInternals.js:
2032 (privateInitializeReadableStreamReader):
2033 (privateInitializeReadableStreamController):
2035 (isReadableStreamReader):
2036 (isReadableStreamController):
2037 (errorReadableStream):
2038 (requestReadableStreamPull):
2039 (getReadableStreamDesiredSize):
2040 (releaseReadableStreamReader):
2041 (cancelReadableStream):
2042 (finishClosingReadableStream):
2043 (closeReadableStream):
2044 (closeReadableStreamReader):
2045 (enqueueInReadableStream):
2046 (readFromReadableStreamReader):
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.
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):
2095 2015-10-05 Chris Dumez <cdumez@apple.com>
2097 data: URLs should not be preloaded
2098 https://bugs.webkit.org/show_bug.cgi?id=149829
2100 Reviewed by Ryosuke Niwa.
2102 Update the HTMLPreloadScanner so that data: URLs do not get preloaded.
2103 There is no need as the data is already available.
2105 Test: fast/preloader/image-data-url.html
2107 * html/parser/HTMLPreloadScanner.cpp:
2108 (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
2110 2015-10-05 Jer Noble <jer.noble@apple.com>
2112 [iOS] REGRESSION(r190434): Media continues to play when locking screen
2113 https://bugs.webkit.org/show_bug.cgi?id=149822
2115 Reviewed by Brent Fulgham.
2117 In MediaSessionManagerIOS.mm, both -applicationWillEnterForeground: and
2118 -applicationDidBecomeActive: called
2119 PlatformMediaSessionManager::applicationWillEnterForeground(), leading to the
2120 PlatformMediaSession's m_interruptionCount becoming increasingly unbalanced.
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.
2128 Drive-by fix: remove the unimplemented declarations for application{will,did}Enter{Fore,Back}ground()
2129 from PlatformMediaSession.h.
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:
2148 2015-10-05 Alex Christensen <achristensen@webkit.org>
2150 Invalid CSS Selector for Content Blockers invalidates others
2151 https://bugs.webkit.org/show_bug.cgi?id=148446
2152 rdar://problem/22918235
2154 Reviewed by Benjamin Poulain.
2156 Test: http/tests/contentextensions/invalid-selector.html
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.
2165 2015-10-05 Jiewen Tan <jiewen_tan@apple.com>
2167 CSSGradientValue should check whether gradientLength is zero or not.
2168 https://bugs.webkit.org/show_bug.cgi?id=149373
2169 <rdar://problem/22771418>
2171 Reviewed by Darin Adler.
2173 This is a merge of Blink r158220,
2174 https://chromiumcodereview.appspot.com/24350008
2176 Test: fast/gradients/css3-repeating-radial-gradients-crash.html
2178 * css/CSSGradientValue.cpp:
2179 (WebCore::CSSGradientValue::addStops):
2180 Check whether gradientLength > 0 before using it as denominator.
2182 2015-10-05 Dean Jackson <dino@apple.com>
2184 EXT_texture_filter_anisotropic extension exposed with WEBKIT_ prefix
2185 https://bugs.webkit.org/show_bug.cgi?id=149765
2186 <rdar://problem/22983722>
2188 Reviewed by Beth Dakin.
2190 We can now remove the WEBKIT_ prefix from this extension.
2192 Test: fast/canvas/webgl/unprefixed-anisotropic-extension.html
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):
2200 2015-10-05 Dean Jackson <dino@apple.com>
2202 Reference cycles during SVG dependency invalidation
2203 https://bugs.webkit.org/show_bug.cgi?id=149824
2204 <rdar://problem/22771412>
2206 Reviewed by Tim Horton.
2208 Detect any reference cycles as we are invalidating.
2210 This is mostly a merge of the following Blink commit:
2211 https://chromium.googlesource.com/chromium/blink/+/a4bc83453bda89823b672877dc02247652a02d51
2213 Test: svg/custom/reference-cycle.svg
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.
2220 2015-10-05 Jiewen Tan <jiewen_tan@apple.com>
2222 Fix null pointer dereference in WebSocket::connect()
2223 https://bugs.webkit.org/show_bug.cgi?id=149311
2224 <rdar://problem/22748858>
2226 Reviewed by Chris Dumez.
2228 This is a merge of Blink r187441,
2229 https://codereview.chromium.org/785933005
2231 Test: http/tests/websocket/construct-in-detached-frame.html
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.
2249 2015-10-05 Beth Dakin <bdakin@apple.com>
2251 WebCore::IOSurface should ask the IOSurface for the pixel format instead of
2253 https://bugs.webkit.org/show_bug.cgi?id=149820
2255 rdar://problem/22976230
2257 Reviewed by Tim Horton.
2259 Also there is no reason to make YUV be iOS only, so this patch removes those
2262 * platform/graphics/cocoa/IOSurface.h:
2263 * platform/graphics/cocoa/IOSurface.mm:
2264 (IOSurface::IOSurface):
2265 (IOSurface::format):
2266 * platform/spi/cocoa/IOSurfaceSPI.h:
2268 2015-10-02 Ryosuke Niwa <rniwa@webkit.org>
2270 ShadowRoot with leading or trailing white space cause a crash
2271 https://bugs.webkit.org/show_bug.cgi?id=149782
2273 Reviewed by Chris Dumez.
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.
2278 Test: fast/shadow-dom/shadow-root-with-child-whitespace-text-crash.html
2280 * style/RenderTreePosition.cpp:
2281 (WebCore::RenderTreePosition::previousSiblingRenderer):
2283 2015-10-05 Beth Dakin <bdakin@apple.com>
2287 * platform/spi/cocoa/IOSurfaceSPI.h:
2289 2015-10-05 Beth Dakin <bdakin@apple.com>
2291 Unreviewed build fix.
2293 * platform/spi/cocoa/IOSurfaceSPI.h:
2295 2015-10-05 Brady Eidson <beidson@apple.com>
2297 Modernize IDBRequest::ReadyState into an enum class.
2298 https://bugs.webkit.org/show_bug.cgi?id=149817
2300 Reviewed by Alex Christensen.
2302 No new tests (Refactor, no behavior change).
2304 * Modules/indexeddb/IDBRequest.h:
2306 * Modules/indexeddb/legacy/LegacyOpenDBRequest.cpp:
2307 (WebCore::LegacyOpenDBRequest::shouldEnqueueEvent):
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:
2328 2015-10-05 Jiewen Tan <jiewen_tan@apple.com>
2330 Cleaning up after revision 190339
2331 https://bugs.webkit.org/show_bug.cgi?id=149732
2333 Reviewed by Myles C. Maxfield.
2335 * xml/XSLStyleSheet.h:
2336 * xml/XSLStyleSheetLibxslt.cpp:
2337 (WebCore::XSLStyleSheet::compileStyleSheet):
2339 2015-10-05 Beth Dakin <bdakin@apple.com>
2342 * platform/graphics/cocoa/IOSurface.mm:
2343 (IOSurface::releaseGraphicsContext):
2344 (IOSurface::convertToFormat):
2346 2015-10-05 Beth Dakin <bdakin@apple.com>
2348 Compress snapshots on iOS
2349 https://bugs.webkit.org/show_bug.cgi?id=149814
2351 rdar://problem/22976230
2353 Reviewed by Simon Fraser.
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):
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):
2370 * platform/spi/cocoa/IOSurfaceSPI.h:
2372 2015-10-05 Zalan Bujtas <zalan@apple.com>
2374 Mark the line dirty when RenderQuote's text changes.
2375 https://bugs.webkit.org/show_bug.cgi?id=149784
2376 rdar://problem/22558169
2378 Reviewed by Antti Koivisto.
2380 When quotation mark changes ( " -> ' or empty string), we
2381 need to mark the line dirty to ensure its content gets laid out properly.
2383 Test: fast/inline/quotation-text-changes-dynamically.html
2385 * rendering/RenderQuote.cpp:
2386 (WebCore::quoteTextRenderer):
2387 (WebCore::RenderQuote::updateText):
2388 (WebCore::fragmentChild): Deleted.
2390 2015-10-03 Filip Pizlo <fpizlo@apple.com>
2392 Allow an object's marking state to track The Three Colors
2393 https://bugs.webkit.org/show_bug.cgi?id=149654
2395 Reviewed by Geoffrey Garen.
2397 No new tests because no new behavior.
2399 * bindings/scripts/CodeGeneratorJS.pm:
2400 (GenerateImplementation):
2402 2015-10-05 Katlyn Graff <kgraff@apple.com>
2404 Update setImageSmoothingQuality for additional reviews.
2405 https://bugs.webkit.org/show_bug.cgi?id=149541
2407 Reviewed by Chris Dumez.
2409 * html/canvas/CanvasRenderingContext2D.cpp:
2410 (WebCore::CanvasRenderingContext2D::setImageSmoothingQuality):
2412 2015-10-05 Andreas Kling <akling@apple.com>
2414 Remove unused HistoryItem::targetItem()
2415 <https://webkit.org/b/149803>
2417 Reviewed by Anders Carlsson.
2419 This is ancient code with no remaining clients since 2010 (r53650)
2421 * history/HistoryItem.cpp:
2422 (WebCore::HistoryItem::findTargetItem): Deleted.
2423 (WebCore::HistoryItem::targetItem): Deleted.
2424 * history/HistoryItem.h:
2426 2015-10-05 Myles C. Maxfield <mmaxfield@apple.com>
2428 Unprefix -webkit-font-feature-settings
2429 https://bugs.webkit.org/show_bug.cgi?id=149722
2431 Reviewed by Sam Weinig.
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.
2446 2015-10-05 Zan Dobersek <zdobersek@igalia.com>
2448 [GStreamer] Replace uses of std::bind() with lambdas
2449 https://bugs.webkit.org/show_bug.cgi?id=149802
2451 Reviewed by Carlos Garcia Campos.
2453 Instead of std::bind(), use C++ lambdas to create std::function<>
2454 wrappers in GStreamer-related class implementations.
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.
2460 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2461 (WebCore::AudioFileReader::createBus):
2462 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
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):
2491 2015-10-05 Andreas Kling <akling@apple.com>
2493 Remove unused HistoryItem::parent
2494 <https://webkit.org/b/149803>
2496 Reviewed by Anders Carlsson.
2498 Remove the effectively-unused "parent" field from HistoryItem.
2499 This also allows us to get rid of a HistoryItem constructor.
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.
2511 2015-10-05 Zan Dobersek <zdobersek@igalia.com>
2513 GLContext should control ownership of context-related objects
2514 https://bugs.webkit.org/show_bug.cgi?id=149794
2516 Reviewed by Martin Robinson.
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.
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.
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.
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
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):
2553 2015-10-05 Zan Dobersek <zdobersek@igalia.com>
2555 Make gdk.h inclusion in FontPlatformDataFreeType.cpp properly GTK-specific
2556 https://bugs.webkit.org/show_bug.cgi?id=149793
2558 Reviewed by Carlos Garcia Campos.
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
2565 2015-10-03 Ricky Mondello <rmondello@apple.com>
2567 "Plug-in is blocked" message doesn't draw correctly
2568 https://bugs.webkit.org/show_bug.cgi?id=149741
2569 <rdar://problem/22920949>
2571 Patch by Conrad Shultz and Ricky Mondello.
2573 Reviewed by Anders Carlsson.
2575 No new tests are added.
2577 Add PluginData API to check whether a MIME type is supported, regardless of plug-in visibility.
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.
2587 2015-10-02 Antti Koivisto <antti@apple.com>
2589 Inserting a child to a slot assigned node doesn't trigger repaint
2590 https://bugs.webkit.org/show_bug.cgi?id=149739
2592 Reviewed by Ryosuke Niwa.
2594 Test: fast/shadow-dom/insert-child-to-assigned-node.html
2597 (WebCore::Node::derefEventTarget):
2598 (WebCore::traverseStyleParent):
2599 (WebCore::traverseFirstStyleParent):
2600 (WebCore::Node::updateAncestorsForStyleRecalc):
2602 Traverse in style parent order.
2604 2015-10-02 Joseph Pecoraro <pecoraro@apple.com>
2606 Unreviewed, rolling out r190520, some tests assert / crash.
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:
2620 2015-10-02 Joseph Pecoraro <pecoraro@apple.com>
2622 Web Inspector: Include Garbage Collection Event in Timeline
2623 https://bugs.webkit.org/show_bug.cgi?id=142510
2625 Reviewed by Geoffrey Garen.
2627 Tests: inspector/heap/garbageCollected.html
2628 inspector/heap/gc.html
2630 * ForwardingHeaders/heap/HeapObserver.h: Added.
2631 * ForwardingHeaders/inspector/agents/InspectorHeapAgent.h: Added.
2632 * WebCore.vcxproj/WebCore.vcxproj:
2633 * WebCore.vcxproj/WebCore.vcxproj.filters:
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.
2646 2015-10-02 Jer Noble <jer.noble@apple.com>
2648 [MSE] Browser crashes when appending invalid data to MSE source buffer
2649 https://bugs.webkit.org/show_bug.cgi?id=149689
2651 Reviewed by Darin Adler.
2653 Test: media/media-source/media-source-stpp-crash.html
2655 Bail out early (as specced) after disconnecting the SourceBuffer from its MediaSource.
2657 * Modules/mediasource/SourceBuffer.cpp:
2658 (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
2660 2015-10-02 Simon Fraser <simon.fraser@apple.com>
2662 ASSERTION FAILED: param >= 0 in AnimationBase::updateStateMachine()
2663 https://bugs.webkit.org/show_bug.cgi?id=149737
2664 rdar://problem/19017465
2666 Reviewed by Dean Jackson.
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.
2671 Fixes lots of assertions running iOS WK2 layout tests.
2673 * page/animation/AnimationBase.cpp:
2674 (WebCore::AnimationBase::updateStateMachine):
2676 2015-10-02 Per Arne Vollan <peavo@outlook.com>
2678 [WinCairo] Fix linker warnings.
2679 https://bugs.webkit.org/show_bug.cgi?id=149754
2681 Reviewed by Alex Christensen.
2683 Avoid compiling these files twice, they are already included in
2684 RenderingAllInOne.cpp.
2686 * PlatformWinCairo.cmake:
2688 2015-10-02 Alex Christensen <achristensen@webkit.org>
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
2694 Reviewed by Geoffrey Garen.
2696 Test: http/tests/contentextensions/disable-blocker.html
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:
2720 2015-10-02 Antoine Quint <graouts@apple.com>
2722 popstate is fired at the wrong time on load
2723 https://bugs.webkit.org/show_bug.cgi?id=94265
2725 Reviewed by Darin Adler.
2727 Don't fire popstate event on initial document load
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
2736 Patch adapted from work by jl@opera.com on Blink [2].
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
2742 (WebCore::Document::implicitClose):
2744 2015-10-02 Javier Fernandez <jfernandez@igalia.com>
2746 [CSS Grid Layout] Support for Content Alignment in grid layout
2747 https://bugs.webkit.org/show_bug.cgi?id=145520
2749 Reviewed by Darin Adler.
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.
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.
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.
2764 Baseline Alignment is still missing because it requires some additional
2765 behavior to be supported on grids before considering its implementation.
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
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:
2817 2015-10-02 Dean Jackson <dino@apple.com>
2819 Attempted build fix.
2821 * DerivedSources.make:
2822 * page/make_settings.pl:
2823 (printGetterAndSetter):
2825 2015-10-01 Dean Jackson <dino@apple.com>
2827 Expose WEBGL_debug_renderer_info
2828 https://bugs.webkit.org/show_bug.cgi?id=149735
2829 <rdar://problem/18343500>
2831 Reviewed by Simon Fraser.
2833 Take two at landing this.
2835 Enable the extension that allows content to query
2836 for the GPUs vendor and details.
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
2844 Test: fast/canvas/webgl/webgl-debug-renderer-info.html
2845 as well as the general conformance suite.
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):
2861 2015-10-01 Csaba Osztrogonác <ossy@webkit.org>
2863 Fix the #if guard in PointerLockController.cpp
2864 https://bugs.webkit.org/show_bug.cgi?id=149705
2866 Reviewed by Gyuyoung Kim.
2868 * page/PointerLockController.cpp:
2870 2015-10-01 Dean Jackson <dino@apple.com>
2872 Rollout r190446 for the moment. It broke the build.
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:
2884 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2885 (WebCore::Extensions3DOpenGL::supportsExtension): Deleted.
2887 2015-10-01 Jaehun Lim <ljaehun.lim@samsung.com>
2889 Unreviewed, fix build warning after r190434
2891 Fix error: variable ‘interruption’ set but not used [-Werror=unused-but-set-variable]
2893 * testing/Internals.cpp:
2894 (WebCore::Internals::beginMediaSessionInterruption):
2896 2015-10-01 Dean Jackson <dino@apple.com>
2898 Expose WEBGL_debug_renderer_info
2899 https://bugs.webkit.org/show_bug.cgi?id=149735
2900 <rdar://problem/18343500>
2902 Reviewed by Simon Fraser.
2904 Enable the extension that allows content to query
2905 for the GPUs vendor and details.
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
2913 Test: fast/canvas/webgl/webgl-debug-renderer-info.html
2914 as well as the general conformance suite.
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):
2930 2015-10-01 Eric Carlson <eric.carlson@apple.com>
2932 [iOS] AirPlay should not stop when the screen locks
2933 https://bugs.webkit.org/show_bug.cgi?id=148315
2934 <rdar://problem/22770703>
2936 Reviewed by Jer Noble.
2938 Tested by media/video-interruption-with-resume-allowing-play.html
2939 media/video-interruption-with-resume-not-allowing-play.html
2941 * Modules/webaudio/AudioContext.h: overrideBackgroundPlaybackRestriction ->
2942 shouldOverrideBackgroundPlaybackRestriction.
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:
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.
2962 * platform/audio/PlatformMediaSession.h: Add SuspendedUnderLock interruption type.
2963 * platform/audio/PlatformMediaSessionManager.cpp:
2964 (WebCore::PlatformMediaSessionManager::applicationDidEnterBackground): Deleted.
2965 * platform/audio/PlatformMediaSessionManager.h:
2967 * platform/audio/ios/MediaSessionManagerIOS.h:
2968 * platform/audio/ios/MediaSessionManagerIOS.mm:
2969 (WebCore::MediaSessionManageriOS::applicationDidEnterBackground): Call beginInterruption
2972 2015-10-01 Ryosuke Niwa <rniwa@webkit.org>
2974 Slot elements should support fallback contents
2975 https://bugs.webkit.org/show_bug.cgi?id=149701
2977 Reviewed by Antti Koivisto.
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].
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.
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
2989 Tests: fast/shadow-dom/css-scoping-shadow-slot-fallback.html
2990 fast/shadow-dom/shadow-layout-after-slot-fallback-changes.html
2992 * style/StyleResolveTree.cpp:
2993 (WebCore::Style::attachSlotAssignees):
2994 (WebCore::Style::detachSlotAssignees):
2995 (WebCore::Style::resolveSlotAssignees):
2997 2015-10-01 Brent Fulgham <bfulgham@apple.com>
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>
3003 Reviewed by Simon Fraser.
3005 Test: tiled-drawing/scrolling/latched-div-with-scroll-snap.html
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.
3013 * page/mac/EventHandlerMac.mm:
3014 (WebCore::EventHandler::platformNotifyIfEndGesture): Clear latched state when
3017 2015-10-01 Brent Fulgham <bfulgham@apple.com>
3019 [Win] Unreviewed CMake build fixes.
3021 * CMakeLists.txt: Match original Windows build flags for WebCoreTest.
3022 * PlatformAppleWin.cmake: Use the same build defines as the
3023 original Windows build.
3025 2015-09-30 João Oliveira <hello@jxs.pt>
3027 Web Inspector: Adjust font size of Developer Tools using Command,+ or Command,-
3028 https://bugs.webkit.org/show_bug.cgi?id=149590
3030 Reviewed by Joseph Pecoraro.
3032 Patch by João Oliveira and Brian Burg.
3034 Expose the frontend page's zoom factor so we can implement relative zoom.
3036 * inspector/InspectorFrontendHost.cpp:
3037 (WebCore::InspectorFrontendHost::zoomFactor): Added.
3038 * inspector/InspectorFrontendHost.h:
3039 * inspector/InspectorFrontendHost.idl:
3041 (WebCore::Frame::pageZoomFactor):
3043 2015-10-01 Carlos Garcia Campos <cgarcia@igalia.com>
3045 [GTK] Websites with invalid auth header keep loading forever
3046 https://bugs.webkit.org/show_bug.cgi?id=149710
3048 Reviewed by Martin Robinson.
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.
3057 * platform/network/gtk/CredentialBackingStore.cpp:
3058 (WebCore::createAttributeHashTableFromChallenge):
3059 (WebCore::CredentialBackingStore::credentialForChallenge):
3060 (WebCore::CredentialBackingStore::storeCredentialsForChallenge):
3062 2015-10-01 Youenn Fablet <youenn.fablet@crf.canon.fr>
3064 Refactor binding generator to factor JS DOM class m_impl handling
3065 https://bugs.webkit.org/show_bug.cgi?id=149660
3067 Reviewed by Darin Adler.
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.
3073 Covered by existing tests and binding tests.
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):
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.
3209 2015-10-01 Csaba Osztrogonác <ossy@webkit.org>
3211 Fix the ARM build after r190192
3212 https://bugs.webkit.org/show_bug.cgi?id=149620
3214 Reviewed by Darin Adler.
3216 * platform/graphics/FontFeatureSettings.h:
3217 (WebCore::fontFeatureTag):
3219 2015-10-01 Youenn Fablet <youenn.fablet@crf.canon.fr>
3221 [Streams API] Add support for private WebCore JS builtins functions
3222 https://bugs.webkit.org/show_bug.cgi?id=149518
3224 Reviewed by Darin Adler.
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.
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.
3234 Covered by rebased tests.
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.
3257 2015-10-01 Youenn Fablet <youenn.fablet@crf.canon.fr>
3259 Binding generator should make mutable CachedAttribute member fields
3260 https://bugs.webkit.org/show_bug.cgi?id=148056
3262 Reviewed by Chris Dumez.
3264 Making mutable CachedAttribute member fields.
3265 Removing const_cast from custom binding code.
3266 Rebased bindings tests.
3268 No change in behavior.
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:
3283 * bindings/scripts/test/JS/JSTestObj.h:
3284 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3286 2015-10-01 Xabier Rodriguez Calvar <calvaris@igalia.com>
3288 [Streams API] Create ByteLengthQueuingStrategy object as per spec
3289 https://bugs.webkit.org/show_bug.cgi?id=147153
3291 Reviewed by Darin Adler.
3293 Added ByteLengthQueuingStream class as the spec defines at https://streams.spec.whatwg.org/#blqs-class.
3295 Tests are covered by current set.
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.
3312 2015-10-01 Gyuyoung Kim <gyuyoung.kim@webkit.org>
3314 Clean up all uses of PassRefPtr in Modules/geolocation
3315 https://bugs.webkit.org/show_bug.cgi?id=149552
3317 Reviewed by Darin Adler.
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:
3341 2015-09-30 Hunseop Jeong <hs85.jeong@samsung.com>
3343 [EFL][Gtk] Try to fix the build after r190379.
3344 https://bugs.webkit.org/show_bug.cgi?id=149693
3346 Reviewed by Gyuyoung Kim.
3348 * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3350 2015-09-30 Katlyn Graff <kgraff@apple.com>
3352 Add support for the imageSmoothingQuality property for CanvasRenderingContext2D.
3353 https://bugs.webkit.org/show_bug.cgi?id=149541
3355 Reviewed by Ryosuke Niwa.
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.
3362 Test: fast/canvas/canvas-imageSmoothingQuality.html
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:
3374 2015-09-30 Dean Jackson <dino@apple.com>
3376 GraphicsContext3D::mappedSymbolName should initialize count variable
3377 https://bugs.webkit.org/show_bug.cgi?id=149692
3378 <rdar://problem/22871304>
3380 Reviewed by Simon Fraser.
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.
3389 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3390 (WebCore::GraphicsContext3D::mappedSymbolName): Initialize count to 0.
3392 2015-09-30 Dean Jackson <dino@apple.com>
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>
3399 Reviewed by Simon Fraser.
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.
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.
3410 Unfortunately we can't test automatically because it
3411 involves resetting the GPU which can possibly cause
3412 concurrent tests to fail.
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
3419 2015-09-30 Brady Eidson <beidson@apple.com>
3421 Add UniqueIDBDatabase object, IDBBackingStore objects, and a database operation thread.
3422 https://bugs.webkit.org/show_bug.cgi?id=149678
3424 Reviewed by Alex Christensen.
3426 Test: storage/indexeddb/modern/opendatabase-request-event.html
3428 - UniqueIDBDatabase represents a specific IDB database instance that can have multiple
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
3437 * Modules/indexeddb/IDBDatabaseIdentifier.cpp:
3438 (WebCore::IDBDatabaseIdentifier::isolatedCopy):
3439 * Modules/indexeddb/IDBDatabaseIdentifier.h:
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:
3447 * Modules/indexeddb/client/IDBFactoryImpl.cpp:
3448 (WebCore::IDBClient::IDBFactory::openInternal):
3450 * Modules/indexeddb/server/IDBBackingStore.h: Copied from Source/WebCore/Modules/indexeddb/server/IDBConnectionToClientDelegate.h.
3451 (WebCore::IDBServer::IDBBackingStore::~IDBBackingStore):
3453 * Modules/indexeddb/server/IDBConnectionToClient.cpp: