1 2015-01-22 Ryosuke Niwa <rniwa@webkit.org>
3 Add a build flag for ES6 class syntax
4 https://bugs.webkit.org/show_bug.cgi?id=140760
6 Reviewed by Michael Saboff.
8 * Configurations/FeatureDefines.xcconfig:
10 2015-01-22 Chris Dumez <cdumez@apple.com>
12 SVGNames.cpp and HTMLNames.cpp are sometimes malformed
13 https://bugs.webkit.org/show_bug.cgi?id=140784
14 <rdar://problem/17701233>
16 Reviewed by David Kilzer.
18 Due to bad rules in DerivedSources.make, make_names.pl was called
19 several times with the same arguments during build. This is because
20 SVG/HTML/MathML each had several targets associated to the same
21 command. This would cause the command (make_names.pl) to be called
22 once per target. However, make_names.pl only needs to be executed
23 once to generate all of the files currently marked as target.
25 Calling make_names.pl several times for the same files is not only
26 wasteful, but it can also lead to malformed generated files if the
27 scripts instances are executed in parallel as they will read / write
28 from / to the same files.
30 This patch uses INTERMEDIATE targets instead so that we can still
31 indicate which files are generated by make_names.pl but only run
34 This is a similar fix as for Bug 140756. There may several other
35 similar issues in DerivedSources.make but this patch focuses on
36 make_names.pl. I will take care of other in follow-ups if needed.
38 * DerivedSources.make:
40 2015-01-22 Chris Dumez <cdumez@apple.com>
42 Have Counter::create() return a Ref<Counter>
43 https://bugs.webkit.org/show_bug.cgi?id=140777
45 Reviewed by Andreas Kling.
47 Have Counter::create() return a Ref<Counter> instead of a PassRefPtr.
49 The CSSPrimitiveValue class needed some updates as well to support
50 constructing a CSSPrimitiveValue object from a Ref<>.
52 * css/CSSPrimitiveValue.cpp:
53 (WebCore::CSSPrimitiveValue::init):
54 * css/CSSPrimitiveValue.h:
55 (WebCore::CSSPrimitiveValue::create):
56 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
58 (WebCore::Counter::create):
59 (WebCore::Counter::cloneForCSSOM):
61 2015-01-22 Chris Dumez <cdumez@apple.com>
63 Drop the legacy FeatureCounter class
64 https://bugs.webkit.org/show_bug.cgi?id=140749
66 Reviewed by Andreas Kling.
68 Drop the legacy FeatureCounter class and use DiagnosticLoggingClient
72 * Configurations/WebCore.xcconfig:
74 * WebCore.vcxproj/WebCore.vcxproj:
75 * WebCore.vcxproj/WebCore.vcxproj.filters:
76 * WebCore.xcodeproj/project.pbxproj:
77 * html/HTMLMediaElement.cpp:
78 (WebCore::HTMLMediaElement::parseAttribute):
79 * loader/SubresourceLoader.cpp:
80 (WebCore::SubresourceLoader::willSendRequest):
81 (WebCore::SubresourceLoader::didReceiveResponse):
82 * loader/cache/CachedResource.cpp:
83 (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
84 * loader/cache/CachedResourceLoader.cpp:
85 (WebCore::logMemoryCacheResourceRequest):
86 (WebCore::CachedResourceLoader::requestResource):
87 (WebCore::CachedResourceLoader::determineRevalidationPolicy):
88 * page/DiagnosticLoggingKeys.cpp:
89 (WebCore::DiagnosticLoggingKeys::mustRevalidateIsExpiredKey):
90 (WebCore::DiagnosticLoggingKeys::playedKey):
91 (WebCore::DiagnosticLoggingKeys::noCacheKey):
92 (WebCore::DiagnosticLoggingKeys::noStoreKey):
93 (WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey):
94 (WebCore::DiagnosticLoggingKeys::mediaKey):
95 (WebCore::DiagnosticLoggingKeys::isExpiredKey):
96 (WebCore::DiagnosticLoggingKeys::loadingKey):
97 (WebCore::DiagnosticLoggingKeys::inMemoryCacheKey):
98 (WebCore::DiagnosticLoggingKeys::reasonKey):
99 (WebCore::DiagnosticLoggingKeys::audioKey):
100 (WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey):
101 (WebCore::DiagnosticLoggingKeys::resourceRequestKey):
102 (WebCore::DiagnosticLoggingKeys::revalidatingKey):
103 (WebCore::DiagnosticLoggingKeys::unusedKey):
104 (WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey):
105 (WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey):
106 (WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey):
107 (WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey):
108 (WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey):
109 (WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey):
110 (WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey):
111 (WebCore::DiagnosticLoggingKeys::usedKey):
112 (WebCore::DiagnosticLoggingKeys::userKey):
113 (WebCore::DiagnosticLoggingKeys::videoKey):
114 (WebCore::DiagnosticLoggingKeys::webViewKey):
115 (WebCore::DiagnosticLoggingKeys::zoomedKey):
116 * page/DiagnosticLoggingKeys.h:
118 * platform/FeatureCounter.cpp: Removed.
119 * platform/FeatureCounter.h: Removed.
120 * platform/FeatureCounterKeys.h: Removed.
121 * platform/ios/FeatureCounter.mm: Removed.
123 2015-01-22 Benjamin Poulain <benjamin@webkit.org>
125 When extending the fallback transitions with their closure, we are modifying the Set while iterating it
126 https://bugs.webkit.org/show_bug.cgi?id=140785
128 Reviewed by Andreas Kling.
130 * contentextensions/NFAToDFA.cpp:
131 (WebCore::ContentExtensions::populateTransitions):
132 Make that in two steps: accumulate the fallback transitions then add the closure
135 2015-01-21 Antti Koivisto <antti@apple.com>
137 Rename SimpleFontData to Font
138 https://bugs.webkit.org/show_bug.cgi?id=140496
140 Reviewed by Zalan Bujtas.
142 The fallback supporting Font type was renamed FontCascade.
143 We can now rename SimpleFontData to Font matching the usual definition.
145 2015-01-22 Zalan Bujtas <zalan@apple.com>
147 Simple line layout: Make trailing whitespace handling more explicit.
148 https://bugs.webkit.org/show_bug.cgi?id=140776
150 Reviewed by Antti Koivisto.
152 Differentiate between committed and uncommitted trailing whitespace.
153 This enables further cleanup in removeTrailingWhitespace().
155 No change in functionality.
157 * rendering/SimpleLineLayout.cpp:
158 (WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
159 (WebCore::SimpleLineLayout::LineState::addUncommitted):
160 (WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly):
161 (WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
162 (WebCore::SimpleLineLayout::removeTrailingWhitespace):
163 (WebCore::SimpleLineLayout::LineState::LineState): Deleted.
164 (WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): Deleted.
165 (WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace): Deleted.
167 2015-01-22 Alexey Proskuryakov <ap@apple.com>
169 Crash in URL::protocol() after appcache load fails
170 https://bugs.webkit.org/show_bug.cgi?id=140755
171 rdar://problem/7881290
173 Reviewed by Dan Bates.
175 Test: http/tests/appcache/404-resource-with-slow-main-resource.php
177 Not every cache that isn't being updated is complete. It could also be in a zombie
178 state after failing to load. We get rid of the cache once the main resource finishes
179 loading, but while it's being loaded, the zombie still looks like a regular
180 candidate application cache.
182 * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::isComplete):
183 * loader/appcache/ApplicationCache.h:
184 Removed const from isComplete(), because otherwise we couldn't use ApplicationCacheGroup::m_caches.contains().
185 Constness doesn't make a lot of sense for these objects anyway.
187 * loader/appcache/ApplicationCacheGroup.cpp:
188 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Toned down an assertion.
189 We can fail a main resource load when the document has a zombie appcache, too.
191 * loader/appcache/ApplicationCacheGroup.h:
192 (WebCore::ApplicationCacheGroup::cacheIsComplete):
193 (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): Deleted.
194 These functions are only used in ApplicationCache::isComplete().
196 2015-01-22 Grzegorz Czajkowski <g.czajkowski@samsung.com>
198 Avoid defining always empty Vector<TextCheckingResult>
199 https://bugs.webkit.org/show_bug.cgi?id=140765
201 Reviewed by Alexey Proskuryakov.
203 Pass an empty vector direclty instead.
205 No new tests. No behavior change.
207 * editing/SpellChecker.cpp:
208 (WebCore::SpellChecker::didCheckCancel):
210 2015-01-22 Chris Dumez <cdumez@apple.com>
212 makeprop.pl script is called too many times during build
213 https://bugs.webkit.org/show_bug.cgi?id=140756
214 <rdar://problem/19467942>
216 Reviewed by David Kilzer.
218 The makeprop.pl script was called 4 times (instead of once) during
219 build due to a bad Makefile rule in DerivedSources.make. makeprop.pl
220 had 4 associated targets and thus was called 4 times (with the same
221 parameter). Calling it once is sufficient to generate all 4 files
222 that were marked as target. This patch uses an INTERMEDIATE target
223 instead so that we can indicate that several files are generated
226 I believe this may be the reason for the sporatic build failures
229 CSSPropertyNames.gperf: No keywords in input file!
230 calling gperf failed: 256 at WebCore/css/makeprop.pl line 1036.
232 The makeprop.pl script is generating gperf's input file and calling the
233 gperf executable on this file. If the script is executed several times
234 in parallel, it would explain the build failures as several instances
235 of makeprop.pl may be writing / reading from the same
236 CSSPropertyNames.gperf file.
238 * DerivedSources.make:
240 2015-01-22 Commit Queue <commit-queue@webkit.org>
242 Unreviewed, rolling out r178894.
243 https://bugs.webkit.org/show_bug.cgi?id=140775
245 Broke JSC and bindings tests (Requested by ap_ on #webkit).
249 "put_by_val_direct need to check the property is index or not
250 for using putDirect / putDirectIndex"
251 https://bugs.webkit.org/show_bug.cgi?id=140426
252 http://trac.webkit.org/changeset/178894
254 2015-01-22 David Kilzer <ddkilzer@apple.com>
256 [iOS] Fix iphoneos SDK builds for ios-ews queue
257 <http://webkit.org/b/140748>
259 Reviewed by Daniel Bates.
261 * WebCore.xcodeproj/project.pbxproj: Add new SPI headers.
262 * platform/graphics/cg/ImageBufferCG.cpp: Switch to using
263 "IOSurfaceSPI.h" from <IOSurface/IOSurface.h>.
264 * platform/graphics/cg/ImageBufferDataCG.cpp: Ditto.
265 * platform/graphics/cocoa/IOSurface.mm: Ditto. Move definitions
266 in <IOSurface/IOSurfacePrivate.h> into "IOSurfaceSPI.h".
267 * platform/spi/cg/CoreGraphicsSPI.h: Switch to
268 WTF_EXTERN_C_{BEGIN,END}. Add
269 CGContextGetFontAntialiasingStyle() and
270 CGContextSetFontAntialiasingStyle().
271 * platform/spi/cocoa/IOPMLibSPI.h: Switch to use IOReturnSPI.h.
272 * platform/spi/cocoa/IOReturnSPI.h: Add.
273 * platform/spi/cocoa/IOSurfaceSPI.h: Add.
274 * platform/spi/cocoa/IOTypesSPI.h: Add.
276 2015-01-21 Sergio Villar Senin <svillar@igalia.com>
278 [CSS Grid Layout] Skip items spanning flex tracks when sizing content based tracks
279 https://bugs.webkit.org/show_bug.cgi?id=140720
281 Reviewed by David Hyatt.
283 Section "11.5. Resolve Intrinsic Track Sizes" of the specs forces
284 us to ignore items spanning tracks with flex sizing functions when
285 resolving the content-based track sizing functions. Items with
286 span < 2 are not affected by this rule (as they will belong to a
287 single track). This way the algorithm ensures that min-content and
288 max-content restrictions are fulfilled before distributing the
291 Test: fast/css-grid-layout/flex-and-content-sized-resolution-columns.html
293 * rendering/RenderGrid.cpp:
294 (WebCore::RenderGrid::spanningItemCrossesFlexibleSizedTracks):
295 (WebCore::integerSpanForDirection):
296 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
297 * rendering/RenderGrid.h:
299 2015-01-22 Yusuke Suzuki <utatane.tea@gmail.com>
301 put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex
302 https://bugs.webkit.org/show_bug.cgi?id=140426
304 Reviewed by Geoffrey Garen.
306 Test: js/dfg-put-by-val-direct-with-edge-numbers.html
308 * bindings/js/JSDOMWindowCustom.cpp:
309 (WebCore::JSDOMWindow::getOwnPropertySlot):
310 * bindings/js/JSHTMLAllCollectionCustom.cpp:
311 (WebCore::callHTMLAllCollection):
312 (WebCore::JSHTMLAllCollection::item):
313 * bindings/scripts/CodeGeneratorJS.pm:
314 (GenerateGetOwnPropertySlotBody):
315 (GenerateImplementation):
316 * bindings/scripts/test/JS/JSFloat64Array.cpp:
317 (WebCore::JSFloat64Array::getOwnPropertySlot):
318 (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
319 (WebCore::JSFloat64Array::put):
320 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
321 (WebCore::JSTestEventTarget::getOwnPropertySlot):
322 * bridge/runtime_array.cpp:
323 (JSC::RuntimeArray::getOwnPropertySlot):
324 (JSC::RuntimeArray::put):
326 2015-01-19 Sergio Villar Senin <svillar@igalia.com>
328 [CSS Grid Layout] Size tracks using a list of all items sorted by span
329 https://bugs.webkit.org/show_bug.cgi?id=140615
331 Reviewed by Andreas Kling.
334 RenderGrid::resolveContentBasedTrackSizingFunctions() so that it
335 now collects all items spanning content-sized tracks and process
336 them one by one after sorting them by ascending span.
338 The problem is that it was incorrectly implemented, it has two
339 important bugs. First one is that the hash table that collects
340 items is regenerated after processing each track, so it's actually
341 doing nothing. Secondly we're only sorting the items on each
342 track, instead of all the items in the grid.
344 * rendering/RenderGrid.cpp:
345 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
347 2015-01-21 Daniel Bates <dabates@apple.com>
349 Fix the iOS release build after <http://trac.webkit.org/changeset/178868>
350 (https://bugs.webkit.org/show_bug.cgi?id=140742)
352 Substitute ASSERT_UNUSED() for ASSERT() since the parameter layer is used only in the assertion expression.
354 * rendering/RenderLayerBacking.cpp:
355 (WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack):
357 2015-01-21 Daniel Bates <dabates@apple.com>
359 [iOS] Many compositing tests fail in DumpRenderTree due to contentsOpaque difference
360 https://bugs.webkit.org/show_bug.cgi?id=140742
362 Reviewed by Simon Fraser.
364 Make RenderLayerBacking::layerTreeAsText() (including internals.layerTreeAsText()) always
365 report that the main frame's RenderView layer is opaque when running iOS DumpRenderTree to
366 avoid test failures and the need to maintain for iOS WebKit1 an almost identical copy of the
367 platform-independent compositing test results.
369 The main frame's RenderView layer is always transparent in iOS WebKit1 since it does
370 not make use of a tiled cache layer and defers to UIKit to handle the final compositing
371 of the web view, including applying the page scale factor.
373 * platform/RuntimeApplicationChecksIOS.mm:
374 (WebCore::applicationIsDumpRenderTree): The app bundle identifier of DumpRenderTree has
375 the form org.webkit.DumpRenderTreeX where X is some non-negative integer.
376 * platform/graphics/GraphicsLayer.cpp:
377 (WebCore::GraphicsLayer::dumpProperties): Modified to report that a layer is opaque when
378 GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack() returns true.
379 * platform/graphics/GraphicsLayerClient.h:
380 (WebCore::GraphicsLayerClient::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added
381 default implementation (returns false).
382 * rendering/RenderLayerBacking.cpp:
383 (WebCore::RenderLayerBacking::needsIOSDumpRenderTreeMainFrameRenderViewLayerIsAlwaysOpaqueHack): Added;
384 returns true when running in DumpRenderTree and the passed GraphicsLayer corresponds to the main frame's
386 * rendering/RenderLayerBacking.h:
388 2015-01-21 Roger Fong <roger_fong@apple.com>
390 WebGL2 (spec section 3.1): Add new types to WebGL2 API.
391 https://bugs.webkit.org/show_bug.cgi?id=140741.
392 <rdar://problem/19552962>
394 Reviewed by Dean Jackson.
396 * html/canvas/WebGL2RenderingContext.idl:
398 2015-01-21 Zalan Bujtas <zalan@apple.com>
400 Simple line layout: Move nextTextFragment() to FlowContents class.
401 https://bugs.webkit.org/show_bug.cgi?id=140738
403 Reviewed by Antti Koivisto.
405 This is in preparation to make FlowContents an iterator class.
407 No change in functionality.
409 * rendering/SimpleLineLayout.cpp:
410 (WebCore::SimpleLineLayout::LineState::addUncommitted):
411 (WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace):
412 (WebCore::SimpleLineLayout::removeTrailingWhitespace):
413 (WebCore::SimpleLineLayout::initializeNewLine):
414 (WebCore::SimpleLineLayout::splitFragmentToFitLine):
415 (WebCore::SimpleLineLayout::createLineRuns):
416 (WebCore::SimpleLineLayout::TextFragment::TextFragment): Deleted.
417 (WebCore::SimpleLineLayout::TextFragment::isEmpty): Deleted.
418 (WebCore::SimpleLineLayout::nextFragment): Deleted.
419 * rendering/SimpleLineLayoutFlowContents.cpp:
420 (WebCore::SimpleLineLayout::FlowContents::nextTextFragment):
421 * rendering/SimpleLineLayoutFlowContents.h:
422 (WebCore::SimpleLineLayout::FlowContents::TextFragment::TextFragment):
423 (WebCore::SimpleLineLayout::FlowContents::TextFragment::isEmpty):
425 2015-01-21 Andreas Kling <akling@apple.com>
427 DocumentLoader::timing() should return a reference.
428 <https://webkit.org/b/128272>
430 Reviewed by Antti Koivisto.
432 There is always a DocumentLoadTiming object, so return it by
433 reference since it can never be null.
435 * Modules/gamepad/NavigatorGamepad.cpp:
436 (WebCore::NavigatorGamepad::from):
437 * dom/ScriptedAnimationController.cpp:
438 (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
439 * html/HTMLMediaElement.cpp:
440 (WebCore::HTMLMediaElement::parseAttribute):
441 * inspector/InspectorResourceAgent.cpp:
442 (WebCore::buildObjectForTiming):
443 * loader/DocumentLoader.cpp:
444 (WebCore::DocumentLoader::finishedLoading):
445 (WebCore::DocumentLoader::willSendRequest):
446 (WebCore::DocumentLoader::continueAfterNavigationPolicy):
447 (WebCore::DocumentLoader::startLoadingMainResource):
448 * loader/DocumentLoader.h:
449 (WebCore::DocumentLoader::timing):
450 * loader/FrameLoader.cpp:
451 (WebCore::FrameLoader::stopLoading):
452 (WebCore::FrameLoader::commitProvisionalLoad):
453 (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
454 * page/DOMWindow.cpp:
455 (WebCore::DOMWindow::dispatchLoadEvent):
456 * page/Performance.cpp:
457 (WebCore::Performance::now):
458 * page/PerformanceNavigation.cpp:
459 (WebCore::PerformanceNavigation::redirectCount):
460 * page/PerformanceResourceTiming.cpp:
461 (WebCore::monotonicTimeToDocumentMilliseconds):
462 (WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
463 * page/PerformanceTiming.cpp:
464 (WebCore::PerformanceTiming::documentLoadTiming):
466 2015-01-21 Benjamin Poulain <benjamin@webkit.org>
468 Handle the transition on any character as a separate type of transition
469 https://bugs.webkit.org/show_bug.cgi?id=140711
471 Reviewed by Andreas Kling.
473 Instead of considering the universal transition as 127 transitions, it is now
474 handled as a separate type of transition.
476 The goal is to reduce the number of exit edge to consider for each node. Instead
477 of having 127 for any partition containing one universal transition, we have
478 as few exit edges as necessary + one universal transition.
480 In the NFA, the universal transition is stored directly on NFANode in a new
481 HashSet (transitionsOnAnyCharacter).
482 The target nodes are made exclusive between "transitionsOnAnyCharacter" and "transitions"
483 by construction. That is not strictly needed but it simplify debugging at the moment.
485 When converting a NFA to a DFA, we first find all the node that transition on any character.
486 Then, when we iterate over "real" transition, we also augment that set with the set on
489 When creating the DFA node, we first consider each "real" transition, then we have a single
490 "fallback" transition for any character that has not been handled yet.
492 When matching, we first search for any real transition. If there is none but a fallback exists,
493 we take the fallback.
495 * contentextensions/DFA.cpp:
496 (WebCore::ContentExtensions::DFA::nextState):
497 (WebCore::ContentExtensions::printTransitions):
498 (WebCore::ContentExtensions::DFA::debugPrintDot):
499 (WebCore::ContentExtensions::printTransition): Deleted.
500 * contentextensions/DFANode.h:
501 * contentextensions/NFA.cpp:
502 (WebCore::ContentExtensions::NFA::addTransition):
503 (WebCore::ContentExtensions::NFA::addTransitionsOnAnyCharacter):
504 (WebCore::ContentExtensions::printTransitions):
505 (WebCore::ContentExtensions::NFA::debugPrintDot):
506 (WebCore::ContentExtensions::printTransition): Deleted.
507 * contentextensions/NFA.h:
508 * contentextensions/NFANode.h:
509 * contentextensions/NFAToDFA.cpp:
510 (WebCore::ContentExtensions::populateTransitions):
511 (WebCore::ContentExtensions::getOrCreateDFANode):
512 (WebCore::ContentExtensions::NFAToDFA::convert):
513 * contentextensions/URLFilterParser.cpp:
514 (WebCore::ContentExtensions::GraphBuilder::generateTransition):
516 2015-01-20 Antti Koivisto <antti@apple.com>
518 REGRESSION(r178180): Membuster regressed ~4%
519 https://bugs.webkit.org/show_bug.cgi?id=140495
521 Reviewed by Andreas Kling.
523 After r178180 we keep system fallback fonts that are used on glyph pages alive.
524 Previously we would traverse the glyph pages and remove entries referencing system fallbacks.
526 * platform/graphics/FontCache.cpp:
527 (WebCore::FontCache::purgeInactiveFontData):
528 * platform/graphics/FontCascade.cpp:
529 (WebCore::pruneUnreferencedEntriesFromFontGlyphsCache):
530 (WebCore::pruneSystemFallbackFonts):
531 * platform/graphics/FontCascade.h:
532 * platform/graphics/FontGlyphs.cpp:
533 (WebCore::FontGlyphs::pruneSystemFallbacks):
535 When clearing the font cache also remove the cached glyph pages that may contain system fallback fonts
536 and release the fallbacks.
538 * platform/graphics/FontGlyphs.h:
540 2015-01-21 Manuel Rego Casasnovas <rego@igalia.com>
542 first-letter pseudo-element from ancestors is not being ignored in grids and flexboxes
543 https://bugs.webkit.org/show_bug.cgi?id=138424
545 Reviewed by Benjamin Poulain.
549 According to the grid and flexbox specs:
550 "::first-letter pseudo-element do not apply to grid/flex containers".
551 http://dev.w3.org/csswg/css-grid/#grid-containers
552 http://dev.w3.org/csswg/css-flexbox/#flex-containers
554 Check also the CSS WG mailing list discussion:
555 http://lists.w3.org/Archives/Public/www-style/2014Dec/0305.html
557 This was almost working right, except in the case that an ancestor was
558 setting the ::first-letter pseudo-element.
560 Added a few more cases to the current tests in order to check this
562 Also created some new tests to increase coverage
564 Tests: fast/css/first-letter-from-ancestors-not-apply-inline-elements.html
565 fast/css/first-letter-ignores-display-property.html
567 * rendering/RenderBlock.cpp:
568 (WebCore::RenderBlock::getFirstLetter): Go to the next sibling when
569 looking for the first text child if you reach a grid or flexbox.
571 2015-01-21 Csaba Osztrogonác <ossy@webkit.org>
573 Fix cast-align warning in Source/WebCore/platform/efl/EflScreenUtilities.cpp
574 https://bugs.webkit.org/show_bug.cgi?id=140670
576 Reviewed by Darin Adler.
578 * platform/efl/EflScreenUtilities.cpp:
579 (WebCore::createCustomCursor):
581 2015-01-21 Csaba Osztrogonác <ossy@webkit.org>
583 Remove ENABLE(INSPECTOR) ifdef guards
584 https://bugs.webkit.org/show_bug.cgi?id=140668
586 Reviewed by Darin Adler.
588 * Configurations/FeatureDefines.xcconfig:
590 * bindings/js/JSCommandLineAPIHostCustom.cpp:
591 * bindings/js/JSDOMWindowBase.cpp:
592 (WebCore::JSDOMWindowBase::supportsProfiling):
593 (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
594 * bindings/js/JSInspectorFrontendHostCustom.cpp:
595 * bindings/js/ScriptController.cpp:
596 (WebCore::ScriptController::collectIsolatedContexts):
597 * bindings/js/ScriptController.h:
598 * bindings/js/ScriptGlobalObject.cpp:
599 (WebCore::ScriptGlobalObject::set):
600 * bindings/js/ScriptGlobalObject.h:
601 * bindings/js/WorkerScriptDebugServer.cpp:
602 * bindings/js/WorkerScriptDebugServer.h:
604 (WebCore::Node::inspect):
605 * inspector/CommandLineAPIHost.cpp:
606 * inspector/CommandLineAPIHost.idl:
607 * inspector/CommandLineAPIModule.cpp:
608 * inspector/CommandLineAPIModule.h:
609 * inspector/DOMEditor.cpp:
610 * inspector/DOMEditor.h:
611 * inspector/DOMPatchSupport.cpp:
612 * inspector/DOMPatchSupport.h:
613 * inspector/InspectorApplicationCacheAgent.cpp:
614 * inspector/InspectorApplicationCacheAgent.h:
615 * inspector/InspectorCSSAgent.cpp:
616 * inspector/InspectorCSSAgent.h:
617 * inspector/InspectorClient.cpp:
618 * inspector/InspectorConsoleInstrumentation.h:
619 (WebCore::InspectorInstrumentation::addMessageToConsole):
620 (WebCore::InspectorInstrumentation::consoleCount):
621 (WebCore::InspectorInstrumentation::startConsoleTiming):
622 (WebCore::InspectorInstrumentation::stopConsoleTiming):
623 (WebCore::InspectorInstrumentation::consoleTimeStamp):
624 (WebCore::InspectorInstrumentation::startProfiling):
625 (WebCore::InspectorInstrumentation::stopProfiling):
626 * inspector/InspectorController.cpp:
627 * inspector/InspectorController.h:
628 * inspector/InspectorDOMAgent.cpp:
629 * inspector/InspectorDOMAgent.h:
630 * inspector/InspectorDOMDebuggerAgent.cpp:
631 * inspector/InspectorDOMDebuggerAgent.h:
632 * inspector/InspectorDOMStorageAgent.cpp:
633 * inspector/InspectorDatabaseAgent.cpp:
634 * inspector/InspectorDatabaseAgent.h:
635 * inspector/InspectorDatabaseInstrumentation.h:
636 (WebCore::InspectorInstrumentation::didOpenDatabase):
637 * inspector/InspectorDatabaseResource.cpp:
638 * inspector/InspectorDatabaseResource.h:
639 * inspector/InspectorFrontendClientLocal.cpp:
640 * inspector/InspectorFrontendHost.cpp:
641 * inspector/InspectorFrontendHost.idl:
642 * inspector/InspectorHistory.cpp:
643 * inspector/InspectorHistory.h:
644 * inspector/InspectorIndexedDBAgent.cpp:
645 * inspector/InspectorIndexedDBAgent.h:
646 * inspector/InspectorInstrumentation.cpp:
647 * inspector/InspectorInstrumentation.h:
648 (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
649 (WebCore::InspectorInstrumentation::isDebuggerPaused):
650 (WebCore::InspectorInstrumentation::willInsertDOMNode):
651 (WebCore::InspectorInstrumentation::didInsertDOMNode):
652 (WebCore::InspectorInstrumentation::willRemoveDOMNode):
653 (WebCore::InspectorInstrumentation::didRemoveDOMNode):
654 (WebCore::InspectorInstrumentation::willModifyDOMAttr):
655 (WebCore::InspectorInstrumentation::didModifyDOMAttr):
656 (WebCore::InspectorInstrumentation::didRemoveDOMAttr):
657 (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
658 (WebCore::InspectorInstrumentation::frameWindowDiscarded):
659 (WebCore::InspectorInstrumentation::mediaQueryResultChanged):
660 (WebCore::InspectorInstrumentation::didPushShadowRoot):
661 (WebCore::InspectorInstrumentation::willPopShadowRoot):
662 (WebCore::InspectorInstrumentation::didCreateNamedFlow):
663 (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
664 (WebCore::InspectorInstrumentation::didChangeRegionOverset):
665 (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
666 (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
667 (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
668 (WebCore::InspectorInstrumentation::handleTouchEvent):
669 (WebCore::InspectorInstrumentation::handleMousePress):
670 (WebCore::InspectorInstrumentation::forcePseudoState):
671 (WebCore::InspectorInstrumentation::characterDataModified):
672 (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
673 (WebCore::InspectorInstrumentation::didInstallTimer):
674 (WebCore::InspectorInstrumentation::didRemoveTimer):
675 (WebCore::InspectorInstrumentation::willCallFunction):
676 (WebCore::InspectorInstrumentation::didCallFunction):
677 (WebCore::InspectorInstrumentation::willDispatchXHRReadyStateChangeEvent):
678 (WebCore::InspectorInstrumentation::didDispatchXHRReadyStateChangeEvent):
679 (WebCore::InspectorInstrumentation::willDispatchEvent):
680 (WebCore::InspectorInstrumentation::didDispatchEvent):
681 (WebCore::InspectorInstrumentation::willHandleEvent):
682 (WebCore::InspectorInstrumentation::didHandleEvent):
683 (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
684 (WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
685 (WebCore::InspectorInstrumentation::willEvaluateScript):
686 (WebCore::InspectorInstrumentation::didEvaluateScript):
687 (WebCore::InspectorInstrumentation::scriptsEnabled):
688 (WebCore::InspectorInstrumentation::willFireTimer):
689 (WebCore::InspectorInstrumentation::didFireTimer):
690 (WebCore::InspectorInstrumentation::didInvalidateLayout):
691 (WebCore::InspectorInstrumentation::willLayout):
692 (WebCore::InspectorInstrumentation::didLayout):
693 (WebCore::InspectorInstrumentation::didScroll):
694 (WebCore::InspectorInstrumentation::willDispatchXHRLoadEvent):
695 (WebCore::InspectorInstrumentation::didDispatchXHRLoadEvent):
696 (WebCore::InspectorInstrumentation::willPaint):
697 (WebCore::InspectorInstrumentation::didPaint):
698 (WebCore::InspectorInstrumentation::willScrollLayer):
699 (WebCore::InspectorInstrumentation::didScrollLayer):
700 (WebCore::InspectorInstrumentation::willRecalculateStyle):
701 (WebCore::InspectorInstrumentation::didRecalculateStyle):
702 (WebCore::InspectorInstrumentation::didScheduleStyleRecalculation):
703 (WebCore::InspectorInstrumentation::applyEmulatedMedia):
704 (WebCore::InspectorInstrumentation::willSendRequest):
705 (WebCore::InspectorInstrumentation::continueAfterPingLoader):
706 (WebCore::InspectorInstrumentation::markResourceAsCached):
707 (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
708 (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
709 (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
710 (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
711 (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
712 (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
713 (WebCore::InspectorInstrumentation::didReceiveData):
714 (WebCore::InspectorInstrumentation::didFinishLoading):
715 (WebCore::InspectorInstrumentation::didFailLoading):
716 (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient):
717 (WebCore::InspectorInstrumentation::willLoadXHR):
718 (WebCore::InspectorInstrumentation::didFailXHRLoading):
719 (WebCore::InspectorInstrumentation::didFinishXHRLoading):
720 (WebCore::InspectorInstrumentation::didReceiveXHRResponse):
721 (WebCore::InspectorInstrumentation::willLoadXHRSynchronously):
722 (WebCore::InspectorInstrumentation::didLoadXHRSynchronously):
723 (WebCore::InspectorInstrumentation::scriptImported):
724 (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
725 (WebCore::InspectorInstrumentation::didReceiveScriptResponse):
726 (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
727 (WebCore::InspectorInstrumentation::loadEventFired):
728 (WebCore::InspectorInstrumentation::frameDetachedFromParent):
729 (WebCore::InspectorInstrumentation::didCommitLoad):
730 (WebCore::InspectorInstrumentation::frameDocumentUpdated):
731 (WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
732 (WebCore::InspectorInstrumentation::frameStartedLoading):
733 (WebCore::InspectorInstrumentation::frameStoppedLoading):
734 (WebCore::InspectorInstrumentation::frameScheduledNavigation):
735 (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
736 (WebCore::InspectorInstrumentation::willRunJavaScriptDialog):
737 (WebCore::InspectorInstrumentation::didRunJavaScriptDialog):
738 (WebCore::InspectorInstrumentation::willDestroyCachedResource):
739 (WebCore::InspectorInstrumentation::willWriteHTML):
740 (WebCore::InspectorInstrumentation::didWriteHTML):
741 (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
742 (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
743 (WebCore::InspectorInstrumentation::didStartWorkerGlobalScope):
744 (WebCore::InspectorInstrumentation::workerGlobalScopeTerminated):
745 (WebCore::InspectorInstrumentation::didCreateWebSocket):
746 (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
747 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
748 (WebCore::InspectorInstrumentation::didCloseWebSocket):
749 (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
750 (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
751 (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
752 (WebCore::InspectorInstrumentation::sessionCreated):
753 (WebCore::InspectorInstrumentation::sessionLoaded):
754 (WebCore::InspectorInstrumentation::sessionModified):
755 (WebCore::InspectorInstrumentation::segmentCreated):
756 (WebCore::InspectorInstrumentation::segmentCompleted):
757 (WebCore::InspectorInstrumentation::segmentLoaded):
758 (WebCore::InspectorInstrumentation::segmentUnloaded):
759 (WebCore::InspectorInstrumentation::captureStarted):
760 (WebCore::InspectorInstrumentation::captureStopped):
761 (WebCore::InspectorInstrumentation::playbackStarted):
762 (WebCore::InspectorInstrumentation::playbackPaused):
763 (WebCore::InspectorInstrumentation::playbackFinished):
764 (WebCore::InspectorInstrumentation::playbackHitPosition):
765 (WebCore::InspectorInstrumentation::networkStateChanged):
766 (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
767 (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
768 (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
769 (WebCore::InspectorInstrumentation::willFireAnimationFrame):
770 (WebCore::InspectorInstrumentation::didFireAnimationFrame):
771 (WebCore::InspectorInstrumentation::layerTreeDidChange):
772 (WebCore::InspectorInstrumentation::renderLayerDestroyed):
773 (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
774 (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
775 (WebCore::InspectorInstrumentation::hasFrontends): Deleted.
776 (WebCore::InspectorInstrumentation::consoleAgentEnabled): Deleted.
777 (WebCore::InspectorInstrumentation::runtimeAgentEnabled): Deleted.
778 (WebCore::InspectorInstrumentation::timelineAgentEnabled): Deleted.
779 (WebCore::InspectorInstrumentation::replayAgentEnabled): Deleted.
780 * inspector/InspectorLayerTreeAgent.cpp:
781 * inspector/InspectorLayerTreeAgent.h:
782 * inspector/InspectorOverlay.cpp:
783 * inspector/InspectorPageAgent.cpp:
784 * inspector/InspectorPageAgent.h:
785 * inspector/InspectorReplayAgent.cpp:
786 * inspector/InspectorReplayAgent.h:
787 * inspector/InspectorResourceAgent.cpp:
788 * inspector/InspectorResourceAgent.h:
789 * inspector/InspectorStyleSheet.cpp:
790 * inspector/InspectorStyleSheet.h:
791 * inspector/InspectorStyleTextEditor.cpp:
792 * inspector/InspectorStyleTextEditor.h:
793 * inspector/InspectorTimelineAgent.cpp:
794 * inspector/InspectorTimelineAgent.h:
795 * inspector/InspectorWorkerAgent.cpp:
796 * inspector/InspectorWorkerResource.h:
797 * inspector/InstrumentingAgents.cpp:
798 * inspector/NetworkResourcesData.cpp:
799 * inspector/NetworkResourcesData.h:
800 * inspector/PageConsoleAgent.cpp:
801 * inspector/PageConsoleAgent.h:
802 * inspector/PageDebuggerAgent.cpp:
803 * inspector/PageDebuggerAgent.h:
804 * inspector/PageRuntimeAgent.cpp:
805 * inspector/PageRuntimeAgent.h:
806 * inspector/PageScriptDebugServer.cpp:
807 * inspector/PageScriptDebugServer.h:
808 * inspector/TimelineRecordFactory.cpp:
809 * inspector/WebConsoleAgent.cpp:
810 * inspector/WebConsoleAgent.h:
811 * inspector/WebDebuggerAgent.cpp:
812 * inspector/WebDebuggerAgent.h:
813 * inspector/WebInjectedScriptHost.cpp:
814 * inspector/WebInjectedScriptHost.h:
815 * inspector/WebInjectedScriptManager.cpp:
816 * inspector/WebInjectedScriptManager.h:
817 * inspector/WorkerConsoleAgent.cpp:
818 * inspector/WorkerConsoleAgent.h:
819 * inspector/WorkerDebuggerAgent.cpp:
820 * inspector/WorkerDebuggerAgent.h:
821 * inspector/WorkerInspectorController.cpp:
822 * inspector/WorkerInspectorController.h:
823 * inspector/WorkerRuntimeAgent.cpp:
824 * inspector/WorkerRuntimeAgent.h:
825 * loader/DocumentThreadableLoader.cpp:
826 (WebCore::DocumentThreadableLoader::didReceiveResponse):
827 (WebCore::DocumentThreadableLoader::loadRequest):
828 * loader/FrameLoader.cpp:
829 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
830 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
831 * loader/appcache/ApplicationCacheGroup.cpp:
832 (WebCore::ApplicationCacheGroup::createResourceHandle):
833 (WebCore::ApplicationCacheGroup::didReceiveResponse):
834 * loader/appcache/ApplicationCacheHost.cpp:
835 (WebCore::ApplicationCacheHost::applicationCacheInfo):
836 * loader/appcache/ApplicationCacheHost.h:
837 * loader/cache/CachedResourceLoader.cpp:
838 (WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
839 * page/ContextMenuController.cpp:
840 (WebCore::ContextMenuController::showContextMenu):
841 (WebCore::ContextMenuController::contextMenuItemSelected):
842 (WebCore::ContextMenuController::populate):
843 (WebCore::ContextMenuController::addInspectElementItem):
844 (WebCore::ContextMenuController::checkOrEnableIfNeeded):
845 * page/FrameView.cpp:
846 (WebCore::FrameView::sendResizeEventIfNeeded):
848 (WebCore::Page::Page):
849 (WebCore::Page::~Page):
851 * platform/ContextMenuItem.h:
852 * platform/efl/EflInspectorUtilities.cpp:
853 * platform/efl/EflInspectorUtilities.h:
854 * platform/network/ResourceRequestBase.h:
855 (WebCore::ResourceRequestBase::ResourceRequestBase):
856 * platform/network/cf/ResourceRequestCFNet.cpp:
857 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
858 * platform/network/cocoa/ResourceRequestCocoa.mm:
859 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
860 * testing/Internals.cpp:
861 (WebCore::InspectorFrontendChannelDummy::sendMessageToFrontend):
862 (WebCore::Internals::resetToConsistentState):
863 (WebCore::Internals::inspectorHighlightRects):
864 (WebCore::Internals::inspectorHighlightObject):
865 (WebCore::Internals::setInspectorIsUnderTest):
866 * testing/Internals.h:
867 * testing/Internals.idl:
868 * workers/WorkerGlobalScope.cpp:
869 (WebCore::WorkerGlobalScope::WorkerGlobalScope):
870 * workers/WorkerGlobalScope.h:
871 * workers/WorkerGlobalScopeProxy.h:
872 * workers/WorkerMessagingProxy.cpp:
873 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
874 (WebCore::WorkerMessagingProxy::sendMessageToInspector):
875 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
876 * workers/WorkerMessagingProxy.h:
877 * workers/WorkerReportingProxy.h:
878 * workers/WorkerThread.cpp:
879 (WebCore::WorkerThread::workerThread):
881 2015-01-20 Chris Dumez <cdumez@apple.com>
883 Simplify DiagnosticLoggingClient call sites
884 https://bugs.webkit.org/show_bug.cgi?id=140701
886 Reviewed by Andreas Kling.
888 Simplify DiagnosticLoggingClient call sites by:
889 - Moving the Settings::diagnosticLoggingEnabled() check inside the
890 MainFrame::diagnosticLoggingClient() getter.
891 - Having MainFrame::diagnosticLoggingClient() return a reference
892 instead of a pointer (returning a dummy client if necessary).
894 Otherwise, each call site needs to both check the setting and do a
895 null-check on the client which is a bit annoying.
897 * history/PageCache.cpp:
898 (WebCore::logPageCacheFailureDiagnosticMessage):
899 (WebCore::logCanCacheFrameDecision):
900 (WebCore::logCanCachePageDecision):
901 * html/HTMLMediaElement.cpp:
902 (WebCore::HTMLMediaElement::parseAttribute):
903 * loader/EmptyClients.h:
904 * loader/FrameLoader.cpp:
905 (WebCore::logNavigation):
906 (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
907 * loader/SubframeLoader.cpp:
908 (WebCore::logPluginRequest):
909 * loader/SubresourceLoader.cpp:
910 (WebCore::logResourceLoaded):
911 * page/DiagnosticLoggingClient.h:
912 (WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Deleted.
913 (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Deleted.
914 (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Deleted.
915 * page/MainFrame.cpp:
916 (WebCore::MainFrame::diagnosticLoggingClient):
919 2015-01-20 Joseph Pecoraro <pecoraro@apple.com>
921 Web Inspector: Should show dynamic specificity values
922 https://bugs.webkit.org/show_bug.cgi?id=140647
924 Reviewed by Benjamin Poulain.
926 Test: inspector/css/selector-dynamic-specificity.html
928 * inspector/InspectorCSSAgent.h:
929 * inspector/InspectorCSSAgent.cpp:
930 (WebCore::InspectorCSSAgent::setRuleSelector):
931 (WebCore::InspectorCSSAgent::addRule):
932 (WebCore::InspectorCSSAgent::buildObjectForRule):
933 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
934 When building a response for a particular element, pass the element along.
936 * inspector/InspectorStyleSheet.h:
937 * inspector/InspectorStyleSheet.cpp:
938 (WebCore::hasDynamicSpecificity):
939 (WebCore::buildObjectForSelectorHelper):
940 (WebCore::selectorsFromSource):
941 (WebCore::InspectorStyleSheet::buildObjectForSelector):
942 (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
943 (WebCore::InspectorStyleSheet::buildObjectForRule):
944 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
945 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
946 When building a response for a Selector, include the specificity if we know
947 the element in context.
949 2015-01-20 Brent Fulgham <bfulgham@apple.com>
951 [Win] Build fix after r178760.
953 Windows will not accept a variable as the size declaration for an array.
955 * svg/SVGToOTFFontConversion.cpp:
956 (WebCore::SVGToOTFFontConverter::appendGSUBTable): Make size argument a const.
958 2015-01-20 Brent Fulgham <bfulgham@apple.com>
960 [Win] Unreviewed Windows project file gardening.
962 * WebCore.vcxproj/WebCore.vcxproj: Add missing SVG files and put things in their proper
964 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
966 2015-01-20 Benjamin Poulain <benjamin@webkit.org>
968 URLFilterParser dismisses the last atom when parsing a builtin character class
969 https://bugs.webkit.org/show_bug.cgi?id=140695
971 Reviewed by Andreas Kling.
973 The pending atom was not sunk before creating the new atom.
975 * contentextensions/URLFilterParser.cpp:
976 (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
978 2015-01-20 Andreas Kling <akling@apple.com>
980 Fast path for casting JSValue to JSDocument*.
981 <https://webkit.org/b/134655>
983 Add a custom JSType bit for JSDocument so we can quickly cast to it
984 from JSValue in the DocumentPrototype functions. This removes a bunch
985 of grunt work and branches from common functions like getElementById.
987 Also removed GetCastingHelperForBaseObject and replace it with
988 simple jsCasts since we don't need dynamic type checks for the base.
990 Reviewed by Darin Adler.
992 * WebCore.xcodeproj/project.pbxproj:
993 * bindings/js/JSDOMWrapper.h:
994 * bindings/js/JSDocumentCustom.h:
995 * bindings/scripts/CodeGeneratorJS.pm:
997 (GetCastingHelperForThisObject):
998 (GenerateImplementation):
999 (GetCastingHelperForBaseObject): Deleted.
1002 2015-01-20 Commit Queue <commit-queue@webkit.org>
1004 Unreviewed, rolling out r178751.
1005 https://bugs.webkit.org/show_bug.cgi?id=140694
1007 Caused 32-bit JSC test failures (Requested by JoePeck on
1012 "put_by_val_direct need to check the property is index or not
1013 for using putDirect / putDirectIndex"
1014 https://bugs.webkit.org/show_bug.cgi?id=140426
1015 http://trac.webkit.org/changeset/178751
1017 2015-01-20 Zalan Bujtas <zalan@apple.com>
1019 Simple line layout: Use FlowContents::Segment::text instead of renderer when possible.
1020 https://bugs.webkit.org/show_bug.cgi?id=140692
1022 Reviewed by Myles C. Maxfield.
1024 No change in functionality.
1026 * rendering/SimpleLineLayoutResolver.cpp:
1027 (WebCore::SimpleLineLayout::RunResolver::Run::text):
1029 2015-01-20 David Kilzer <ddkilzer@apple.com>
1031 Switch to comparing PLATFORM_NAME in terms of macosx
1032 <http://webkit.org/b/139516>
1034 Reviewed by Timothy Hatcher.
1036 * bindings/scripts/preprocessor.pm:
1037 (applyPreprocessor):
1038 * generate-export-file:
1039 (preprocessorMacros):
1041 2015-01-20 Benjamin Poulain <benjamin@webkit.org>
1043 Attempt to fix 32bits builds after r178743
1045 * contentextensions/ContentExtensionsBackend.cpp:
1046 (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
1048 2015-01-20 Yusuke Suzuki <utatane.tea@gmail.com>
1050 put_by_val_direct need to check the property is index or not for using putDirect / putDirectIndex
1051 https://bugs.webkit.org/show_bug.cgi?id=140426
1053 Reviewed by Geoffrey Garen.
1055 Test: js/dfg-put-by-val-direct-with-edge-numbers.html
1057 * bindings/js/JSDOMWindowCustom.cpp:
1058 (WebCore::JSDOMWindow::getOwnPropertySlot):
1059 * bindings/js/JSHTMLAllCollectionCustom.cpp:
1060 (WebCore::callHTMLAllCollection):
1061 (WebCore::JSHTMLAllCollection::item):
1062 * bindings/scripts/CodeGeneratorJS.pm:
1063 (GenerateGetOwnPropertySlotBody):
1064 (GenerateImplementation):
1065 * bindings/scripts/test/JS/JSFloat64Array.cpp:
1066 (WebCore::JSFloat64Array::getOwnPropertySlot):
1067 (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
1068 (WebCore::JSFloat64Array::put):
1069 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1070 (WebCore::JSTestEventTarget::getOwnPropertySlot):
1071 * bridge/runtime_array.cpp:
1072 (JSC::RuntimeArray::getOwnPropertySlot):
1073 (JSC::RuntimeArray::put):
1075 2015-01-20 Chris Dumez <cdumez@apple.com>
1077 Drop width / height shorthands code from StylePropertyShorthand.*
1078 https://bugs.webkit.org/show_bug.cgi?id=140686
1080 Reviewed by Andreas Kling.
1082 Drop width / height shorthands code from StylePropertyShorthand.*.
1083 width / height are not shorthands for min-width/max-width and
1084 min-height/max-height. Also, only matchingCustomShorthandsForLonghand()
1085 treats these as shorthands. For e.g, the reverse method
1086 (indexOfShorthandForLonghand()) does not.
1088 * css/StylePropertyShorthand.cpp:
1089 (WebCore::widthShorthand): Deleted.
1090 (WebCore::heightShorthand): Deleted.
1091 * css/StylePropertyShorthand.h:
1092 (WebCore::matchingCustomShorthandsForLonghand):
1094 2015-01-20 Benjamin Poulain <benjamin@webkit.org>
1096 Add a mechanism to ignore previous content extension rules
1097 https://bugs.webkit.org/show_bug.cgi?id=140663
1099 Reviewed by Andreas Kling.
1101 * contentextensions/ContentExtensionRule.h:
1102 * contentextensions/ContentExtensionsBackend.cpp:
1103 (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
1104 * contentextensions/ContentExtensionsManager.cpp:
1105 (WebCore::ContentExtensions::ExtensionsManager::loadAction):
1107 2015-01-20 Benjamin Poulain <benjamin@webkit.org>
1109 Resolve the epsilon transitions for each state upfront instead of dynamically
1110 https://bugs.webkit.org/show_bug.cgi?id=140654
1112 Reviewed by Andreas Kling.
1114 Instead of recomputing the epsilon-closure for each set, we compute the closure
1115 of every element at the beginning of the transformation.
1117 We then remove the epsilon transitions from the NFA to simplify populateTransitions().
1118 The epsilon transitions are still there, but they are now in a separate graph we use
1121 * contentextensions/NFAToDFA.cpp:
1122 (WebCore::ContentExtensions::epsilonClosureExcludingSelf):
1123 (WebCore::ContentExtensions::resolveEpsilonClosures):
1124 (WebCore::ContentExtensions::extendSetWithClosure):
1125 (WebCore::ContentExtensions::populateTransitions):
1126 (WebCore::ContentExtensions::NFAToDFA::convert):
1127 (WebCore::ContentExtensions::epsilonClosure): Deleted.
1128 (WebCore::ContentExtensions::populateTransitionsExcludingEpsilon): Deleted.
1129 * contentextensions/NFAToDFA.h:
1131 2015-01-20 Chris Dumez <cdumez@apple.com>
1133 Log types of resources being loaded using DiagnosticLoggingClient
1134 https://bugs.webkit.org/show_bug.cgi?id=140682
1136 Reviewed by Andreas Kling.
1138 Log types of resources being loaded using DiagnosticLoggingClient
1139 instead of the legacy FeatureCounter.
1141 * loader/SubresourceLoader.cpp:
1142 (WebCore::logResourceLoaded):
1143 (WebCore::SubresourceLoader::didFinishLoading):
1144 (WebCore::logResourceLoadedUsingFeatureCounter): Deleted.
1145 * page/DiagnosticLoggingKeys.cpp:
1146 (WebCore::DiagnosticLoggingKeys::otherKey):
1147 (WebCore::DiagnosticLoggingKeys::mainResourceKey):
1148 (WebCore::DiagnosticLoggingKeys::loadedKey):
1149 (WebCore::DiagnosticLoggingKeys::imageKey):
1150 (WebCore::DiagnosticLoggingKeys::rawKey):
1151 (WebCore::DiagnosticLoggingKeys::resourceKey):
1152 (WebCore::DiagnosticLoggingKeys::scriptKey):
1153 (WebCore::DiagnosticLoggingKeys::styleSheetKey):
1154 (WebCore::DiagnosticLoggingKeys::svgDocumentKey):
1155 (WebCore::DiagnosticLoggingKeys::fontKey):
1156 * page/DiagnosticLoggingKeys.h:
1157 * platform/FeatureCounterKeys.h:
1159 2015-01-20 Zalan Bujtas <zalan@apple.com>
1161 Simple line layout: Remove redundant style.preserveNewline check when collapsing trailing whitespace.
1162 https://bugs.webkit.org/show_bug.cgi?id=140684
1164 Reviewed by Antti Koivisto.
1166 FlowContents::isLineBreak() checks whether we are at a hard newline.
1168 No change in functionality.
1170 * rendering/SimpleLineLayout.cpp:
1171 (WebCore::SimpleLineLayout::removeTrailingWhitespace):
1173 2015-01-19 Simon Fraser <simon.fraser@apple.com>
1175 Add a way to collect scrolling performance data (viewport tile coverage) with UI-side compositing
1176 https://bugs.webkit.org/show_bug.cgi?id=140474
1178 Reviewed by Tim Horton.
1180 Add accessors for standard names for container CALayer for each of the tile grids,
1181 and when tile grids are swapped, update those names as appropriate.
1184 * platform/graphics/ca/TileController.cpp:
1185 (WebCore::TileController::tileGridContainerLayerName):
1186 (WebCore::TileController::zoomedOutTileGridContainerLayerName):
1187 (WebCore::TileController::setContentsScale):
1188 * platform/graphics/ca/TileController.h:
1189 * platform/graphics/ca/TileGrid.cpp:
1190 (WebCore::TileGrid::TileGrid):
1191 (WebCore::TileGrid::setIsZoomedOutTileGrid):
1192 * platform/graphics/ca/TileGrid.h:
1194 2015-01-20 Csaba Osztrogonác <ossy@webkit.org>
1196 Fix unused-private-field warning in IconEfl.cpp
1197 https://bugs.webkit.org/show_bug.cgi?id=140676
1199 Reviewed by Darin Adler.
1201 * platform/graphics/Icon.h:
1202 * platform/graphics/efl/IconEfl.cpp:
1203 (WebCore::Icon::Icon): Deleted.
1205 2015-01-20 Csaba Osztrogonác <ossy@webkit.org>
1207 Fix unused-private-field warning in FontCustomPlatformDataFreeType.cpp
1208 https://bugs.webkit.org/show_bug.cgi?id=140677
1210 Reviewed by Martin Robinson.
1212 * platform/graphics/cairo/FontCustomPlatformData.h:
1213 * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
1214 (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1215 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1217 2015-01-20 peavo@outlook.com <peavo@outlook.com>
1219 Plugin content not loaded.
1220 https://bugs.webkit.org/show_bug.cgi?id=140672
1222 Reviewed by Brent Fulgham.
1224 It seems this is caused by a std::unique_ptr in CClass::methodNamed being moved,
1225 resetting its raw pointer. The raw pointer, which now is null, is then returned
1228 * bridge/c/c_class.cpp:
1229 (JSC::Bindings::CClass::methodNamed):
1230 (JSC::Bindings::CClass::fieldNamed):
1232 2015-01-20 Darin Adler <darin@apple.com>
1234 Remove SVGElementInstanceList, m_instanceUnderMouse, DUMP_INSTANCE_TREE, DUMP_SHADOW_TREE
1235 https://bugs.webkit.org/show_bug.cgi?id=140679
1237 Reviewed by Anders Carlsson.
1239 First step in removing the SVG instance tree.
1240 All based on redoing the same excellent work Rob Buis did to remove this in Blink in crbug.com/313438.
1242 * CMakeLists.txt: Removed the source files.
1243 * DerivedSources.cpp: Ditto.
1244 * DerivedSources.make: Ditto.
1245 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1246 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1247 * WebCore.xcodeproj/project.pbxproj: Ditto.
1249 * page/EventHandler.cpp:
1250 (WebCore::EventHandler::clear): Removed code to set unused m_instanceUnderMouse.
1251 (WebCore::EventHandler::updateMouseEventTargetNode): Ditto.
1252 * page/EventHandler.h: Removed m_instanceUnderMouse.
1254 * svg/SVGAllInOne.cpp: Removed the source files.
1255 * svg/SVGElementInstance.cpp:
1256 (WebCore::SVGElementInstance::childNodes): Deleted.
1257 * svg/SVGElementInstance.h: Removed childNodes.
1258 * svg/SVGElementInstance.idl: Ditto.
1259 * svg/SVGElementInstanceList.cpp: Removed.
1260 * svg/SVGElementInstanceList.h: Removed.
1261 * svg/SVGElementInstanceList.idl: Removed.
1262 * svg/SVGUseElement.cpp:
1263 (WebCore::dumpInstanceTree): Deleted.
1264 (WebCore::SVGUseElement::buildShadowAndInstanceTree): Removed DUMP_INSTANCE_TREE and
1265 DUMP_SHADOW_TREE code.
1267 2015-01-19 Brian J. Burg <burg@cs.washington.edu>
1269 Web Replay: code generator should take supplemental specifications and allow cross-framework references
1270 https://bugs.webkit.org/show_bug.cgi?id=136312
1272 Reviewed by Joseph Pecoraro.
1274 Changes covered by existing input generator tests.
1276 * DerivedSources.make: Add JSInputs.json as supplemental specification.
1277 * replay/WebInputs.json: Moved common types to JSInputs.json.
1279 2015-01-20 Csaba Osztrogonác <ossy@webkit.org>
1281 Fix unused-const-variable warning in RenderLayerCompositor.cpp
1282 https://bugs.webkit.org/show_bug.cgi?id=140678
1284 Reviewed by Simon Fraser.
1286 * rendering/RenderLayerCompositor.cpp:
1288 2015-01-20 Csaba Osztrogonác <ossy@webkit.org>
1290 [gstreamer] Fix expression result unused warning in GRefPtrGStreamer.cpp
1291 https://bugs.webkit.org/show_bug.cgi?id=140671
1293 Reviewed by Philippe Normand.
1295 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1296 (WTF::refGPtr<GstToc>):
1298 2015-01-19 Dean Jackson <dino@apple.com>
1300 Support "plus-darker" in mix-blend mode
1301 https://bugs.webkit.org/show_bug.cgi?id=140646
1302 <rdar://problem/19523370>
1304 Reviewed by Simon Fraser.
1306 Support the "plus-darker" blending mode to CSS.
1307 See: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html
1309 Test: css3/blending/svg-blend-plus-darker.html
1311 * css/CSSParser.cpp:
1312 (WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept
1314 * css/CSSPrimitiveValueMappings.h: Add the mappings.
1315 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1316 (WebCore::CSSPrimitiveValue::operator BlendMode):
1317 * platform/graphics/GraphicsTypes.cpp: Add the new GraphicsType.
1318 * platform/graphics/GraphicsTypes.h:
1319 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA compositing filter.
1320 (PlatformCAFilters::setBlendingFiltersOnLayer):
1321 * platform/graphics/cg/GraphicsContextCG.cpp:
1322 (WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG blending flag.
1324 2015-01-20 Csaba Osztrogonác <ossy@webkit.org>
1326 Fix 'register' storage class specifier is deprecated warning
1327 https://bugs.webkit.org/show_bug.cgi?id=140669
1329 Reviewed by Carlos Garcia Campos.
1331 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1332 (webKitWebAudioSrcLoop):
1334 2015-01-20 Chris Dumez <cdumez@apple.com>
1336 Use DiagnosticLoggingClient to log page cache failures
1337 https://bugs.webkit.org/show_bug.cgi?id=140650
1339 Reviewed by Andreas Kling.
1341 Use DiagnosticLoggingClient to log page cache failures instead of the
1342 legacy FeatureCounter.
1344 * history/PageCache.cpp:
1345 (WebCore::logPageCacheFailureDiagnosticMessage):
1346 (WebCore::logCanCacheFrameDecision):
1347 (WebCore::logCanCachePageDecision):
1348 (WebCore::PageCache::canCache):
1349 (WebCore::pruningReasonToDiagnosticLoggingKey):
1350 (WebCore::PageCache::take):
1351 (WebCore::PageCache::get):
1352 (WebCore::pruningReasonToFeatureCounterKey): Deleted.
1353 * page/DiagnosticLoggingKeys.cpp:
1354 (WebCore::DiagnosticLoggingKeys::successKey):
1355 (WebCore::DiagnosticLoggingKeys::failureKey):
1356 (WebCore::DiagnosticLoggingKeys::pageLoadedKey):
1357 (WebCore::DiagnosticLoggingKeys::engineFailedToLoadKey):
1358 (WebCore::DiagnosticLoggingKeys::navigationKey):
1359 (WebCore::DiagnosticLoggingKeys::pageCacheKey):
1360 (WebCore::DiagnosticLoggingKeys::noDocumentLoaderKey):
1361 (WebCore::DiagnosticLoggingKeys::mainDocumentErrorKey):
1362 (WebCore::DiagnosticLoggingKeys::isErrorPageKey):
1363 (WebCore::DiagnosticLoggingKeys::hasPluginsKey):
1364 (WebCore::DiagnosticLoggingKeys::httpsNoStoreKey):
1365 (WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey):
1366 (WebCore::DiagnosticLoggingKeys::noCurrentHistoryItemKey):
1367 (WebCore::DiagnosticLoggingKeys::quirkRedirectComingKey):
1368 (WebCore::DiagnosticLoggingKeys::loadingAPISenseKey):
1369 (WebCore::DiagnosticLoggingKeys::documentLoaderStoppingKey):
1370 (WebCore::DiagnosticLoggingKeys::cannotSuspendActiveDOMObjectsKey):
1371 (WebCore::DiagnosticLoggingKeys::applicationCacheKey):
1372 (WebCore::DiagnosticLoggingKeys::deniedByClientKey):
1373 (WebCore::DiagnosticLoggingKeys::deviceMotionKey):
1374 (WebCore::DiagnosticLoggingKeys::deviceOrientationKey):
1375 (WebCore::DiagnosticLoggingKeys::deviceProximityKey):
1376 (WebCore::DiagnosticLoggingKeys::reloadKey):
1377 (WebCore::DiagnosticLoggingKeys::reloadFromOriginKey):
1378 (WebCore::DiagnosticLoggingKeys::sameLoadKey):
1379 (WebCore::DiagnosticLoggingKeys::expiredKey):
1380 (WebCore::DiagnosticLoggingKeys::prunedDueToMemoryPressureKey):
1381 (WebCore::DiagnosticLoggingKeys::prunedDueToCapacityReached):
1382 (WebCore::DiagnosticLoggingKeys::prunedDueToProcessSuspended):
1383 (WebCore::DiagnosticLoggingKeys::passKey): Deleted.
1384 (WebCore::DiagnosticLoggingKeys::failKey): Deleted.
1385 (WebCore::DiagnosticLoggingKeys::noopKey): Deleted.
1386 * page/DiagnosticLoggingKeys.h:
1387 * platform/FeatureCounterKeys.h:
1389 2015-01-19 Sergio Villar Senin <svillar@igalia.com>
1391 [CSS Grid Layout] Wrong arguments passed to computeNormalizedFractionBreadth
1392 https://bugs.webkit.org/show_bug.cgi?id=139058
1394 Reviewed by Andreas Kling.
1396 The method RenderGrid::computeNormalizedFractionBreadth() is
1397 supposed to get as fourth argument either the grid element's
1398 content box size or the max-size of a particular grid item. For
1399 the former we were incorrectly passing the free space after
1400 distributing the available space to tracks.
1402 Apart from that, that method has a bug in its implementation. As
1403 we were using the free space instead of the grid element's content
1404 box size, we didn't have to subtract the usedBreadth of grid
1405 tracks from the passed in value. That did not work for the case of
1406 the caller passing the max-size of a particular item.
1408 * rendering/RenderGrid.cpp:
1409 (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1410 (WebCore::RenderGrid::computeNormalizedFractionBreadth):
1412 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com>
1414 [SVG -> OTF Converter] Flip the switch on
1415 https://bugs.webkit.org/show_bug.cgi?id=140592
1417 Reviewed by Antti Koivisto.
1419 * Configurations/FeatureDefines.xcconfig:
1421 2015-01-19 Commit Queue <commit-queue@webkit.org>
1423 Unreviewed, rolling out r178683.
1424 https://bugs.webkit.org/show_bug.cgi?id=140657
1426 Lots of asserts in tests. (Requested by JoePeck on #webkit).
1430 "LayoutState and subtree layout code should use
1432 https://bugs.webkit.org/show_bug.cgi?id=126878
1433 http://trac.webkit.org/changeset/178683
1435 2015-01-19 Brent Fulgham <bfulgham@apple.com>
1437 [Win] Unreviewed gardening.
1439 Avoid compiling files twice when they are included in an 'AllInOne.cpp' file.
1441 * WebCore.vcxproj/WebCore.vcxproj: Mark several files as 'not to be built', since
1442 they are also build as part of an 'AllInOne.cpp' file.
1444 2015-01-19 Chris Dumez <cdumez@apple.com>
1446 Stop using FeatureCounter to log navigation types
1447 https://bugs.webkit.org/show_bug.cgi?id=140642
1449 Reviewed by Andreas Kling.
1451 Stop using FeatureCounter to log navigation types now that
1452 DiagnosticLoggingClient is working on iOS.
1454 * loader/FrameLoader.cpp:
1455 (WebCore::logNavigation):
1456 * platform/FeatureCounterKeys.h:
1458 2015-01-19 Andreas Kling <akling@apple.com>
1460 LayoutState and subtree layout code should use RenderElement.
1461 <https://webkit.org/b/126878>
1463 Subtree layout will never begin at a RenderText, so tighten up
1464 the code to operate on RenderElements instead of RenderObjects.
1466 Reviewed by Antti Koivisto.
1468 * inspector/InspectorTimelineAgent.cpp:
1469 (WebCore::InspectorTimelineAgent::willLayout):
1470 * page/FrameView.cpp:
1471 (WebCore::FrameView::layoutRoot):
1472 (WebCore::FrameView::layout):
1475 Make FrameView::layoutRoot() return RenderElement*.
1477 * rendering/RenderElement.cpp:
1478 (WebCore::RenderElement::willBeDestroyed):
1479 * rendering/RenderObject.cpp:
1480 (WebCore::RenderObject::willBeDestroyed):
1481 * rendering/RenderObject.h:
1483 Move subtree layout root clearing logic in willBeDestroyed()
1484 from RenderObject to RenderElement.
1486 * rendering/LayoutState.cpp:
1487 (WebCore::LayoutState::LayoutState):
1488 * rendering/LayoutState.h:
1489 * rendering/RenderView.h:
1490 * rendering/RenderView.cpp:
1491 (WebCore::RenderView::pushLayoutState):
1492 (WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
1494 Make all of these functions take RenderElement instead of
1495 RenderObject since layout never starts from a RenderText.
1497 (WebCore::RenderView::shouldDisableLayoutStateForSubtree):
1499 Tweak loop since it's never null on first iteration.
1501 2015-01-19 Beth Dakin <bdakin@apple.com>
1503 Speculative build fix.
1505 * platform/spi/mac/NSViewSPI.h:
1507 2015-01-19 Timothy Horton <timothy_horton@apple.com>
1509 Adjust naming of action menu SPI
1510 https://bugs.webkit.org/show_bug.cgi?id=140644
1511 <rdar://problem/19448129>
1513 Reviewed by Brian Weinstein.
1515 * platform/spi/mac/NSViewSPI.h:
1518 2015-01-19 Dhi Aurrahman <diorahman@rockybars.com>
1520 Canonicalization of :lang() should preserve the :lang()'s arguments representations
1521 https://bugs.webkit.org/show_bug.cgi?id=139928
1523 Reviewed by Benjamin Poulain.
1525 Preserve the representation of IDENT and STRING when serializing the
1526 :lang(). For example, :lang(foo,"bar", baz) should be serialize as
1527 :lang(foo, "bar", baz) instead of :lang(foo, bar, baz).
1529 Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
1530 and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
1531 CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
1532 respectively, since those methods are being exclusively used in respect
1535 Update the test of serializing :lang() with IDENT and STRING arguments.
1537 * css/CSSGrammar.y.in:
1538 * css/CSSParserValues.cpp:
1539 (WebCore::CSSParserSelector::setLangArgumentList):
1540 (WebCore::CSSParserSelector::setArgumentList): Deleted.
1541 * css/CSSParserValues.h:
1542 (WebCore::CSSParserString::tokenType):
1543 (WebCore::CSSParserString::setTokenType):
1544 * css/CSSSelector.cpp:
1545 (WebCore::appendLangArgumentList):
1546 (WebCore::CSSSelector::selectorText):
1547 (WebCore::CSSSelector::setLangArgumentList):
1548 (WebCore::appendArgumentList): Deleted.
1549 (WebCore::CSSSelector::setArgumentList): Deleted.
1550 * css/CSSSelector.h:
1551 (WebCore::CSSSelector::langArgumentList):
1552 (WebCore::CSSSelector::argumentList): Deleted.
1553 * css/SelectorChecker.cpp:
1554 (WebCore::SelectorChecker::checkOne):
1555 * css/SelectorCheckerTestFunctions.h:
1556 (WebCore::matchesLangPseudoClass):
1558 2015-01-16 Roger Fong <roger_fong@apple.com>
1560 WebGL2: Support webgl2 context creation.
1561 https://bugs.webkit.org/show_bug.cgi?id=126408
1562 <rdar://problem/15002170>
1564 Reviewed by Dean Jackson.
1566 Tests covered by existing Khronos tests for WebGL 1.0 conformance.
1568 Create a WebGLRenderingContextBase class that extends to a WebGLRenderingContext and WebGL2RenderingContext.
1569 Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
1570 As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.
1573 * DerivedSources.cpp:
1574 * DerivedSources.make:
1575 * WebCore.vcxproj/WebCore.vcxproj:
1576 * WebCore.vcxproj/WebCore.vcxproj.filters:
1577 * WebCore.xcodeproj/project.pbxproj:
1578 * bindings/js/JSBindingsAllInOne.cpp:
1579 * bindings/js/JSCanvasRenderingContextCustom.cpp:
1581 * bindings/js/JSDocumentCustom.cpp:
1582 * bindings/js/JSHTMLCanvasElementCustom.cpp:
1583 * bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.
1584 (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
1585 * bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
1586 * bindings/js/JSWebGLRenderingContextCustom.cpp: Move code to JSWebGLRenderingContextBaseCustom.cpp.
1587 * bindings/scripts/CodeGeneratorJS.pm:
1588 (GenerateImplementation):
1589 * html/HTMLCanvasElement.cpp:
1590 (WebCore::HTMLCanvasElement::getContext):
1591 (WebCore::HTMLCanvasElement::reset):
1592 (WebCore::HTMLCanvasElement::paint):
1593 (WebCore::HTMLCanvasElement::getImageData):
1594 * html/canvas/ANGLEInstancedArrays.cpp:
1595 (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
1596 (WebCore::ANGLEInstancedArrays::supported):
1597 * html/canvas/ANGLEInstancedArrays.h:
1598 * html/canvas/CanvasRenderingContext.h:
1599 (WebCore::CanvasRenderingContext::isWebGL1):
1600 (WebCore::CanvasRenderingContext::isWebGL2):
1601 (WebCore::CanvasRenderingContext::is3d):
1602 * html/canvas/EXTBlendMinMax.cpp:
1603 (WebCore::EXTBlendMinMax::EXTBlendMinMax):
1604 * html/canvas/EXTBlendMinMax.h:
1605 * html/canvas/EXTFragDepth.cpp:
1606 (WebCore::EXTFragDepth::EXTFragDepth):
1607 * html/canvas/EXTFragDepth.h:
1608 * html/canvas/EXTShaderTextureLOD.cpp:
1609 (WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
1610 * html/canvas/EXTShaderTextureLOD.h:
1611 * html/canvas/EXTTextureFilterAnisotropic.cpp:
1612 (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
1613 * html/canvas/EXTTextureFilterAnisotropic.h:
1614 * html/canvas/EXTsRGB.cpp:
1615 (WebCore::EXTsRGB::EXTsRGB):
1616 * html/canvas/EXTsRGB.h:
1617 * html/canvas/OESElementIndexUint.cpp:
1618 (WebCore::OESElementIndexUint::OESElementIndexUint):
1619 * html/canvas/OESElementIndexUint.h:
1620 * html/canvas/OESStandardDerivatives.cpp:
1621 (WebCore::OESStandardDerivatives::OESStandardDerivatives):
1622 * html/canvas/OESStandardDerivatives.h:
1623 * html/canvas/OESTextureFloat.cpp:
1624 (WebCore::OESTextureFloat::OESTextureFloat):
1625 * html/canvas/OESTextureFloat.h:
1626 * html/canvas/OESTextureFloatLinear.cpp:
1627 (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
1628 * html/canvas/OESTextureFloatLinear.h:
1629 * html/canvas/OESTextureHalfFloat.cpp:
1630 (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
1631 * html/canvas/OESTextureHalfFloat.h:
1632 * html/canvas/OESTextureHalfFloatLinear.cpp:
1633 (WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
1634 * html/canvas/OESTextureHalfFloatLinear.h:
1635 * html/canvas/OESVertexArrayObject.cpp:
1636 (WebCore::OESVertexArrayObject::OESVertexArrayObject):
1637 * html/canvas/OESVertexArrayObject.h:
1638 * html/canvas/WebGL2RenderingContext.cpp: Added.
1639 (WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
1640 * html/canvas/WebGL2RenderingContext.h: Added.
1641 * html/canvas/WebGL2RenderingContext.idl: Added.
1642 * html/canvas/WebGLBuffer.cpp:
1643 (WebCore::WebGLBuffer::create):
1644 (WebCore::WebGLBuffer::WebGLBuffer):
1645 * html/canvas/WebGLBuffer.h:
1646 * html/canvas/WebGLCompressedTextureATC.cpp:
1647 (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
1648 (WebCore::WebGLCompressedTextureATC::supported):
1649 * html/canvas/WebGLCompressedTextureATC.h:
1650 * html/canvas/WebGLCompressedTexturePVRTC.cpp:
1651 (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
1652 (WebCore::WebGLCompressedTexturePVRTC::supported):
1653 * html/canvas/WebGLCompressedTexturePVRTC.h:
1654 * html/canvas/WebGLCompressedTextureS3TC.cpp:
1655 (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
1656 (WebCore::WebGLCompressedTextureS3TC::supported):
1657 * html/canvas/WebGLCompressedTextureS3TC.h:
1658 * html/canvas/WebGLContextGroup.cpp:
1659 (WebCore::WebGLContextGroup::getAGraphicsContext3D):
1660 (WebCore::WebGLContextGroup::addContext):
1661 (WebCore::WebGLContextGroup::removeContext):
1662 (WebCore::WebGLContextGroup::loseContextGroup):
1663 * html/canvas/WebGLContextGroup.h:
1664 * html/canvas/WebGLContextObject.cpp:
1665 (WebCore::WebGLContextObject::WebGLContextObject):
1666 * html/canvas/WebGLContextObject.h:
1667 (WebCore::WebGLContextObject::context):
1668 * html/canvas/WebGLDebugRendererInfo.cpp:
1669 (WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
1670 * html/canvas/WebGLDebugRendererInfo.h:
1671 * html/canvas/WebGLDebugShaders.cpp:
1672 (WebCore::WebGLDebugShaders::WebGLDebugShaders):
1673 * html/canvas/WebGLDebugShaders.h:
1674 * html/canvas/WebGLDepthTexture.cpp:
1675 (WebCore::WebGLDepthTexture::WebGLDepthTexture):
1676 * html/canvas/WebGLDepthTexture.h:
1677 * html/canvas/WebGLDrawBuffers.cpp:
1678 (WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
1679 (WebCore::WebGLDrawBuffers::supported):
1680 (WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
1681 * html/canvas/WebGLDrawBuffers.h:
1682 * html/canvas/WebGLExtension.cpp:
1683 (WebCore::WebGLExtension::WebGLExtension):
1684 * html/canvas/WebGLExtension.h:
1685 (WebCore::WebGLExtension::context):
1686 * html/canvas/WebGLFramebuffer.cpp:
1687 (WebCore::WebGLFramebuffer::create):
1688 (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1689 * html/canvas/WebGLFramebuffer.h:
1690 * html/canvas/WebGLLoseContext.cpp:
1691 (WebCore::WebGLLoseContext::WebGLLoseContext):
1692 (WebCore::WebGLLoseContext::loseContext):
1693 * html/canvas/WebGLLoseContext.h:
1694 * html/canvas/WebGLObject.cpp:
1695 (WebCore::WebGLObject::WebGLObject):
1696 * html/canvas/WebGLObject.h:
1697 * html/canvas/WebGLProgram.cpp:
1698 (WebCore::WebGLProgram::create):
1699 (WebCore::WebGLProgram::WebGLProgram):
1700 * html/canvas/WebGLProgram.h:
1701 * html/canvas/WebGLRenderbuffer.cpp:
1702 (WebCore::WebGLRenderbuffer::create):
1703 (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
1704 * html/canvas/WebGLRenderbuffer.h:
1705 * html/canvas/WebGLRenderingContext.cpp: Move implementation to WebGLRenderingContextBase.cpp.
1706 * html/canvas/WebGLRenderingContext.h: Move implementation to WebGLRenderingContextBase.h.
1707 * html/canvas/WebGLRenderingContext.idl: Move implementation to WebGLRenderingContextBase.idl.
1708 * html/canvas/WebGLRenderingContextBase.cpp: Added.
1709 * html/canvas/WebGLRenderingContextBase.h: Added.
1710 * html/canvas/WebGLRenderingContextBase.idl: Added.
1711 * html/canvas/WebGLShader.cpp:
1712 (WebCore::WebGLShader::create):
1713 (WebCore::WebGLShader::WebGLShader):
1714 * html/canvas/WebGLShader.h:
1715 * html/canvas/WebGLSharedObject.cpp:
1716 (WebCore::WebGLSharedObject::WebGLSharedObject):
1717 * html/canvas/WebGLSharedObject.h:
1718 * html/canvas/WebGLTexture.cpp:
1719 (WebCore::WebGLTexture::create):
1720 (WebCore::WebGLTexture::WebGLTexture):
1721 * html/canvas/WebGLTexture.h:
1722 * html/canvas/WebGLVertexArrayObjectOES.cpp:
1723 (WebCore::WebGLVertexArrayObjectOES::create):
1724 (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
1725 * html/canvas/WebGLVertexArrayObjectOES.h:
1727 2015-01-19 Antti Koivisto <antti@apple.com>
1729 REGRESSION(r178250): ~2% PLT regression
1730 https://bugs.webkit.org/show_bug.cgi?id=140640
1732 Reviewed by Andreas Kling.
1734 * platform/graphics/FontCache.cpp:
1736 The patch accidentally contained a change to reduce the size of the cache (to verify that purgin works).
1737 Restore it back to the original value.
1739 2015-01-19 peavo@outlook.com <peavo@outlook.com>
1741 [WinCairo][Video] Windows Media Foundation implementation is not completed.
1742 https://bugs.webkit.org/show_bug.cgi?id=140337
1744 Reviewed by Alex Christensen.
1746 This patch aims to complete some of the methods which are not implemented.
1747 Currently, only MP4 is supported.
1748 Video is rendered in a child window of the main window.
1749 We should eventually render the video directly in the main window,
1750 by reading and painting individual video frames from the stream.
1752 * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1753 (WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
1754 (WebCore::MediaPlayerPrivateMediaFoundation::~MediaPlayerPrivateMediaFoundation):
1755 (WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes):
1756 (WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
1757 (WebCore::MediaPlayerPrivateMediaFoundation::load):
1758 (WebCore::MediaPlayerPrivateMediaFoundation::play):
1759 (WebCore::MediaPlayerPrivateMediaFoundation::pause):
1760 (WebCore::MediaPlayerPrivateMediaFoundation::naturalSize):
1761 (WebCore::MediaPlayerPrivateMediaFoundation::hasVideo):
1762 (WebCore::MediaPlayerPrivateMediaFoundation::hasAudio):
1763 (WebCore::MediaPlayerPrivateMediaFoundation::setVisible):
1764 (WebCore::MediaPlayerPrivateMediaFoundation::paused):
1765 (WebCore::MediaPlayerPrivateMediaFoundation::readyState):
1766 (WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress):
1767 (WebCore::MediaPlayerPrivateMediaFoundation::setSize):
1768 (WebCore::MediaPlayerPrivateMediaFoundation::paint):
1769 (WebCore::MediaPlayerPrivateMediaFoundation::createSession):
1770 (WebCore::MediaPlayerPrivateMediaFoundation::endSession):
1771 (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
1772 (WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
1773 (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
1774 (WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
1775 (WebCore::MediaPlayerPrivateMediaFoundation::addBranchToPartialTopology):
1776 (WebCore::MediaPlayerPrivateMediaFoundation::VideoViewWndProc):
1777 (WebCore::MediaPlayerPrivateMediaFoundation::registerVideoWindowClass):
1778 (WebCore::MediaPlayerPrivateMediaFoundation::createVideoWindow):
1779 (WebCore::MediaPlayerPrivateMediaFoundation::destroyVideoWindow):
1780 (WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
1781 (WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
1782 (WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSource):
1783 (WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
1784 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AsyncCallback):
1785 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::~AsyncCallback):
1786 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::QueryInterface):
1787 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::AddRef):
1788 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Release):
1789 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::GetParameters):
1790 (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
1791 * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
1793 2015-01-19 Brian J. Burg <burg@cs.washington.edu>
1795 Web Replay: convert to is<T> and downcast<T> for decoding replay inputs
1796 https://bugs.webkit.org/show_bug.cgi?id=140512
1798 Reviewed by Chris Dumez.
1800 No new tests, no behavior changed.
1802 * replay/EventLoopInput.h: Make overridden methods public.
1803 * replay/MemoizedDOMResult.h: Add type trait specialization here. It is
1804 special-cased because the input type parameter doesn't work with macros.
1805 * replay/SerializationMethods.cpp:
1806 (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
1807 Use is() and downcast() when dispatching to encoders based on type.
1809 2015-01-19 Zan Dobersek <zdobersek@igalia.com>
1811 Replace use of WTF::bind() in MemoryPressureHandlerLinux.cpp with a C++ lambda
1812 https://bugs.webkit.org/show_bug.cgi?id=140614
1814 Reviewed by Carlos Garcia Campos.
1816 Use a C++ lambda instead of WTF::bind() in the MemoryPressureHandler
1817 implementation for Linux.
1819 * platform/linux/MemoryPressureHandlerLinux.cpp:
1820 (WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):
1822 2015-01-19 Zan Dobersek <zdobersek@igalia.com>
1824 Replace uses of WTF::bind() in MockMediaPlayerMediaSource with C++ lambdas
1825 https://bugs.webkit.org/show_bug.cgi?id=140612
1827 Reviewed by Philippe Normand.
1829 Use C++ lambdas in place of WTF::bind() in the MockMediaPlayerMediaSource class.
1831 * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1832 (WebCore::MockMediaPlayerMediaSource::play):
1833 (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
1834 (WebCore::MockMediaPlayerMediaSource::seekCompleted):
1836 2015-01-19 Commit Queue <commit-queue@webkit.org>
1838 Unreviewed, rolling out r178653.
1839 https://bugs.webkit.org/show_bug.cgi?id=140634
1841 Broke multiple SVG tests on Mountain Lion (Requested by ap on
1846 "[SVG -> OTF Converter] Flip the switch on"
1847 https://bugs.webkit.org/show_bug.cgi?id=140592
1848 http://trac.webkit.org/changeset/178653
1850 2015-01-19 Brent Fulgham <bfulgham@apple.com>
1852 Layers need to be already updated before we call adjustViewSize
1853 https://bugs.webkit.org/show_bug.cgi?id=135514
1855 Reviewed by Simon Fraser.
1857 Tested by 'fast/dynamic/layer-no-longer-paginated.html'
1859 Defer painting operations until we have finished layout. This
1860 has a couple of benefits:
1861 (1) We do not attempt to modify render layers during layout.
1862 (2) In WK1 we do not attempt to paint during layout.
1864 Add a new virtual predicate to ScrollView indicating when we are in
1865 layout so that calls to setContentsSize do not attempt
1866 to adjust scrollbars.
1868 Modify FrameView to set its ScrollView state to block paint
1869 operations during layout. Also add a post-layout handler to
1870 complete the scrollbar updates after layout is finished.
1872 * WebCore.exp.in: Move linker symbol to ScrollView (from FrameView).
1873 * page/FrameView.cpp:
1874 (WebCore::FrameView::layout):
1875 (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
1876 (WebCore::FrameView::scrollPositionChangedViaPlatformWidget): Removed (Renamed).
1877 (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added (Renamed)
1878 (WebCore::FrameView::paintContents): Do not paint if we are inside view size adjustment.
1880 * platform/ScrollView.cpp:
1881 (WebCore::ScrollView::scrollPositionChangedViaPlatformWidget): Added. Checks whether we need to defer
1882 painting, and calls virtual scrollPositionChangedViaPlatformWidgetImpl if we do not.
1883 (WebCore::FrameView::scrollPositionChangedViaPlatformWidgetImpl): Added.
1884 (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
1885 (WebCore::ScrollView::scrollTo): If we should defer painting, cache the
1886 the scroll delta and apply it after the layout is complete.
1887 (WebCore::ScrollView::completeUpdatesAfterScrollTo): Split off part of 'scrollTo' into its own method
1888 so we can reuse it in handleDeferredScrollUpdateAfterContentSizeChange.
1889 * platform/ScrollView.h:
1890 (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
1892 2015-01-16 Ada Chan <adachan@apple.com>
1894 HTMLMediaElement::isPlayingAudio() should return false if the element is explicitly muted by script.
1895 https://bugs.webkit.org/show_bug.cgi?id=140524
1897 Reviewed by Andreas Kling.
1899 Test: media/muted-video-is-playing-audio.html
1901 * html/HTMLMediaElement.cpp:
1902 (WebCore::HTMLMediaElement::setMuted):
1903 Call Document::updateIsPlayingAudio() to recalculate the overall audio playing state.
1904 (WebCore::HTMLMediaElement::isPlayingAudio):
1905 HTMLMediaElement::isPlayingAudio() should return false if the media element is explicitly muted.
1907 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com>
1909 [SVG -> OTF Converter] Flip the switch on
1910 https://bugs.webkit.org/show_bug.cgi?id=140592
1912 Reviewed by Antti Koivisto.
1914 * Configurations/FeatureDefines.xcconfig:
1916 2015-01-16 Alexey Proskuryakov <ap@apple.com>
1918 Console log sometimes prefixed with line number
1919 https://bugs.webkit.org/show_bug.cgi?id=105280
1921 Reviewed by Darin Adler.
1923 Improve the logic for determining whether a console message should be associated
1924 with a source code location.
1926 * dom/ScriptableDocumentParser.h:
1927 * html/parser/HTMLDocumentParser.cpp:
1928 (WebCore::HTMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):
1929 * html/parser/HTMLDocumentParser.h:
1930 * page/PageConsoleClient.cpp:
1931 (WebCore::getParserLocationForConsoleMessage):
1932 (WebCore::PageConsoleClient::addMessage):
1933 * xml/parser/XMLDocumentParser.cpp:
1934 (WebCore::XMLDocumentParser::pauseParsing):
1935 * xml/parser/XMLDocumentParser.h:
1936 * xml/parser/XMLDocumentParserLibxml2.cpp:
1937 (WebCore::XMLDocumentParser::shouldAssociateConsoleMessagesWithTextPosition):
1939 2015-01-19 Myles C. Maxfield <mmaxfield@apple.com>
1941 [SVG -> OTF Converter] Glyphs get clipped weirdly
1942 https://bugs.webkit.org/show_bug.cgi?id=137095
1944 Reviewed by Antti Koivisto.
1946 The Adobe CFF spec doesn't actually tell you how to serialize a
1947 "FontBBox." After trial and error, it seems to be (x, y, width,
1950 Test: svg/text/kerning.svg
1951 svg/W3C-SVG-1.1/fonts-kern-01-t.svg
1953 * svg/SVGToOTFFontConversion.cpp:
1954 (WebCore::SVGToOTFFontConverter::appendHEADTable):
1955 (WebCore::SVGToOTFFontConverter::appendCFFTable):
1956 (WebCore::SVGToOTFFontConverter::appendVHEATable):
1957 (WebCore::CFFBuilder::CFFBuilder):
1958 (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
1959 (WebCore::SVGToOTFFontConverter::processGlyphElement):
1961 2015-01-19 Csaba Osztrogonác <ossy@webkit.org>
1963 REGRESSION(r178486): It broke the !ENABLE(VIDEO) build
1964 https://bugs.webkit.org/show_bug.cgi?id=140611
1966 Reviewed by Eric Carlson.
1968 * testing/Internals.cpp:
1969 (WebCore::Internals::elementIsBlockingDisplaySleep):
1970 * testing/Internals.h:
1972 2015-01-19 Sergio Villar Senin <svillar@igalia.com>
1974 [CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
1975 https://bugs.webkit.org/show_bug.cgi?id=139059
1977 Reviewed by David Hyatt.
1979 Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html
1981 * rendering/RenderGrid.cpp:
1982 (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1984 2015-01-18 Alexey Proskuryakov <ap@apple.com>
1986 Update bindings generation test results after <https://trac.webkit.org/changeset/178633>.
1988 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1989 (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
1990 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1991 (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
1992 (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
1993 * bindings/scripts/test/JS/JSTestObj.cpp:
1994 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1995 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1997 2015-01-18 Chris Dumez <cdumez@apple.com>
1999 Generate matchingShorthandsForLonghand() implementation from CSSPropertyNames.in
2000 https://bugs.webkit.org/show_bug.cgi?id=140599
2002 Reviewed by Antti Koivisto.
2004 Generate matchingShorthandsForLonghand() implementation from
2005 CSSPropertyNames.in. We already have all the information we need in
2006 CSSPropertyNames.in to generate the big switch() in
2007 matchingShorthandsForLonghand().
2009 A few shorthands still aren't generated. I will look into getting rid
2010 of the custom code in a follow-up patch.
2012 * css/StylePropertyShorthand.cpp:
2013 (WebCore::makeVector): Deleted.
2014 (WebCore::matchingShorthandsForLonghand): Deleted.
2015 * css/StylePropertyShorthand.h:
2016 (WebCore::matchingCustomShorthandsForLonghand):
2018 (constructShorthandsVector):
2020 2015-01-18 Dean Jackson <dino@apple.com>
2022 Out of bounds write in canvas.toDataURL
2023 https://bugs.webkit.org/show_bug.cgi?id=140594
2024 <rdar://problem/19449135>
2026 Reviewed by Alexey Proskuryakov.
2028 In the case where we have a canvas object that does
2029 not have premultiplied alpha (an option you can select
2030 when using WebGL) we have to multiply out the alpha when
2031 converting to JPEG via toDataURL.
2033 For this we created a buffer, but were not accurately
2034 resizing it before flattening the alpha.
2036 Test: fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html
2038 * platform/graphics/cg/ImageBufferCG.cpp:
2039 (WebCore::ImageDataToDataURL): Call resize once we've
2040 determined we have enough space.
2042 2015-01-17 Sam Weinig <sam@webkit.org>
2044 Add initial experimental user content filtering API
2045 https://bugs.webkit.org/show_bug.cgi?id=140584
2047 Reviewed by Benjamin Poulain.
2049 Change content extensions to be managed through the UserContentController.
2054 * WebCore.xcodeproj/project.pbxproj:
2055 Update for removed files.
2057 * contentextensions/ContentExtensionsBackend.cpp:
2058 (WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists):
2059 (WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): Deleted.
2060 * contentextensions/ContentExtensionsBackend.h:
2061 Remove concept of a shared instance and add a removeAllRuleLists() function.
2063 * contentextensions/ContentExtensionsInterface.cpp: Removed.
2064 * contentextensions/ContentExtensionsInterface.h: Removed.
2065 Since there is no shared instance anymore, checking if a URL should be blocked
2066 now has to go directly to the backend.
2068 * contentextensions/ContentExtensionsManager.cpp:
2069 (WebCore::ContentExtensions::ExtensionsManager::createRuleList):
2070 (WebCore::ContentExtensions::ExtensionsManager::loadExtension): Deleted.
2071 * contentextensions/ContentExtensionsManager.h:
2072 Update interface to accommodate the lack of a shared instance. Now, all this
2073 file does is take a serialized rule list and outputs the Vector of ContentExtensionRules
2075 * loader/cache/CachedResourceLoader.cpp:
2076 (WebCore::CachedResourceLoader::requestResource):
2077 Check with the UserContentController to see if the URL should be blocked.
2079 * page/UserContentController.cpp:
2080 (WebCore::UserContentController::addUserContentFilter):
2081 (WebCore::UserContentController::removeAllUserContentFilters):
2082 (WebCore::UserContentController::contentFilterBlocksURL):
2083 * page/UserContentController.h:
2084 Add single point of interaction for both the WebKit level to add and remove
2085 content filters and WebCore to check to see if URLs should be blocked.
2087 2015-01-18 Darin Adler <darin@apple.com>
2089 REGRESSION (r125251): wrapper lifetimes of SVGElementInstance are incorrect
2090 https://bugs.webkit.org/show_bug.cgi?id=132148
2092 Reviewed by Anders Carlsson.
2094 Test: svg/custom/use-instanceRoot-event-listeners.xhtml
2096 * bindings/js/JSDOMWindowCustom.cpp:
2097 (WebCore::JSDOMWindow::addEventListener): Updated for the new return type
2098 of JSListener::create. For the event type, use JSString::toAtomicString instead of
2099 calling JSString::value and then converting to an AtomicString.
2100 (WebCore::JSDOMWindow::removeEventListener): Same changes as for addEventListener.
2102 * bindings/js/JSEventListener.cpp:
2103 (WebCore::forwardsEventListeners): Added. Helper to detect the special case needed
2104 for SVGElementInstance. In the future, for better encapsulation, we could use virtual
2105 functions, but for now hard coding this single class seems fine.
2106 (WebCore::correspondingElementWrapper): Added. For use if forwardsEventListeners
2107 returns true, to find out where event listeners will be forwarded.
2108 (WebCore::createJSEventListenerForAttribute): Added. Replaces the old function
2109 createJSAttributeEventListener, for SVGElementInstance attributes only.
2110 (WebCore::createJSEventListenerForAdd): Added. Helper function to avoid repeated
2111 generated code in the addElementListener bindings other than the DOMWindow one.
2113 * bindings/js/JSEventListener.h:
2114 (WebCore::JSEventListener::create): Changed to return a Ref instead of a PassRefPtr.
2115 (WebCore::createJSEventListenerForAttribute): Renamed from createJSAttributeEventListener,
2116 changed to return a RefPtr instead of a PassRefPtr and to take references rather than
2117 pointers for non-null things.
2118 (WebCore::createJSEventListenerForRemove): Added. Small wrapper that calls
2119 createJSEventListenerForAdd since they are currently identical.
2121 * bindings/scripts/CodeGeneratorJS.pm:
2122 (GenerateAttributeEventListenerCall): Removed the special case for JSSVGElementInstance
2123 and updated to call the new createJSEventListenerForAttribute. The special case for
2124 SVGElementInstance is now in JSEventListener.h/cpp, which is nicer since we prefer to
2125 keep the generated code simpler if possible.
2126 (GenerateEventListenerCall): Removed the special case for JSSVGElementInstance. This
2127 has been dead code since the explicit definition of add/removeEventListener was removed
2128 from SVGElementInstance.idl, and was also a problem if someone were to use the
2129 addEventListener function from EventTarget on an SVGElementInstance object. The function
2130 needs to be generic at runtime. Use toAtomicString as in JSDOMWindow::addEventListener above.
2131 Call the two new functions, createJSEventListenerForAdd and createJSEventListenerForRemove.
2132 Those new functions properly handle SVGElementInstance.
2133 (GenerateImplementation): Don't pass the class name to GenerateAttributeEventListenerCall
2134 or GenerateEventListenerCall any more.
2135 (GenerateConstructorDefinition): Use JSString::toAtomicString instead of calling
2136 JSString::value and then converting to AtomicString.
2138 2015-01-17 Brian J. Burg <burg@cs.washington.edu>
2140 Web Inspector: highlight data for overlay should use protocol type builders
2141 https://bugs.webkit.org/show_bug.cgi?id=129441
2143 Reviewed by Timothy Hatcher.
2145 As a first step towards cleaning up the inspector overlay, convert highlight
2146 data construction to use protocol type builders. It's now really obvious what
2147 data is being sent to the inspector overlay page.
2149 This change paves the way towards using inspector protocol commands and events
2150 if we want to support more interactive functionality in the inspector overlay.
2152 This patch makes a few style cleanups, such as standardizing variable names,
2153 using default member initializers, passing by reference, and fixing casts.
2155 No new tests, no behavior changed.
2158 * inspector/InspectorController.cpp:
2159 (WebCore::InspectorController::getHighlight):
2160 (WebCore::InspectorController::buildObjectForHighlightedNode):
2161 (WebCore::InspectorController::inspect): Deleted.
2162 * inspector/InspectorController.h:
2163 * inspector/InspectorOverlay.cpp:
2164 (WebCore::buildRendererHighlight):
2165 (WebCore::buildNodeHighlight):
2166 (WebCore::buildQuadHighlight):
2167 (WebCore::InspectorOverlay::InspectorOverlay):
2168 (WebCore::InspectorOverlay::getHighlight):
2169 (WebCore::buildObjectForPoint):
2170 (WebCore::buildObjectForRect):
2171 (WebCore::buildArrayForQuad):
2172 (WebCore::buildObjectForHighlight):
2173 (WebCore::buildObjectForRegion):
2174 (WebCore::buildObjectForFlowRegions):
2175 (WebCore::buildObjectForSize):
2176 (WebCore::buildQuadObjectForCSSRegionContentClip):
2177 Simplify how the clipping area is encoded. It's now 'regionClippingArea'
2178 stored on a FragmentHighlightData instance.
2180 (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
2181 (WebCore::InspectorOverlay::drawPaintRects):
2182 (WebCore::buildArrayForRendererFragments):
2183 (WebCore::appendPathCommandAndPoints):
2184 (WebCore::appendPathSegment):
2185 (WebCore::buildObjectForShapeOutside):
2186 (WebCore::buildObjectForElementData):
2187 (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2188 (WebCore::InspectorOverlay::drawNodeHighlight):
2189 (WebCore::InspectorOverlay::drawQuadHighlight):
2190 (WebCore::InspectorOverlay::reset):
2191 (WebCore::buildObjectForRegionHighlight): Deleted.
2192 (WebCore::buildObjectForCSSRegionsHighlight): Deleted.
2193 (WebCore::buildObjectForCSSRegionContentClip): Deleted.
2194 (WebCore::buildObjectForRendererFragments): Deleted.
2195 (WebCore::buildObjectForElementInfo): Deleted.
2196 * inspector/InspectorOverlay.h:
2197 (WebCore::Highlight::Highlight):
2198 * inspector/InspectorOverlayPage.js:
2199 (_createElementTitle):
2200 (_drawElementTitle):
2201 (_drawFragmentHighlight):
2202 (drawNodeHighlight):
2203 * testing/Internals.cpp:
2204 (WebCore::Internals::inspectorHighlightRects):
2205 (WebCore::Internals::inspectorHighlightObject):
2207 2015-01-17 Myles C. Maxfield <mmaxfield@apple.com>
2209 [SVG -> OTF Converter] Crashes when SVG font is invalid
2210 https://bugs.webkit.org/show_bug.cgi?id=140378
2212 Reviewed by Antti Koivisto.
2214 Because CachedSVGFonts are cached, they have to be able to be used
2215 in subsequent documents regardless how the first document left it.
2217 Tests: fast/css/font-face-svg-decoding-error.html
2218 svg/custom/svg-fonts-in-html.html
2219 svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html
2221 * loader/cache/CachedFont.cpp:
2222 (WebCore::CachedFont::ensureCustomFontData):
2223 * loader/cache/CachedFont.h:
2224 * loader/cache/CachedSVGFont.cpp:
2225 (WebCore::CachedSVGFont::getFontData):
2226 (WebCore::CachedSVGFont::ensureCustomFontData):
2227 (WebCore::CachedSVGFont::maybeInitializeExternalSVGFontElement):
2228 * loader/cache/CachedSVGFont.h:
2230 2015-01-17 Chris Dumez <cdumez@apple.com>
2232 Converting time, angle and frequency units in CSS calc() function
2233 https://bugs.webkit.org/show_bug.cgi?id=138356
2235 Reviewed by Darin Adler.
2237 Update CSSPrimitiveValue::primitiveType() to actually query the
2238 primitiveType of the CSSCalcValue instead of assuming a given
2239 type based on its category (e.g. If category is CalcTime, then
2240 assume type is CSS_MS, even though it would be CSS_S as well).
2242 This would like to calculation errors such as:
2243 calc(4s + 1s) -> 5ms
2245 Because we would assume the unit is CSS_MS without actually
2248 This patch is inspired by the following Blink revision
2249 by <rhodovan.u-szeged@partner.samsung.com> and initial WebKit
2250 patch from <tmeszaros.u-szeged@partner.samsung.com>:
2251 https://src.chromium.org/viewvc/blink?view=rev&revision=179101
2253 Test: fast/css/calc-with-angle-time-frequency.html
2255 * css/CSSCalculationValue.h:
2256 (WebCore::CSSCalcValue::primitiveType):
2257 * css/CSSPrimitiveValue.cpp:
2258 (WebCore::CSSPrimitiveValue::primitiveType):
2260 2015-01-17 Chris Dumez <cdumez@apple.com>
2262 Generate shorthandForProperty() implementation from CSSPropertyNames.in
2263 https://bugs.webkit.org/show_bug.cgi?id=140556
2265 Reviewed by Darin Adler.
2267 Generate shorthandForProperty() implementation from CSSPropertyNames.in.
2268 This is just a big switch() statement calling the right
2269 StylePropertyShorthand factory function for a given CSSPropertyID.
2271 * css/StylePropertyShorthand.cpp:
2272 (WebCore::shorthandForProperty): Deleted.
2273 * css/StylePropertyShorthand.h:
2276 2015-01-16 Brent Fulgham <bfulgham@apple.com>
2278 [Mac] Correct infinite loop in Wheel Handler code in EventHandlerMac
2279 https://bugs.webkit.org/show_bug.cgi?id=140564
2280 <rdar://problem/19386426.
2282 Reviewed by Dean Jackson.
2284 * page/mac/EventHandlerMac.mm:
2285 (WebCore::latchingIsLockedToAncestorOfThisFrame): Put missing assignment
2288 2015-01-16 Zalan Bujtas <zalan@apple.com>
2290 When border-radius is present, inset/outset/groove/ridge border color changes.
2291 https://bugs.webkit.org/show_bug.cgi?id=140551
2293 Reviewed by Simon Fraser.
2295 This patch applies the same color lighten/darken adjustment on the radius borders
2296 that we use for non-radius border.
2298 Test: fast/borders/wrong-border-color-when-radius-is-present.html
2300 * rendering/RenderBoxModelObject.cpp:
2301 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2302 * rendering/RenderObject.cpp:
2303 (WebCore::RenderObject::calculateBorderStyleColor):
2304 * rendering/RenderObject.h:
2306 2015-01-16 Pratik Solanki <psolanki@apple.com>
2308 Web pages fail to load using public iOS WebKit; ASSERT(!isMainThread()) in
2309 -[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
2310 https://bugs.webkit.org/show_bug.cgi?id=140470
2312 Reviewed by Alexey Proskuryakov.
2314 Fixes an issue where a web page would fail to load in iOS WebKit2 built with the public iOS SDK
2315 because NSURLConnection callbacks were always being scheduled on the main thread.
2317 Currently we always schedule NSURLConnection callbacks to occur on the WebThread or the main
2318 thread depending on whether the WebThread was started. In iOS WebKit2, the callbacks were
2319 always being scheduled on the main thread regardless of whether we were using the NetworkProcess
2320 (since the WebThread is only started when using WebKit1). This led to an assertion failure.
2321 Instead we want to schedule callbacks to an NSOperationsQueue queue when using WebKit2 with the
2322 NetworkProcess (i.e. ResourceHandleClient::usesAsyncCallbacks() is true), on the main thread when
2323 using WebKit2 without the NetworkProcess and on the WebThread when using WebKit1.
2325 * platform/network/mac/ResourceHandleMac.mm:
2326 (WebCore::operationQueueForAsyncClients): Remove PLATFORM(IOS)-guards as we want to make use
2327 of this code for iOS WebKit2 with the NetworkProcess.
2328 (WebCore::ResourceHandle::start): Modified to use the existing Mac code path to conditionally
2329 schedule NSURLConnection callbacks to an operation queue when ResourceHandleClient::usesAsyncCallbacks()
2330 is true. Otherwise, schedule the callbacks on the run loop returned by WebThreadNSRunLoop(),
2331 which is either the WebThread or the main thread run loop when using WebKit1 and WebKit2 without
2332 the NetworkProcess, respectively.
2334 2015-01-16 Brian J. Burg <burg@cs.washington.edu>
2336 Web Replay: purge remaining PassRefPtr uses and minor cleanup
2337 https://bugs.webkit.org/show_bug.cgi?id=140456
2339 Reviewed by Andreas Kling.
2341 Get rid of PassRefPtr. Introduce default initializers where it makes sense. Change
2342 uses of ASSERT to ASSERT_ARG when the assert is a precondition on an argument.
2344 Remove mistaken uses of AtomicString that were not removed as part of r174113.
2346 No new tests, no behavior changed.
2348 * inspector/InspectorReplayAgent.cpp:
2349 (WebCore::SerializeInputToJSONFunctor::operator()):
2350 (WebCore::SerializeInputToJSONFunctor::returnValue):
2351 (WebCore::InspectorReplayAgent::sessionCreated):
2352 (WebCore::InspectorReplayAgent::sessionModified):
2353 (WebCore::InspectorReplayAgent::sessionLoaded):
2354 (WebCore::InspectorReplayAgent::segmentCreated):
2355 (WebCore::InspectorReplayAgent::segmentCompleted):
2356 (WebCore::InspectorReplayAgent::segmentLoaded):
2357 (WebCore::InspectorReplayAgent::switchSession):
2358 (WebCore::InspectorReplayAgent::insertSessionSegment):
2359 (WebCore::InspectorReplayAgent::removeSessionSegment):
2360 (WebCore::InspectorReplayAgent::findSession):
2361 (WebCore::InspectorReplayAgent::findSegment):
2362 * inspector/InspectorReplayAgent.h:
2363 * replay/CapturingInputCursor.cpp:
2364 (WebCore::CapturingInputCursor::CapturingInputCursor):
2365 (WebCore::CapturingInputCursor::create):
2366 (WebCore::CapturingInputCursor::loadInput):
2367 * replay/CapturingInputCursor.h:
2368 * replay/EventLoopInputDispatcher.cpp:
2369 (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
2370 * replay/EventLoopInputDispatcher.h:
2371 * replay/FunctorInputCursor.h:
2372 (WebCore::FunctorInputCursor::FunctorInputCursor):
2373 (WebCore::FunctorInputCursor::loadInput):
2374 * replay/ReplayController.cpp:
2375 (WebCore::ReplayController::ReplayController):
2376 (WebCore::ReplayController::setForceDeterministicSettings):
2377 (WebCore::ReplayController::setSessionState):
2378 (WebCore::ReplayController::setSegmentState):
2379 (WebCore::ReplayController::switchSession):
2380 (WebCore::ReplayController::createSegment):
2381 (WebCore::ReplayController::completeSegment):
2382 (WebCore::ReplayController::loadSegmentAtIndex):
2383 (WebCore::ReplayController::unloadSegment):
2384 (WebCore::ReplayController::frameNavigated):
2385 (WebCore::ReplayController::loadedSession):
2386 (WebCore::ReplayController::loadedSegment):
2387 (WebCore::ReplayController::activeInputCursor):
2388 (WebCore::ReplayController::dispatcher):
2389 * replay/ReplayController.h:
2390 * replay/ReplaySession.cpp:
2391 (WebCore::ReplaySession::create):
2392 (WebCore::ReplaySession::at):
2393 (WebCore::ReplaySession::appendSegment):
2394 (WebCore::ReplaySession::insertSegment):
2395 (WebCore::ReplaySession::removeSegment):
2396 * replay/ReplaySession.h:
2397 * replay/ReplaySessionSegment.cpp:
2398 (WebCore::ReplaySessionSegment::create):
2399 (WebCore::ReplaySessionSegment::ReplaySessionSegment):
2400 * replay/ReplaySessionSegment.h:
2401 * replay/ReplayingInputCursor.cpp:
2402 (WebCore::ReplayingInputCursor::ReplayingInputCursor):
2403 (WebCore::ReplayingInputCursor::create):
2404 (WebCore::ReplayingInputCursor::loadInput):
2405 * replay/ReplayingInputCursor.h:
2406 * replay/SegmentedInputStorage.cpp:
2407 (WebCore::SegmentedInputStorage::store):
2408 (WebCore::SegmentedInputStorage::queue):
2409 (WebCore::SegmentedInputStorage::SegmentedInputStorage): Deleted.
2410 * replay/SegmentedInputStorage.h:
2412 2015-01-16 Andreas Kling <akling@apple.com>
2414 Remove assertion that Page::m_editorClient is non-null.
2416 Unreviewed debug build fix. (It's a reference, it won't be null.)
2419 (WebCore::Page::Page):
2421 2015-01-16 Andreas Kling <akling@apple.com>
2423 Page::editorClient() should return a reference.
2424 <https://webkit.org/b/140552>
2426 Reviewed by Chris Dumez.
2428 Page always has an EditorClient, so make editorClient() return a reference.
2430 * editing/AlternativeTextController.cpp:
2431 (WebCore::AlternativeTextController::editorClient):
2432 (WebCore::AlternativeTextController::textChecker):
2433 * editing/Editor.cpp:
2434 (WebCore::Editor::client):
2435 * editing/SpellChecker.cpp:
2436 (WebCore::SpellChecker::client):
2437 * page/FocusController.cpp:
2438 (WebCore::FocusController::setFocusedElement):
2440 (WebCore::Page::Page):
2441 (WebCore::Page::~Page):
2442 (WebCore::Page::clearUndoRedoOperations):
2444 (WebCore::Page::editorClient):
2445 * page/scrolling/AsyncScrollingCoordinator.cpp:
2446 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2448 2015-01-16 Benjamin Poulain <benjamin@webkit.org>
2450 Make URL filters case-insensitive by default
2451 https://bugs.webkit.org/show_bug.cgi?id=140531
2453 Reviewed by Andreas Kling.
2455 Safari's filters were case-insensitive. Adopt that convention in the engine,
2456 and add a flag in case someone ever need a case-sensitive filter.
2458 * contentextensions/ContentExtensionRule.h:
2459 * contentextensions/ContentExtensionsBackend.cpp:
2460 (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
2461 * contentextensions/ContentExtensionsManager.cpp:
2462 (WebCore::ContentExtensions::ExtensionsManager::loadTrigger):
2463 * contentextensions/URLFilterParser.cpp:
2464 (WebCore::ContentExtensions::trivialAtomFromASCIICharacter):
2465 (WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
2466 (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
2467 (WebCore::ContentExtensions::GraphBuilder::generateTransition):
2468 (WebCore::ContentExtensions::URLFilterParser::addPattern):
2469 * contentextensions/URLFilterParser.h:
2471 2015-01-16 Benjamin Poulain <bpoulain@apple.com>
2473 Add the alternative syntax for CSS Selector's descendant combinator (">>")
2474 https://bugs.webkit.org/show_bug.cgi?id=140525
2476 Reviewed by Antti Koivisto.
2478 The latest Selector spec introduces the combinator ">>" as an alias for the descendant
2479 relation: http://dev.w3.org/csswg/selectors-4/#descendant-combinators
2481 This patch implements that combinator as an alias of the existing one. For CSSOM's selector
2482 serialization, I use one bit of CSSSelector to store if that alternative syntax was used.
2484 Tests: fast/css/descendant-combinator-doubled-child-syntax-styling.html
2485 fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html
2486 fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html
2487 fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html
2488 fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html
2490 * css/CSSGrammar.y.in:
2491 * css/CSSParserValues.cpp:
2492 (WebCore::CSSParserSelector::appendTagHistory):
2493 * css/CSSParserValues.h:
2494 (WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax):
2495 * css/CSSSelector.cpp:
2496 (WebCore::CSSSelector::selectorText):
2497 * css/CSSSelector.h:
2498 (WebCore::CSSSelector::setDescendantUseDoubleChildSyntax):
2499 (WebCore::CSSSelector::CSSSelector):
2501 2015-01-16 Chris Dumez <cdumez@apple.com>
2503 Generate StylePropertyShorthand.* from CSSPropertyNames.in
2504 https://bugs.webkit.org/show_bug.cgi?id=140501
2506 Reviewed by Darin Adler.
2508 Add initial support for having makeprop.pl generate most of
2509 StylePropertyShorthand.* from CSSPropertyNames.in.
2511 This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
2512 more descriptive [Longhands=property1|property2|...] parameter. With
2513 this information, makeprop.pl is now able to generate the
2514 StylePropertyShorthand factories for all CSS shorthand properties
2515 in a new StylePropertyShorthandFunctions.h header.
2517 The switches in StylePropertyShorthand.cpp could also be generated
2518 but this will be taken care of in follow-up patches to reduce patch
2522 * DerivedSources.make:
2523 * WebCore.vcxproj/WebCore.vcxproj:
2524 * WebCore.vcxproj/WebCore.vcxproj.filters:
2525 * WebCore.xcodeproj/project.pbxproj:
2526 * css/CSSComputedStyleDeclaration.cpp:
2527 (WebCore::ComputedStyleExtractor::propertyValue):
2528 * css/CSSParser.cpp:
2529 (WebCore::CSSParser::parseValue):
2530 * css/CSSPropertyNames.in:
2531 * css/StyleProperties.cpp:
2532 (WebCore::StyleProperties::getPropertyValue):
2533 * css/StylePropertyShorthand.cpp:
2534 (WebCore::shorthandForProperty):
2535 (WebCore::matchingShorthandsForLonghand):
2536 (WebCore::backgroundShorthand): Deleted.
2537 (WebCore::backgroundPositionShorthand): Deleted.
2538 (WebCore::backgroundRepeatShorthand): Deleted.
2539 (WebCore::borderShorthand): Deleted.
2540 (WebCore::borderBottomShorthand): Deleted.
2541 (WebCore::borderColorShorthand): Deleted.
2542 (WebCore::borderImageShorthand): Deleted.
2543 (WebCore::borderLeftShorthand): Deleted.
2544 (WebCore::borderRadiusShorthand): Deleted.
2545 (WebCore::webkitBorderRadiusShorthand): Deleted.
2546 (WebCore::borderRightShorthand): Deleted.
2547 (WebCore::borderSpacingShorthand): Deleted.
2548 (WebCore::borderStyleShorthand): Deleted.
2549 (WebCore::borderTopShorthand): Deleted.
2550 (WebCore::borderWidthShorthand): Deleted.
2551 (WebCore::listStyleShorthand): Deleted.
2552 (WebCore::marginShorthand): Deleted.
2553 (WebCore::markerShorthand): Deleted.
2554 (WebCore::outlineShorthand): Deleted.
2555 (WebCore::overflowShorthand): Deleted.
2556 (WebCore::paddingShorthand): Deleted.
2557 (WebCore::transitionShorthand): Deleted.
2558 (WebCore::animationShorthand): Deleted.
2559 (WebCore::webkitAnimationShorthand): Deleted.
2560 (WebCore::webkitBorderAfterShorthand): Deleted.
2561 (WebCore::webkitBorderBeforeShorthand): Deleted.
2562 (WebCore::webkitBorderEndShorthand): Deleted.
2563 (WebCore::webkitBorderStartShorthand): Deleted.
2564 (WebCore::webkitColumnsShorthand): Deleted.
2565 (WebCore::webkitColumnRuleShorthand): Deleted.
2566 (WebCore::flexFlowShorthand): Deleted.
2567 (WebCore::flexShorthand): Deleted.
2568 (WebCore::webkitMarginCollapseShorthand): Deleted.
2569 (WebCore::webkitGridShorthand): Deleted.
2570 (WebCore::webkitGridTemplateShorthand): Deleted.
2571 (WebCore::webkitGridAreaShorthand): Deleted.
2572 (WebCore::webkitGridColumnShorthand): Deleted.
2573 (WebCore::webkitGridRowShorthand): Deleted.
2574 (WebCore::webkitMarqueeShorthand): Deleted.
2575 (WebCore::webkitMaskShorthand): Deleted.
2576 (WebCore::webkitMaskPositionShorthand): Deleted.
2577 (WebCore::webkitMaskRepeatShorthand): Deleted.
2578 (WebCore::webkitTextDecorationShorthand): Deleted.
2579 (WebCore::webkitTextEmphasisShorthand): Deleted.
2580 (WebCore::webkitTextStrokeShorthand): Deleted.
2581 (WebCore::webkitTransitionShorthand): Deleted.
2582 (WebCore::webkitPerspectiveOriginShorthand): Deleted.
2583 (WebCore::webkitTransformOriginShorthand): Deleted.
2584 * css/StylePropertyShorthand.h:
2587 2015-01-16 Commit Queue <commit-queue@webkit.org>
2589 Unreviewed, rolling out r178532.
2590 https://bugs.webkit.org/show_bug.cgi?id=140548
2592 Broke fast/css/parsing-css-lang.html on some bots (Requested
2597 "Canonicalization of :lang() should preserve the :lang()'s
2598 arguments representations"
2599 https://bugs.webkit.org/show_bug.cgi?id=139928
2600 http://trac.webkit.org/changeset/178532
2602 2015-01-16 Commit Queue <commit-queue@webkit.org>
2604 Unreviewed, rolling out r178577.
2605 https://bugs.webkit.org/show_bug.cgi?id=140546
2607 Broke fast/css-grid-layout/grid-content-sized-columns-
2608 resolution.html (Requested by ap on #webkit).
2612 "[CSS Grid Layout] Tracks shrink sometimes with indefinite
2614 https://bugs.webkit.org/show_bug.cgi?id=139059
2615 http://trac.webkit.org/changeset/178577
2617 2015-01-16 Andreas Kling <akling@apple.com>
2619 Some improvements to RuleSet shrinking.
2620 <https://webkit.org/b/140534>
2622 Reviewed by Antti Koivisto.
2624 Give an inline capacity (1) to the RuleData Vectors in RuleSet.
2625 The vast majority of Vectors have only a single entry, and this
2626 avoids having to allocate a separate Vector backing store for them.
2628 Also make sure to shrink some Vectors that we weren't already,
2629 like those in RuleFeatureSet.
2631 * css/ElementRuleCollector.cpp:
2632 (WebCore::ElementRuleCollector::collectMatchingRulesForList):
2633 * css/ElementRuleCollector.h:
2634 * css/RuleFeature.cpp:
2635 (WebCore::RuleFeatureSet::shrinkToFit):
2636 * css/RuleFeature.h:
2638 (WebCore::RuleSet::addToRuleSet):
2639 (WebCore::rulesCountForName):
2640 (WebCore::shrinkMapVectorsToFit):
2641 (WebCore::RuleSet::shrinkToFit):
2643 (WebCore::RuleSet::idRules):
2644 (WebCore::RuleSet::classRules):
2645 (WebCore::RuleSet::tagRules):
2646 (WebCore::RuleSet::shadowPseudoElementRules):
2647 (WebCore::RuleSet::linkPseudoClassRules):
2648 (WebCore::RuleSet::cuePseudoRules):
2649 (WebCore::RuleSet::focusPseudoClassRules):
2650 (WebCore::RuleSet::universalRules):
2652 2015-01-16 Antti Koivisto <antti@apple.com>
2654 Correct naming for FontCascade implementation files
2655 https://bugs.webkit.org/show_bug.cgi?id=140544
2657 Reviewed by Zalan Bujtas.
2659 Also reduce their number.
2661 Merge FontFastPath.cpp into FontCascade.cpp
2662 Merge FontMac.mm and FontComplexTextMac.cpp into FontCascadeCocoa.mm
2665 * WebCore.vcxproj/WebCore.vcxproj:
2666 * WebCore.xcodeproj/project.pbxproj:
2667 * platform/graphics/FontCascade.cpp:
2668 (WebCore::FontCascade::getEmphasisMarkGlyphData):
2669 (WebCore::FontCascade::emphasisMarkAscent):
2670 (WebCore::FontCascade::emphasisMarkDescent):
2671 (WebCore::FontCascade::emphasisMarkHeight):
2672 (WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
2673 (WebCore::FontCascade::drawSimpleText):
2674 (WebCore::FontCascade::drawEmphasisMarksForSimpleText):
2675 (WebCore::FontCascade::drawGlyphBuffer):
2676 (WebCore::offsetToMiddleOfGlyph):
2677 (WebCore::offsetToMiddleOfGlyphAtIndex):
2678 (WebCore::FontCascade::drawEmphasisMarks):
2679 (WebCore::FontCascade::floatWidthForSimpleText):
2680 (WebCore::FontCascade::adjustSelectionRectForSimpleText):
2681 (WebCore::FontCascade::offsetForPositionForSimpleText):
2682 * platform/graphics/FontFastPath.cpp: Removed.
2683 * platform/graphics/cocoa/FontCascadeCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.
2684 (WebCore::FontCascade::drawGlyphs):
2685 (WebCore::FontCascade::adjustSelectionRectForComplexText):
2686 (WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
2687 (WebCore::FontCascade::drawComplexText):
2688 (WebCore::FontCascade::drawEmphasisMarksForComplexText):
2689 (WebCore::FontCascade::floatWidthForComplexText):
2690 (WebCore::FontCascade::offsetForPositionForComplexText):
2691 (WebCore::FontCascade::fontDataForCombiningCharacterSequence):
2692 * platform/graphics/mac/FontComplexTextMac.cpp: Removed.
2693 * platform/graphics/mac/FontMac.mm: Removed.
2695 2014-11-26 Sergio Villar Senin <svillar@igalia.com>
2697 [CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
2698 https://bugs.webkit.org/show_bug.cgi?id=139059
2700 Reviewed by David Hyatt.
2702 Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html
2704 * rendering/RenderGrid.cpp:
2705 (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
2707 2015-01-15 Csaba Osztrogonác <ossy@webkit.org>
2709 Remove ENABLE(SQL_DATABASE) guards
2710 https://bugs.webkit.org/show_bug.cgi?id=140434
2712 Reviewed by Darin Adler.
2714 * Configurations/FeatureDefines.xcconfig:
2715 * Modules/webdatabase/AbstractDatabaseServer.h:
2716 * Modules/webdatabase/ChangeVersionData.h:
2717 * Modules/webdatabase/ChangeVersionWrapper.cpp:
2718 * Modules/webdatabase/ChangeVersionWrapper.h:
2719 * Modules/webdatabase/DOMWindowWebDatabase.cpp:
2720 * Modules/webdatabase/DOMWindowWebDatabase.h:
2721 * Modules/webdatabase/DOMWindowWebDatabase.idl:
2722 * Modules/webdatabase/Database.cpp:
2723 * Modules/webdatabase/Database.h:
2724 * Modules/webdatabase/Database.idl:
2725 * Modules/webdatabase/DatabaseBackend.cpp:
2726 * Modules/webdatabase/DatabaseBackend.h:
2727 * Modules/webdatabase/DatabaseBackendBase.cpp:
2728 * Modules/webdatabase/DatabaseBackendBase.h:
2729 * Modules/webdatabase/DatabaseBasicTypes.h:
2730 * Modules/webdatabase/DatabaseCallback.h:
2731 * Modules/webdatabase/DatabaseCallback.idl:
2732 * Modules/webdatabase/DatabaseContext.cpp:
2733 * Modules/webdatabase/DatabaseContext.h:
2734 * Modules/webdatabase/DatabaseDetails.h:
2735 * Modules/webdatabase/DatabaseError.h:
2736 * Modules/webdatabase/DatabaseManager.cpp:
2737 * Modules/webdatabase/DatabaseManager.h:
2738 * Modules/webdatabase/DatabaseManagerClient.h:
2739 * Modules/webdatabase/DatabaseServer.cpp:
2740 * Modules/webdatabase/DatabaseServer.h:
2741 * Modules/webdatabase/DatabaseTask.cpp:
2742 * Modules/webdatabase/DatabaseTask.h:
2743 * Modules/webdatabase/DatabaseThread.cpp:
2744 * Modules/webdatabase/DatabaseThread.h:
2745 * Modules/webdatabase/DatabaseTracker.cpp:
2746 * Modules/webdatabase/DatabaseTracker.h:
2747 * Modules/webdatabase/OriginLock.cpp:
2748 * Modules/webdatabase/OriginLock.h:
2749 * Modules/webdatabase/SQLCallbackWrapper.h:
2750 * Modules/webdatabase/SQLError.h:
2751 * Modules/webdatabase/SQLError.idl:
2752 * Modules/webdatabase/SQLException.cpp:
2753 * Modules/webdatabase/SQLException.h:
2754 * Modules/webdatabase/SQLException.idl:
2755 * Modules/webdatabase/SQLResultSet.cpp:
2756 * Modules/webdatabase/SQLResultSet.h:
2757 * Modules/webdatabase/SQLResultSet.idl:
2758 * Modules/webdatabase/SQLResultSetRowList.cpp:
2759 * Modules/webdatabase/SQLResultSetRowList.h:
2760 * Modules/webdatabase/SQLResultSetRowList.idl:
2761 * Modules/webdatabase/SQLStatement.cpp:
2762 * Modules/webdatabase/SQLStatement.h:
2763 * Modules/webdatabase/SQLStatementBackend.cpp:
2764 * Modules/webdatabase/SQLStatementBackend.h:
2765 * Modules/webdatabase/SQLStatementCallback.h:
2766 * Modules/webdatabase/SQLStatementCallback.idl:
2767 * Modules/webdatabase/SQLStatementErrorCallback.h:
2768 * Modules/webdatabase/SQLStatementErrorCallback.idl:
2769 * Modules/webdatabase/SQLTransaction.cpp:
2770 * Modules/webdatabase/SQLTransaction.h:
2771 * Modules/webdatabase/SQLTransaction.idl:
2772 * Modules/webdatabase/SQLTransactionBackend.cpp:
2773 * Modules/webdatabase/SQLTransactionBackend.h:
2774 * Modules/webdatabase/SQLTransactionCallback.h:
2775 * Modules/webdatabase/SQLTransactionCallback.idl:
2776 * Modules/webdatabase/SQLTransactionClient.cpp:
2777 * Modules/webdatabase/SQLTransactionClient.h:
2778 * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2779 * Modules/webdatabase/SQLTransactionCoordinator.h:
2780 * Modules/webdatabase/SQLTransactionErrorCallback.h:
2781 * Modules/webdatabase/SQLTransactionErrorCallback.idl:
2782 * Modules/webdatabase/SQLTransactionState.h:
2783 * Modules/webdatabase/SQLTransactionStateMachine.cpp:
2784 * Modules/webdatabase/SQLTransactionStateMachine.h:
2785 * bindings/js/JSCommandLineAPIHostCustom.cpp:
2786 (WebCore::JSCommandLineAPIHost::databaseId):
2787 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2788 * bindings/js/JSExceptionBase.cpp:
2789 (WebCore::toExceptionBase):
2790 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2791 * bindings/js/JSSQLTransactionCustom.cpp:
2792 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2793 (webkit_dom_test_callback_finalize):
2794 (webkit_dom_test_callback_constructor):
2795 (webkit_dom_test_callback_callback_with_no_param):
2796 (webkit_dom_test_callback_callback_with_array_param):
2797 (webkit_dom_test_callback_callback_with_serialized_script_value_param):
2798 (webkit_dom_test_callback_callback_with_non_bool_return_type):
2799 (webkit_dom_test_callback_callback_with_string_list):
2800 (webkit_dom_test_callback_callback_with_boolean):
2801 (webkit_dom_test_callback_callback_requires_this_to_pass):
2802 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2803 * bindings/scripts/test/JS/JSTestCallback.cpp:
2804 * bindings/scripts/test/JS/JSTestCallback.h:
2805 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2806 * bindings/scripts/test/TestCallback.idl:
2807 * dom/DOMExceptions.in:
2808 * dom/ScriptExecutionContext.cpp:
2809 (WebCore::ScriptExecutionContext::setDatabaseContext):
2810 * dom/ScriptExecutionContext.h:
2811 * history/PageCache.cpp:
2812 (WebCore::logCanCacheFrameDecision):
2813 (WebCore::PageCache::canCachePageContainingThisFrame):
2814 * inspector/CommandLineAPIHost.cpp:
2815 (WebCore::CommandLineAPIHost::CommandLineAPIHost):
2816 (WebCore::CommandLineAPIHost::disconnect):
2817 (WebCore::CommandLineAPIHost::databaseIdImpl):
2818 * inspector/CommandLineAPIHost.h:
2819 (WebCore::CommandLineAPIHost::init):
2820 * inspector/InspectorController.cpp:
2821 (WebCore::InspectorController::InspectorController):
2822 * inspector/InspectorDatabaseAgent.cpp:
2823 * inspector/InspectorDatabaseAgent.h:
2824 * inspector/InspectorDatabaseInstrumentation.h:
2825 (WebCore::InspectorInstrumentation::didOpenDatabase):
2826 * inspector/InspectorDatabaseResource.cpp:
2827 * inspector/InspectorDatabaseResource.h:
2828 * inspector/InspectorInstrumentation.cpp:
2829 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2830 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
2831 * inspector/InspectorInstrumentation.h:
2832 * inspector/InstrumentingAgents.cpp:
2833 (WebCore::InstrumentingAgents::InstrumentingAgents):
2834 (WebCore::InstrumentingAgents::reset):
2835 * inspector/InstrumentingAgents.h:
2836 * inspector/WorkerInspectorController.cpp:
2837 (WebCore::WorkerInspectorController::WorkerInspectorController):
2838 * loader/EmptyClients.h:
2839 * loader/FrameLoader.cpp:
2840 (WebCore::FrameLoader::stopLoading):
2841 * page/ChromeClient.h:
2842 * platform/FeatureCounterKeys.h:
2844 2015-01-15 Zalan Bujtas <zalan@apple.com>
2846 Element appears correctly but does not receive event with a large translation.
2847 https://bugs.webkit.org/show_bug.cgi?id=139815
2849 Reviewed by Simon Fraser.
2851 When the hit point gets translated beyond the min/max value of LayoutRect (infiniteRect()),
2852 we fail to find the corresponding layer.
2853 When there's no clipping on a layer, we use min/max values to represent infiniteness.
2854 However it does not work well across types. With IntPoint(hittest) we can address a point that's outside
2855 of LayoutRect's boundary(clipping).
2856 This patch addresses the immediate issue of not being able to hittest transformed layers properly.
2857 Fixing the representation of infiniteness is tracked here: webkit.org/b/140533
2859 Test: transforms/hittest-translated-content-off-to-infinity-and-back.html
2861 * rendering/ClipRect.cpp:
2862 (WebCore::ClipRect::intersects):
2864 2015-01-15 Myles C. Maxfield <mmaxfield@apple.com>
2866 tables/mozilla/bugs/bug10633.html is flakey on Yosemite
2867 https://bugs.webkit.org/show_bug.cgi?id=140487
2869 Reviewed by Simon Fraser.
2871 The workaround in https://bugs.webkit.org/show_bug.cgi?id=140253 works
2874 * platform/graphics/mac/SimpleFontDataMac.mm:
2875 (WebCore::SimpleFontData::platformInit):
2877 2015-01-15 Ryosuke Niwa <rniwa@webkit.org>
2879 Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged
2880 https://bugs.webkit.org/show_bug.cgi?id=140523
2881 <rdar://problem/19464329>
2883 Reviewed by Chris Dumez.
2885 The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to
2886 unset selfOrAncestorHasDirAutoAttribute flag while removing a child element.
2888 Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since
2889 we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0".
2891 See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp.
2893 * html/HTMLElement.cpp:
2894 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2896 2015-01-15 Brent Fulgham <bfulgham@apple.com>
2898 RenderLayerCompositor: Strange comparison of opacity (float) to boolean.
2899 https://bugs.webkit.org/show_bug.cgi?id=140477.
2901 Reviewed by Simon Fraser.
2903 * rendering/RenderLayerCompositor.cpp:
2904 (WebCore::styleChangeRequiresLayerRebuild): Add a cast to make the meaning of this
2907 2015-01-15 Joseph Pecoraro <pecoraro@apple.com>
2909 Unreviewed, rolling out r178531.
2911 Caused LayoutTest ASSERTs/CRASHs on Debug Yosemite build-bot.
2915 "Layers need to be already updated before we call adjustViewSize."
2916 https://bugs.webkit.org/show_bug.cgi?id=135514
2917 http://trac.webkit.org/changeset/178531
2919 * page/FrameView.cpp:
2920 (WebCore::FrameView::layout):
2921 (WebCore::FrameView::updateCompositingLayersAfterScrolling):
2922 (WebCore::FrameView::paintContents):
2923 (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.
2925 * platform/ScrollView.cpp:
2926 (WebCore::ScrollView::scrollTo):
2927 (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Deleted.
2928 * platform/ScrollView.h:
2929 (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.
2931 2015-01-15 Chris Dumez <cdumez@apple.com>
2933 [WK2] Wire diagnostic logging messages through the UIProcess
2934 https://bugs.webkit.org/show_bug.cgi?id=140486
2936 Reviewed by Sam Weinig.
2938 Wire diagnostic logging messages through the UIProcess.
2939 Eventually, the corresponding bundle API should go away.
2941 * WebCore.vcxproj/WebCore.vcxproj:
2942 * WebCore.vcxproj/WebCore.vcxproj.filters:
2943 Add page/DiagnosticLoggingResultType.h to Windows project.
2945 * WebCore.xcodeproj/project.pbxproj:
2946 Add page/DiagnosticLoggingResultType.h to XCode project.
2948 * html/HTMLMediaElement.cpp:
2949 * loader/EmptyClients.h:
2950 * loader/FrameLoader.cpp:
2951 * page/DiagnosticLoggingClient.h:
2952 * page/DiagnosticLoggingResultType.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h.
2953 Use new DiagnosticLoggingResultType enum instead of old
2954 DiagnosticLoggingClient::LogType one.
2956 2015-01-15 Zalan Bujtas <zalan@apple.com>
2958 Reduce LayoutRect::infiniteRect() usage.
2959 https://bugs.webkit.org/show_bug.cgi?id=140511
2961 Reviewed by Simon Fraser.
2963 This is in preparation to get rid of LayoutRect/FloatRect::infiniteRect().
2965 No change in functionality.
2967 * platform/graphics/LayoutRect.h:
2968 (WebCore::LayoutRect::isInfinite):
2969 * rendering/ClipRect.h:
2970 (WebCore::ClipRect::reset):
2971 (WebCore::ClipRect::isEmpty):
2972 (WebCore::ClipRect::isInfinite):
2973 (WebCore::ClipRect::setRect): Deleted.
2974 * rendering/PaintInfo.h:
2975 (WebCore::PaintInfo::applyTransform):
2976 * rendering/RenderLayer.cpp:
2977 (WebCore::RenderLayer::calculateClipRects):
2978 * rendering/RenderLayer.h:
2979 (WebCore::ClipRects::reset):
2980 * rendering/RenderLayerBacking.cpp:
2981 (WebCore::RenderLayerBacking::updateGeometry):
2982 * rendering/RenderLayerCompositor.cpp:
2983 (WebCore::RenderLayerCompositor::clippedByAncestor):
2985 2015-01-15 Chris Dumez <cdumez@apple.com>
2987 Intermittent WebCore build failures - CSSPropertyNames.gperf: No keywords in input file! calling gperf failed: 256 at WebCore/css/makeprop.pl line 901
2988 https://bugs.webkit.org/show_bug.cgi?id=140521
2990 Reviewed by Alexey Proskuryakov.
2992 Close the CSSPropertyNames.gperf file before calling gperf on it
2993 to make sure the content we wrote was flushed. This was causing
2994 intermittent build failures.
2998 2015-01-15 Zalan Bujtas <zalan@apple.com>
3000 LayerFragment should be able to intersect with ClipRect.
3001 https://bugs.webkit.org/show_bug.cgi?id=140498
3003 Reviewed by Simon Fraser.
3005 No change in functionality.
3007 * rendering/LayerFragment.h:
3008 (WebCore::LayerFragment::intersect):
3009 * rendering/RenderLayer.cpp:
3010 (WebCore::RenderLayer::collectFragments):
3012 2015-01-15 Zalan Bujtas <zalan@apple.com>
3014 Move ClipRects and ClipRectsCache classes to RenderLayer.cpp.
3015 https://bugs.webkit.org/show_bug.cgi?id=140461
3017 Reviewed by Simon Fraser.
3019 Move classes only used by RenderLayer to RenderLayer.cpp.
3021 No change in functionality.
3023 * rendering/RenderLayer.cpp:
3024 (WebCore::ClipRects::create):
3025 (WebCore::ClipRects::reset):
3026 (WebCore::ClipRects::overflowClipRect):
3027 (WebCore::ClipRects::setOverflowClipRect):
3028 (WebCore::ClipRects::fixedClipRect):
3029 (WebCore::ClipRects::setFixedClipRect):
3030 (WebCore::ClipRects::posClipRect):
3031 (WebCore::ClipRects::setPosClipRect):
3032 (WebCore::ClipRects::fixed):
3033 (WebCore::ClipRects::setFixed):
3034 (WebCore::ClipRects::ref):
3035 (WebCore::ClipRects::deref):
3036 (WebCore::ClipRects::operator==):
3037 (WebCore::ClipRects::operator=):
3038 (WebCore::ClipRects::ClipRects):
3039 (WebCore::ClipRectsCache::ClipRectsCache):
3040 (WebCore::ClipRectsCache::getClipRects):
3041 (WebCore::ClipRectsCache::setClipRects):
3042 (WebCore::ClipRectsCache::getIndex):
3043 (WebCore::RenderLayer::clipRects):
3044 (WebCore::RenderLayer::calculateClipRects):
3045 * rendering/RenderLayer.h:
3046 (WebCore::ClipRects::create): Deleted.
3047 (WebCore::ClipRects::ClipRects): Deleted.
3048 (WebCore::ClipRects::reset): Deleted.
3049 (WebCore::ClipRects::overflowClipRect): Deleted.
3050 (WebCore::ClipRects::setOverflowClipRect): Deleted.
3051 (WebCore::ClipRects::fixedClipRect): Deleted.
3052 (WebCore::ClipRects::setFixedClipRect): Deleted.
3053 (WebCore::ClipRects::posClipRect): Deleted.
3054 (WebCore::ClipRects::setPosClipRect): Deleted.
3055 (WebCore::ClipRects::fixed): Deleted.
3056 (WebCore::ClipRects::setFixed): Deleted.
3057 (WebCore::ClipRects::ref): Deleted.
3058 (WebCore::ClipRects::deref): Deleted.
3059 (WebCore::ClipRects::operator==): Deleted.
3060 (WebCore::ClipRects::operator=): Deleted.
3061 (WebCore::ClipRectsCache::ClipRectsCache): Deleted.
3062 (WebCore::ClipRectsCache::getClipRects): Deleted.
3063 (WebCore::ClipRectsCache::setClipRects): Deleted.
3064 (WebCore::ClipRectsCache::getIndex): Deleted.
3066 2015-01-15 Dhi Aurrahman <diorahman@rockybars.com>
3068 Canonicalization of :lang() should preserve the :lang()'s arguments representations
3069 https://bugs.webkit.org/show_bug.cgi?id=139928
3071 Reviewed by Benjamin Poulain.
3073 Preserve the representation of IDENT and STRING when serializing the
3074 :lang(). For example, :lang(foo,"bar" ,baz) should be serialized as
3075 :lang(foo, "bar", baz) instead of :lang(foo, bar, baz).
3077 Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
3078 and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
3079 CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
3080 respectively, since those methods are being exclusively used in respect
3083 Update the test of serializing :lang() with IDENT and STRING arguments.
3085 * css/CSSGrammar.y.in:
3086 * css/CSSParserValues.cpp:
3087 (WebCore::CSSParserSelector::setLangArgumentList):
3088 (WebCore::CSSParserSelector::setArgumentList): Deleted.
3089 * css/CSSParserValues.h:
3090 (WebCore::CSSParserString::init):
3091 (WebCore::CSSParserString::clear):
3092 (WebCore::CSSParserString::isParsedFromString):
3093 (WebCore::CSSParserString::setParsedFromString):
3094 * css/CSSSelector.cpp:
3095 (WebCore::appendLangArgumentList):
3096 (WebCore::CSSSelector::selectorText):
3097 (WebCore::CSSSelector::setLangArgumentList):
3098 (WebCore::appendArgumentList): Deleted.
3099 (WebCore::CSSSelector::setArgumentList): Deleted.
3100 * css/CSSSelector.h:
3101 (WebCore::CSSSelector::langArgumentList):
3102 (WebCore::CSSSelector::langArgumentParsedFromStringFlagList):
3103 (WebCore::CSSSelector::argumentList): Deleted.
3104 * css/SelectorChecker.cpp:
3105 (WebCore::SelectorChecker::checkOne):
3107 2015-01-15 Brent Fulgham <bfulgham@apple.com>
3109 Layers need to be already updated before we call adjustViewSize
3110 https://bugs.webkit.org/show_bug.cgi?id=135514
3112 Reviewed by Simon Fraser.
3114 Tested by 'fast/dynamic/layer-no-longer-paginated.html'
3116 Defer updating scrollbars until we have finished layout. This
3117 has a couple of benefits:
3118 (1) We do not attempt to modify render layers during layout.
3119 (2) In WK1 we do not attempt to paint during layout.
3121 Add a new virtual predicate to ScrollView indicating when we are in
3122 layout so that calls to setContentsSize do not attempt
3123 to adjust scrollbars.
3125 Modify FrameView to set its ScrollView state to block drawing
3126 scrollbar updates during layout. Also add a post-layout
3127 handler to complete the scrollbar updates after layout is
3130 * page/FrameView.cpp:
3131 (WebCore::FrameView::layout):
3132 (WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
3134 * platform/ScrollView.cpp:
3135 (WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
3136 (WebCore::ScrollView::scrollTo): If we should defer painting, cache the
3137 the scroll delta and apply it after the layout is complete.
3138 * platform/ScrollView.h:
3139 (WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.
3141 2015-01-15 Benjamin Poulain <benjamin@webkit.org>
3143 When building the NFA of the global disjunction, share the prefix subgraph of existing subpatterns
3144 https://bugs.webkit.org/show_bug.cgi?id=140465
3146 Reviewed by Andreas Kling.
3148 This patch updates the parser to produce smaller graphs when multiple patterns
3149 of the rule list share a common prefix.
3151 Previously, GraphBuilder would generate subgraph in place of each parsed
3152 atom. We now only create subgraph if an atom does not appear in the prefix tree.
3154 We accumulate the parsing information into small uint16_t named TrivialAtom.
3155 When generating the subgraph for an new atom, we first check if the prefix tree already
3156 has a corresponding subgraph for that atom. If it does, we do not generate anything and we extend the existing
3157 graph. If there is no existing prefix, we create the subgraph and extend the prefix tree.
3159 Sharing prefix subtrees slows down the subtree generation a bit but the resulting graph is much
3160 simpler for many kind of inputs.
3162 * WebCore.xcodeproj/project.pbxproj:
3163 * contentextensions/ContentExtensionsBackend.cpp:
3164 (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
3165 The URLFilterParser now maintains states (the prefix tree) between patterns.
3167 * contentextensions/DFA.cpp:
3168 (WebCore::ContentExtensions::DFA::debugPrintDot):
3169 * contentextensions/DFANode.h:
3172 * contentextensions/NFA.cpp:
3173 (WebCore::ContentExtensions::NFA::createNode):
3174 (WebCore::ContentExtensions::NFA::setFinal):
3175 (WebCore::ContentExtensions::NFA::restoreToGraphSize):
3176 (WebCore::ContentExtensions::NFA::addRuleId):
3177 (WebCore::ContentExtensions::NFA::debugPrintDot):
3178 * contentextensions/NFA.h:
3179 (WebCore::ContentExtensions::NFA::addRuleId):
3180 * contentextensions/NFANode.cpp: Removed.
3181 * contentextensions/NFANode.h:
3182 NFA nodes from two patterns are now "merged" by construction, thus we need
3183 to keep track of multiple rules per node.
3185 * contentextensions/NFAToDFA.cpp:
3186 (WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
3187 * contentextensions/URLFilterParser.cpp:
3188 (WebCore::ContentExtensions::trivialAtomFromAsciiCharacter):
3189 (WebCore::ContentExtensions::quantifyTrivialAtom):
3190 (WebCore::ContentExtensions::trivialAtomForNewlineClassIDBuiltin):
3191 (WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
3192 (WebCore::ContentExtensions::GraphBuilder::m_LastPrefixTreeEntry):
3193 (WebCore::ContentExtensions::GraphBuilder::finalize):
3194 (WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
3195 (WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
3196 (WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
3197 (WebCore::ContentExtensions::GraphBuilder::fail):
3198 (WebCore::ContentExtensions::GraphBuilder::generateTransition):
3199 (WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom):
3200 (WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary):
3201 (WebCore::ContentExtensions::URLFilterParser::URLFilterParser):
3202 (WebCore::ContentExtensions::URLFilterParser::addPattern):
3203 (WebCore::ContentExtensions::GraphBuilder::m_lastAtom): Deleted.
3204 (WebCore::ContentExtensions::URLFilterParser::parse): Deleted.
3205 * contentextensions/URLFilterParser.h:
3206 (WebCore::ContentExtensions::URLFilterParser::hasError): Deleted.
3207 (WebCore::ContentExtensions::URLFilterParser::errorMessage): Deleted.
3209 2015-01-14 Alexey Proskuryakov <ap@apple.com>
3211 Web Inspector and regular console use different source code locations for messages
3212 https://bugs.webkit.org/show_bug.cgi?id=140478
3214 Reviewed by Brian Burg.
3216 We now create a ConsoleMessage object in a place where we can look at it and use
3217 the source location it computed in a client call.
3219 * inspector/InspectorConsoleInstrumentation.h:
3220 (WebCore::InspectorInstrumentation::addMessageToConsole):
3221 * inspector/InspectorInstrumentation.cpp:
3222 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3223 * inspector/InspectorInstrumentation.h:
3224 * inspector/WebConsoleAgent.cpp:
3225 (WebCore::WebConsoleAgent::didFinishXHRLoading):
3226 (WebCore::WebConsoleAgent::didReceiveResponse):
3227 (WebCore::WebConsoleAgent::didFailLoading):
3228 * page/PageConsoleClient.cpp:
3229 (WebCore::PageConsoleClient::addMessage):
3230 (WebCore::PageConsoleClient::messageWithTypeAndLevel):
3231 * workers/WorkerGlobalScope.cpp:
3232 (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
3234 2015-01-15 Brent Fulgham <bfulgham@apple.com>
3236 [Win] Unreviewed Windows build fix.
3238 More missing Font->FontCascade changes.
3240 * platform/win/WebCoreTextRenderer.cpp:
3241 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
3242 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
3244 2015-01-15 Antti Koivisto <antti@apple.com>
3246 REGRESSION(r178133): Membuster regressed ~4%
3247 https://bugs.webkit.org/show_bug.cgi?id=140495
3249 Reviewed by Andreas Kling.
3251 * platform/graphics/FontCache.cpp:
3252 (WebCore::FontCache::purgeInactiveFontData):
3254 Fonts may ref other fonts. Keep clearing until there are no changes.
3256 2015-01-15 Brent Fulgham <bfulgham@apple.com>
3258 [Win] Unreviewed build fix.
3260 * platform/graphics/win/FontCacheWin.cpp:
3261 * platform/win/DragImageWin.cpp:
3262 * platform/win/WebCoreTextRenderer.h:
3264 2015-01-15 Antti Koivisto <antti@apple.com>
3266 Try to fix windows build.
3268 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3269 * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3270 (PlatformCALayerWinInternal::displayCallback):
3271 * platform/win/DragImageWin.cpp:
3272 (WebCore::dragLabelFont):
3273 (WebCore::createDragImageForLink):
3274 * platform/win/PopupMenuWin.cpp:
3275 (WebCore::PopupMenuWin::calculatePositionAndSize):
3276 (WebCore::PopupMenuWin::paint):
3277 * platform/win/WebCoreTextRenderer.cpp:
3278 (WebCore::doDrawTextAtPoint):
3279 (WebCore::WebCoreDrawDoubledTextAtPoint):
3280 (WebCore::WebCoreTextFloatWidth):
3281 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
3282 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
3283 * rendering/RenderThemeSafari.cpp:
3284 (WebCore::RenderThemeSafari::setFontFromControlSize):
3286 2015-01-15 Antti Koivisto <antti@apple.com>
3288 Unreviewed, rolling out r178518.
3290 Didn't mean to commit some of this
3294 "Try to fix windows build."
3295 http://trac.webkit.org/changeset/178518
3297 2015-01-15 Antti Koivisto <antti@apple.com>
3299 Try to fix windows build.
3301 * platform/graphics/Font.cpp: Copied from Source/WebCore/platform/graphics/SimpleFontData.cpp.
3302 * platform/graphics/Font.h: Copied from Source/WebCore/platform/graphics/SimpleFontData.h.
3303 * platform/graphics/FontCascadeFastPath.cpp: Copied from Source/WebCore/platform/graphics/FontFastPath.cpp.
3304 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3305 * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3306 (PlatformCALayerWinInternal::displayCallback):
3307 * platform/graphics/ios/FontIOS.mm: Copied from Source/WebCore/platform/graphics/ios/SimpleFontDataIOS.mm.
3308 * platform/graphics/mac/FontCascadeComplexTextMac.cpp: Copied from Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp.
3309 * platform/graphics/mac/FontCascadeMac.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.
3310 * platform/graphics/mac/FontCoreText.cpp: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp.
3311 * platform/graphics/mac/FontMac.mm: Replaced with Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
3312 * platform/win/DragImageWin.cpp:
3313 (WebCore::dragLabelFont):
3314 (WebCore::createDragImageForLink):
3315 * platform/win/PopupMenuWin.cpp:
3316 (WebCore::PopupMenuWin::calculatePositionAndSize):
3317 (WebCore::PopupMenuWin::paint):
3318 * platform/win/WebCoreTextRenderer.cpp:
3319 (WebCore::doDrawTextAtPoint):
3320 (WebCore::WebCoreDrawDoubledTextAtPoint):
3321 (WebCore::WebCoreTextFloatWidth):
3322 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
3323 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
3324 * rendering/RenderThemeSafari.cpp:
3325 (WebCore::RenderThemeSafari::setFontFromControlSize):
3327 2015-01-15 Myles C. Maxfield <mmaxfield@apple.com>
3329 http/tests/misc/acid3.html is flakey on Mavericks
3330 https://bugs.webkit.org/show_bug.cgi?id=140253
3332 Reviewed by Alexey Proskuryakov.
3334 CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font
3335 if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We
3336 often create typesetters in the complex code path, so it's not obvious when this bug
3337 might present itself. This patch simply makes a dummy invocation of
3338 CTFontTransformGlyphs() when creating a SimpleFontData.
3340 No new tests because this is covered by http/tests/misc/acid3.html.
3342 * platform/graphics/mac/SimpleFontDataMac.mm:
3343 (WebCore::SimpleFontData::platformInit):
3345 2015-01-15 Chris Dumez <cdumez@apple.com>
3347 Get rid of custom StyleBuilder code for 'line-height' CSS property
3348 https://bugs.webkit.org/show_bug.cgi?id=140462
3350 Reviewed by Antti Koivisto.
3352 Get rid of custom StyleBuilder code for 'line-height' CSS property by
3353 using a conditional converter.
3355 * css/CSSPropertyNames.in:
3356 * css/StyleBuilderConverter.h:
3357 (WebCore::StyleBuilderConverter::convertLineHeight):
3358 * css/StyleBuilderCustom.h:
3359 (WebCore::StyleBuilderCustom::applyValueLineHeight):
3360 (WebCore::StyleBuilderCustom::convertLineHeight): Deleted.
3362 2015-01-15 Antti Koivisto <antti@apple.com>
3364 Rename Font to FontCascade
3365 https://bugs.webkit.org/show_bug.cgi?id=140442
3367 Reviewed by Darin Adler.
3369 We can then rename SimpleFontData to Font. This will match the usual definition of a "font".
3371 2015-01-15 Mihnea Ovidenie <mihnea@adobe.com>
3373 [CSSRegions] Assert failure in RenderBlock::locateFlowThreadContainingBlock when showing the render tree debug info
3374 https://bugs.webkit.org/show_bug.cgi?id=140441
3376 Reviewed by Andrei Bucur.
3378 When showing the render tree debug information for an element inside a flow thread,
3379 we will display the region range information for all the render boxes. To avoid
3380 computation of flow thread containing block in these situations, we will use
3381 only the cached flow thread containing block information.
3383 No new tests as this code path is only touched when using showRenderTree* methods.
3385 * rendering/RenderObject.cpp:
3386 (WebCore::flowThreadContainingBlockFromRenderer):
3387 (WebCore::RenderObject::showRegionsInformation):
3389 2015-01-14 Simon Fraser <simon.fraser@apple.com>
3391 Graphics corruption after Find on some pages
3392 https://bugs.webkit.org/show_bug.cgi?id=140489
3394 Reviewed by Zalan Bujtas.
3396 After doing a Find on http://shop.outlier.cc/shop/retail/chino.html,
3397 garbage could appear on some parts of the page. This is caused by creating
3398 a compositing layer which is marked as opaque, yet failing to paint the entire
3401 This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured()
3402 logic. On the page in question, doing a Find could cause overflow:hidden sections
3403 to get scrolled (since Find can reveal the selection by scrolling overflow).
3404 However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect()
3405 fails to take overflow scrolling into account, so gives the wrong answer
3406 in some content configurations. As a result, we'd think that the background
3407 is obscured, and never paint it.
3409 Conservative fix is to have isCandidateForOpaquenessTest() return false
3410 when the content has any non-zero scroll offset.
3412 Tests: compositing/contents-opaque/opaque-with-scrolled.html
3413 fast/backgrounds/opaque-scrolled-paint-background.html
3415 * rendering/RenderBox.cpp:
3416 (WebCore::isCandidateForOpaquenessTest):
3418 2015-01-14 Jer Noble <jer.noble@apple.com>
3420 [Mac][MSE] Stalled YouTube playback does not allow display to sleep.
3421 https://bugs.webkit.org/show_bug.cgi?id=140468
3422 rdar://problem/19171162
3424 Reviewed by Eric Carlson.
3426 Test: media/media-source/media-source-stalled-holds-sleep-assertion.html
3428 The unstated convention of MediaPlayerPrivate::paused() is that implementations should
3429 return 'true' if the playback rate is 0. However, MediaPlayerPrivateMediaSourceAVFObjC
3430 was returning 'false' if it was supposed to be playing, regardless of the actual rate.
3431 This caused a check in HTMLMediaElement of whether to release the sleep assertion token
3432 to fail, thinking the media engine was still playing.
3434 Add some testing infrastructure to allow us to test whether the media element is disabling
3435 display sleep from within layout tests.
3437 * html/HTMLMediaElement.h:
3438 (WebCore::HTMLMediaElement::isDisablingSleep):
3439 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3440 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
3441 * testing/Internals.cpp:
3442 (WebCore::Internals::elementIsBlockingDisplaySleep):
3443 * testing/Internals.h:
3444 * testing/Internals.idl:
3446 2015-01-14 Zalan Bujtas <zalan@apple.com>
3448 Move LayoutFragment and ClipRect to their own files.
3449 https://bugs.webkit.org/show_bug.cgi?id=140457
3451 Reviewed by Simon Fraser.
3453 Move these classes to their own files to to make RenderLayer.h less heavy.
3455 No change in functionality.
3457 * WebCore.xcodeproj/project.pbxproj:
3458 * rendering/ClipRect.cpp: Added.
3459 (WebCore::ClipRect::intersects):
3460 * rendering/ClipRect.h: Added.
3461 (WebCore::ClipRect::ClipRect):