1 2014-12-08 Dean Jackson <dino@apple.com>
3 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
4 https://bugs.webkit.org/show_bug.cgi?id=139310
5 <rdar://problem/18434594>
7 Reviewed by Simon Fraser.
9 Using Apple's Accelerate framework provides faster blurs
10 than the parallel jobs approach, especially since r168577
11 which started performing retina-accurate filters.
13 Using Accelerate.framework to replace the existing box blur (what
14 we use to approximate Gaussian blurs) gets about a 20% speedup on
15 desktop class machines, but between a 2x-6x speedup on iOS hardware.
16 Obviously this depends on the size of the content being blurred,
19 The change is to intercept the platformApply function on
20 FEGaussianBlur and send it off to Accelerate.
22 There is an interactive performance test: PerformanceTests/Interactive/blur-filter-timing.html
24 * platform/graphics/filters/FEGaussianBlur.cpp:
25 (WebCore::kernelPosition): Move this to a file static function from the .h.
26 (WebCore::accelerateBoxBlur): The Accelerate implementation.
27 (WebCore::standardBoxBlur): The default generic/standard implementation.
28 (WebCore::FEGaussianBlur::platformApplyGeneric): Use accelerate or the default form.
29 (WebCore::FEGaussianBlur::platformApply): Don't try the parallelJobs approach if Accelerate is available.
30 * platform/graphics/filters/FEGaussianBlur.h:
31 (WebCore::FEGaussianBlur::kernelPosition): Deleted. Move into the .cpp.
33 2014-12-08 Beth Dakin <bdakin@apple.com>
35 Copy and Lookup menu items should be disabled when something is not copyable
36 https://bugs.webkit.org/show_bug.cgi?id=139423
38 Reviewed by Tim Horton.
40 New function allowCopy() indicates whether the HitTestResult would allow itself to
41 be copied onto the pasteboard.
43 * rendering/HitTestResult.cpp:
44 (WebCore::HitTestResult::allowsCopy):
45 * rendering/HitTestResult.h:
47 2014-12-08 Chris Dumez <cdumez@apple.com>
49 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to changeAffectsVisualOverflow()
50 https://bugs.webkit.org/show_bug.cgi?id=139420
52 Reviewed by Simon Fraser.
54 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to
55 changeAffectsVisualOverflow(). This has no behavior change as
56 changeRequiresLayout() calls changeAffectsVisualOverflow(). However,
57 this is clearer as text-shadow affects the visual overflow (similarly
60 No new tests, no behavior change.
62 * rendering/style/RenderStyle.cpp:
63 (WebCore::RenderStyle::changeAffectsVisualOverflow):
64 (WebCore::RenderStyle::changeRequiresLayout):
66 2014-12-08 Anders Carlsson <andersca@apple.com>
70 * storage/StorageNamespaceImpl.cpp:
71 (WebCore::localStorageNamespaceMap):
73 2014-12-08 Anders Carlsson <andersca@apple.com>
75 WebStorageNamespaceProvider should create StorageNamespaceImpls
76 https://bugs.webkit.org/show_bug.cgi?id=139419
78 Reviewed by Andreas Kling.
83 * WebCore.xcodeproj/project.pbxproj:
84 Make StorageNamespaceImpl.h a private header.
86 * storage/StorageNamespaceImpl.cpp:
87 (WebCore::localStorageNamespaceMap):
90 (WebCore::StorageNamespaceImpl::createSessionStorageNamespace):
91 (WebCore::StorageNamespaceImpl::getOrCreateLocalStorageNamespace):
92 Add new functions for creating namespaces.
94 (WebCore::StorageNamespaceImpl::localStorageNamespace):
95 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
96 Call the new functions.
98 * storage/StorageNamespaceImpl.h:
99 Add new members, make sure to deprecate the ones we don't want anyone calling.
101 * storage/StorageNamespaceProvider.cpp:
102 (WebCore::StorageNamespaceProvider::localStorageNamespace):
103 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
104 * storage/StorageNamespaceProvider.h:
105 Pass the quota when creating storage namespaces.
107 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
109 Move the new :nth-child() and :nth-last-child() out of experimental
110 https://bugs.webkit.org/show_bug.cgi?id=139329
112 Reviewed by Andreas Kling.
115 Feedback has only been positive.
116 All the known issues have been reported to the CSS WG.
118 The #ifdef don't really work anymore anyway for :nth-child() and :nth-last-child().
120 * css/CSSSelector.cpp:
121 (WebCore::CSSSelector::selectorText):
122 * css/SelectorChecker.cpp:
123 (WebCore::SelectorChecker::checkOne):
125 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
127 A selector should not match anything if there is a subselector after a non-scrollbar pseudo element
128 https://bugs.webkit.org/show_bug.cgi?id=139336
129 rdar://problem/19051623
131 Reviewed by Andreas Kling.
133 Tests: fast/css/duplicated-after-pseudo-element.html
134 fast/css/duplicated-before-pseudo-element.html
135 fast/css/simple-selector-after-pseudo-element.html
137 * cssjit/SelectorCompiler.cpp:
138 (WebCore::SelectorCompiler::constructFragments):
139 The code filtering out simple selectors was only considering
140 the relation CSSSelector::SubSelector. That comes from SelectorChecker where
141 the relation considered is the one from the previous selector.
143 In this case, the relation is the extracted from the current simple selector,
144 which is the relation with the following selector.
146 When a single simple selector was following a pseudo element, the relation evaluated
147 to descendant/adjacent/direct-adjacent and we were skipping the early return.
148 That simple selector was evaluated as a regular filter on the element.
150 In the CSS JIT, we can just remove that test altogether. Fragments are built one after
151 the other. By definition, the evaluated simple selector belong to the current fragment.
153 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
155 Fix the parsing of advanced :lang() after r176902
156 https://bugs.webkit.org/show_bug.cgi?id=139379
158 Reviewed by Andreas Kling.
160 There were two mistakes that were only caught in debug:
162 The lexer was not calling isIdentifierStart() before parseIdentifier().
163 Some identifier we were parsing should have been invalid.
164 This was caught with an assertion in parseIdentifier().
166 The other issue is that we were accumulating pointer to freed memory.
167 The tokenizer for LANGRANGE was creating a new string with a StringBuilder.
168 The problem is that CSSParserString does not keep the source string alive.
169 Consequently, the list of language range was accumulating pointers to dead
172 The fix there is to simply extend the token to take the original asterisk character
173 from the input. That is not elegant but that's efficient and we know
177 (WebCore::CSSParser::realLex):
178 * css/CSSGrammar.y.in: Fix the indentation of a language range rule.
180 2014-12-08 Anders Carlsson <andersca@apple.com>
182 Try to fix the 32-bit build.
186 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
188 Inline elements whose parents have small line-height are laid out too low
189 https://bugs.webkit.org/show_bug.cgi?id=139375
191 Reviewed by Dave Hyatt.
193 This is a port of the Blink patch at
194 https://src.chromium.org/viewvc/blink?revision=155253&view=revision.
196 When laying out inline elements, we try to align leaf children's parents'
197 baselines across the entire line. However, if you set line-height: 0px on a
198 span, the entire InlineBox which represents that span will have a height of
199 0, and therefore be laid out entirely on the baseline. In addition, we will
200 try to vertically center the leaf text in the span's InlineBox, which means
201 the leaf text will be vertically centered on the baseline. All the other
202 major browsers do not have this behavior; instead, they line up the boxes
205 This bug led to a rendering problem on the front page of the New York Times.
207 Here is the ChangeLog from the Blink patch:
209 Fix baseline position when it is outside the element's box
211 Specifically, we shouldn't force the baseline to be inside the element. IE
212 and FF don't do this, and it's incompatible with the CSS spec:
214 "The baseline of an 'inline-block' is the baseline of its last line box in
215 the normal flow, unless it has either no in-flow line boxes or if its
216 'overflow' property has a computed value other than 'visible', in which case
217 the baseline is the bottom margin edge."
218 -- http://www.w3.org/TR/CSS21/visudet.html#leading
220 It doesn't have a special case for "baseline is outside of the element's
223 Test: fast/text/small-line-height.html
225 * rendering/RenderBlock.cpp:
226 (WebCore::RenderBlock::baselinePosition):
228 2014-12-08 Eric Carlson <eric.carlson@apple.com>
230 [iOS] YouTube plug-in replacement should support partial urls
231 https://bugs.webkit.org/show_bug.cgi?id=139400
233 Reviewed by Alexey Proskuryakov.
235 * Modules/plugins/YouTubePluginReplacement.cpp:
236 (WebCore::YouTubePluginReplacement::youTubeURL): Call Document::completeURL.
238 2014-12-08 Anders Carlsson <andersca@apple.com>
242 * platform/network/soup/CookieJarSoup.cpp:
243 (WebCore::deleteAllCookiesModifiedSince):
245 2014-12-08 Andreas Kling <akling@apple.com>
248 <https://webkit.org/b/139146>
250 This change caused some unexpected assertions in line box teardown.
252 * rendering/RenderBlock.cpp:
253 (WebCore::RenderBlock::willBeDestroyed):
254 * rendering/RenderBlock.h:
255 * rendering/RenderBlockFlow.cpp:
256 (WebCore::RenderBlockFlow::willBeDestroyed):
257 * rendering/RenderElement.cpp:
258 (WebCore::RenderElement::willBeRemovedFromTree):
259 * rendering/RenderInline.cpp:
260 (WebCore::RenderInline::willBeDestroyed):
261 * rendering/RenderReplaced.cpp:
262 (WebCore::RenderReplaced::willBeDestroyed):
263 * rendering/RenderReplaced.h:
265 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
267 [iOS] Narrow non-breaking space does not fall back to a correct font
268 https://bugs.webkit.org/show_bug.cgi?id=139335
270 Reviewed by Enrica Casucci.
272 Test: fast/text/narrow-non-breaking-space.html
274 * platform/graphics/ios/FontCacheIOS.mm:
275 (WebCore::requiresCustomFallbackFont):
276 (WebCore::FontCache::getCustomFallbackFont):
278 2014-12-08 Daniel Bates <dabates@apple.com>
280 [iOS] Fix the WebKit build with the public SDK
282 Include header UIKit.h.
284 * platform/spi/ios/MediaPlayerSPI.h:
286 2014-12-08 Chris Dumez <cdumez@apple.com>
288 Revert r176293 & r176275
290 Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
291 instead of size_t. There is some disagreement regarding the long-term direction
292 of the API and we shouldn’t leave the API partly transitioned to unsigned type
293 while making a decision.
296 * bindings/js/JSDOMBinding.h:
298 * bindings/js/JSWebGLRenderingContextCustom.cpp:
299 * cssjit/SelectorCompiler.cpp:
300 * editing/TextIterator.cpp:
301 (WebCore::SearchBuffer::append):
302 (WebCore::SearchBuffer::prependContext):
303 (WebCore::SearchBuffer::search):
304 (WebCore::SearchBuffer::length):
305 * html/HTMLFormElement.cpp:
306 (WebCore::removeFromVector):
307 * html/parser/HTMLParserIdioms.h:
308 * html/parser/XSSAuditor.cpp:
309 * platform/SharedBuffer.cpp:
310 (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
312 2014-12-08 Anders Carlsson <andersca@apple.com>
314 Make deleting all cookies after a given date a little more sane
315 https://bugs.webkit.org/show_bug.cgi?id=139409
317 Reviewed by Antti Koivisto.
322 * platform/network/PlatformCookieJar.h:
323 * platform/network/cf/CookieJarCFNet.cpp:
324 * platform/network/curl/CookieJarCurl.cpp:
325 * platform/network/soup/CookieJarSoup.cpp:
326 Rename deleteAllCookiesModifiedAfterDate to deleteAllCookiesModifiedSince and change it
327 to take an std::chrono::system_clock::time_point instead.
329 * platform/network/mac/CookieJarMac.mm:
330 (WebCore::cookieStorage):
331 Helper function that returns an NSHTTPCookieStorage given a network session.
333 (WebCore::deleteAllCookiesModifiedSince):
334 Get the cookie storage from the network storage instead of just getting the global one.
336 2014-12-08 Csaba Osztrogonác <ossy@webkit.org>
338 URTBF after r176953, add an unreachable return to make GCC happy.
340 * loader/FrameLoader.cpp:
341 (WebCore::FrameLoader::subresourceCachePolicy):
343 2014-12-08 Javier Fernandez <jfernandez@igalia.com>
345 [CSS Grid Layout] Grid items must set a new formatting context.
346 https://bugs.webkit.org/show_bug.cgi?id=139150
348 Reviewed by David Hyatt.
350 Grid item's margins must not collapse even when they may be adjoining to
351 its content's margins. Also, setting a new formatting context prevents any
352 'float' protruding content on the adjoining grid items.
354 This patch also renames the expandsToEncloseOverhangingFloats to be more generic now,
355 determining whether a new formatting context is set or not. This affects not only to
356 how floats behave, but whether margins should collapse or not.
358 Tests: fast/css-grid-layout/float-not-protruding-into-next-grid-item.html
359 fast/css-grid-layout/grid-item-margins-not-collapse.html
361 * rendering/RenderBlock.cpp:
362 (WebCore::RenderBlock::avoidsFloats): Using the new createsNewFormattingContext function.
363 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): Deleted.
364 * rendering/RenderBlock.h:
365 * rendering/RenderBlockFlow.cpp:
366 (WebCore::RenderBlockFlow::MarginInfo::MarginInfo): Using the new createsNewFormattingContext function.
367 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): Using the new createsNewFormattingContext function.
368 (WebCore::RenderBlockFlow::layoutBlock): Using the new createsNewFormattingContext function.
369 (WebCore::RenderBlockFlow::computeOverflow): Using the new createsNewFormattingContext function.
370 (WebCore::RenderBlockFlow::addOverhangingFloats): Using the new createsNewFormattingContext function.
371 (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): Using the new createsNewFormattingContext function.
372 * rendering/RenderBox.cpp:
373 (WebCore::RenderBox::createsNewFormattingContext): Added.
374 (WebCore::RenderBox::avoidsFloats): Removed checks already defined in the new createsNewFormattingContext function.
375 * rendering/RenderBox.h:
376 (WebCore::RenderBox::isGridItem): Added.
378 2014-12-08 Daniel Bates <dabates@apple.com>
380 [iOS] Attempt to fix the public SDK build after <https://trac.webkit.org/r176841>
381 (https://bugs.webkit.org/show_bug.cgi?id=139227)
383 * platform/spi/ios/AVKitSPI.h:
385 2014-12-08 Chris Dumez <cdumez@apple.com>
387 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
388 https://bugs.webkit.org/show_bug.cgi?id=139350
390 Reviewed by Antti Koivisto.
392 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
393 and use m_loadType instead. ResourceRequest::cachePolicy() is meant to be passed
394 to the network stack, and isn't supposed to be used as input inside WebCore.
396 No new tests, no behavior change.
398 * loader/FrameLoader.cpp:
399 (WebCore::FrameLoader::subresourceCachePolicy):
401 2014-12-08 Philippe Normand <pnormand@igalia.com>
403 [GTK] UserMedia Permission Request API
404 https://bugs.webkit.org/show_bug.cgi?id=136449
406 Reviewed by Carlos Garcia Campos.
408 Very basic constraints validation support in the GStreamer
409 MediaStreamCenter. This is needed so the GTK C API tests using the
410 getUserMedia() API would not time out.
412 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
413 (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
414 (WebCore::MediaStreamCenterGStreamer::validateRequestConstraints):
415 (WebCore::MediaStreamCenterGStreamer::createMediaStream):
417 2014-12-08 Anders Carlsson <andersca@apple.com>
419 Remove ResourceHandle::loadsBlocked()
420 https://bugs.webkit.org/show_bug.cgi?id=139401
422 Reviewed by Daniel Bates.
424 This hasn't returned true since Leopard, so get rid of it.
427 (WebCore::Chrome::canRunModalNow):
428 * platform/network/ResourceHandle.h:
429 * platform/network/cf/ResourceHandleCFNet.cpp:
430 (WebCore::ResourceHandle::loadsBlocked): Deleted.
431 * platform/network/curl/ResourceHandleCurl.cpp:
432 (WebCore::ResourceHandle::loadsBlocked): Deleted.
433 * platform/network/mac/ResourceHandleMac.mm:
434 (WebCore::ResourceHandle::loadsBlocked): Deleted.
435 * platform/network/soup/ResourceHandleSoup.cpp:
436 (WebCore::ResourceHandle::loadsBlocked): Deleted.
438 2014-12-08 Chris Fleizach <cfleizach@apple.com>
440 AX: iOS: VoiceOver gets hung on some websites consistently.
441 https://bugs.webkit.org/show_bug.cgi?id=139331
443 Reviewed by Mario Sanchez Prada.
445 iFrames are attachments on iOS, but they do not have attachment views. As a result,
446 WebCore would return incorrect information for the element count and index of children elements.
448 No tests. Bug only manifests itself when iOS accessibility frameworks call into WebCore.
450 * accessibility/AccessibilityMockObject.h:
451 (WebCore::AccessibilityMockObject::isDetachedFromParent):
452 * accessibility/AccessibilityObject.h:
453 (WebCore::AccessibilityObject::isDetachedFromParent):
454 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
455 (-[WebAccessibilityObjectWrapper accessibilityElementCount]):
456 (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
457 (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
458 (-[WebAccessibilityObjectWrapper accessibilityContainer]):
460 2014-12-08 Doron Wloschowsky <doron_wloschowsky@scee.net>
462 Webkit using Harfbuzz does not display Arabic script correctly
463 https://bugs.webkit.org/show_bug.cgi?id=136337
465 Reviewed by Carlos Garcia Campos.
467 Using reinterpret_cast to convert hb_codepoint_t* into UChar*
468 doesn't work on big endian systems.
470 * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
471 (WebCore::harfBuzzGetGlyph):
473 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
475 [GStreamer] Major cleanup of AudioDestination implementation
476 https://bugs.webkit.org/show_bug.cgi?id=139370
478 Reviewed by Philippe Normand.
480 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
481 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
482 Add an audioresample element before the audio sink. The audio sink
483 might not be able to handle our sampling rate.
485 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
486 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
487 (WebCore::AudioDestinationGStreamer::stop):
488 (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady): Deleted.
489 Don't use a wavparse element but directly link the raw audio from
490 the source to the audio sink.
492 (WebCore::AudioDestinationGStreamer::start):
493 Catch errors when going to PLAYING early, we might not get an error
496 * platform/audio/gstreamer/AudioDestinationGStreamer.h:
497 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
498 (getGStreamerMonoAudioCaps):
499 (webKitWebAudioSrcConstructed):
500 (webKitWebAudioSrcChangeState):
501 Don't use a WAV encoder but directly output raw audio. Also don't
502 include a unneeded audioconvert element before the interleave.
504 (webKitWebAudioSrcLoop):
505 Add timestamps and durations to the output buffers, map them in
506 READWRITE mode and actually keep them mapped until we're sure
507 nothing is actually writing into them.
509 (webKitWebAudioSrcLoop):
510 Pause the task on errors instead of continuously calling it again
513 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
515 [GStreamer] Use gst_message_parse_buffering()
516 https://bugs.webkit.org/show_bug.cgi?id=139365
518 Reviewed by Philippe Normand.
520 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
521 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
522 Use gst_message_parse_buffering() instead of manually getting
523 the percentage from the message's structure. While the latter
524 is supposed to work and part of the ABI stability guarantee,
525 it's just not nice and overly complicated.
527 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
529 [GStreamer] Minor cleanup of the AudioFileReader implementation
530 https://bugs.webkit.org/show_bug.cgi?id=139367
532 Reviewed by Philippe Normand.
534 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
535 (WebCore::AudioFileReader::~AudioFileReader):
536 Don't call gst_bus_remove_signal_watch(), the source was already
537 destroyed together with the main context and doing it again here
538 will give a g_critical().
540 (WebCore::AudioFileReader::handleSample):
541 Calculate the number of samples from the actual buffer size
542 and the bytes-per-frame instead of the buffer duration. Using
543 the buffer duration can lead to rounding errors and might cause
544 too few samples to be copied over later.
546 (WebCore::AudioFileReader::handleMessage):
547 Set the pipeline to GST_STATE_NULL immediately when receiving
548 errors to prevent other follow-up error messages from propagating
549 through the bus and spamming the user's terminal with g_warnings().
551 (WebCore::AudioFileReader::handleNewDeinterleavePad):
552 Sync the state of the queue and sink after deinterleave with
553 the parent state instead of just setting them to READY. That
554 way we potentially go to PAUSED state a bit earlier already
555 and prevent a potential race condition that could cause buffers
556 to arrive in the new elements in READY state already (which would
559 (WebCore::AudioFileReader::plugDeinterleave):
560 Handle multiple decodebin source pads by ignoring all following
561 ones just in case there are multiple for whatever reason.
563 (WebCore::AudioFileReader::decodeAudioForBusCreation):
564 Catch errors from going to PAUSED state early. We might not
565 get a error message at all if we're unlucky.
567 (WebCore::AudioFileReader::plugDeinterleave):
568 (WebCore::AudioFileReader::createBus):
569 (WebCore::AudioFileReader::handleSample):
570 Downmix to mono if required instead of just using the front
571 left channel and claiming it is mono. Downmixing from stereo
572 to mono will mix both channels instead of just taking the left.
574 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
576 [GStreamer] Handle CLOCK_LOST and LATENCY messages
577 https://bugs.webkit.org/show_bug.cgi?id=139341
579 Reviewed by Philippe Normand.
581 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
582 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
583 Handle CLOCK_LOST message by shortly going back to PAUSED state
584 and then to PLAYING again to let the pipeline select a new clock
586 This can happen if the stream that ends in a sink that provides
587 the current clock disappears, for example if the audio sink
588 provides the clock and the audio stream is disabled. It also
589 happens relatively often with HTTP adaptive streams when switching
590 between different variants of a stream.
592 Also handle the LATENCY message by triggering the default GStreamer
593 mechanism to update the latency. This can happen if the latency of
594 live elements changes, or for one reason or another a new live element
595 is added or removed from the pipeline.
597 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
599 [GStreamer] Use audio-filter property on GStreamer >= 1.4.2
600 https://bugs.webkit.org/show_bug.cgi?id=139360
602 Reviewed by Philippe Normand.
604 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
605 (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
606 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
607 Since 1.4.0 there is an audio-filter property we can use to place
608 the pitch-preserving filter at a more canonical position inside
609 the pipeline. Since 1.4.2 this property also handles all necessary
611 This simplifies our sink code a bit because we don't have to create
612 a custom sink bin anymore.
614 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
616 [GStreamer] Add video/flv to the list of supported mimetypes
617 https://bugs.webkit.org/show_bug.cgi?id=139344
619 Reviewed by Gustavo Noronha Silva.
621 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
622 (WebCore::mimeTypeCache):
623 Add video/flv additional to video/x-flv to the list of supported
624 mimetypes. It's used on some websites, e.g.
625 http://www.jwplayer.com/html5/formats/
627 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
629 [GStreamer] Remove GStreamer 0.10 #ifdefs.
630 https://bugs.webkit.org/show_bug.cgi?id=138921
632 Reviewed by Philippe Normand.
634 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
635 (WebCore::initializeGStreamer):
636 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
637 (WebCore::MediaPlayerPrivateGStreamer::buffered):
638 Remove GStreamer 0.10 #ifdefs, we depend on >= 1.0.3 at least.
640 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
642 [GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
643 https://bugs.webkit.org/show_bug.cgi?id=139343
645 Reviewed by Gustavo Noronha Silva.
647 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
648 (WebCore::mimeTypeCache):
649 It's an alternative mimetype for the already supported
650 application/vnd.apple.mpegurl (aka HLS) and adding it
651 allows all streams on http://www.jwplayer.com/html5/hls/
654 2014-12-07 Gwang Yoon Hwang <yoon@igalia.com>
656 [TextureMapper] Normalize pattern transform for pattern compositing
657 https://bugs.webkit.org/show_bug.cgi?id=139374
659 Reviewed by Martin Robinson.
661 In CoordGfx/TexMapGL, pattern compositing (for background image) uses
662 the patternTransform shader uniform. However, current implementation
663 miscalculates its transform matrix. It uses simple rectToRect
664 transformationMatrix which produces unnormalized garbage term.
665 This causes unexpected behavior at the fragmentation stage in some
668 It should calculate its scale based on tileSize and contentSize,
669 and its position based on tilePhase and contentSize.
671 No new tests because the bug only occurs on some mobile GPUs.
673 * platform/graphics/texmap/TextureMapperLayer.cpp:
674 (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
676 2014-12-07 Youenn Fablet <youenn.fablet@crf.canon.fr>
678 [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
679 https://bugs.webkit.org/show_bug.cgi?id=128739
681 Reviewed by Martin Robinson.
683 Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
684 Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
685 Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
686 Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.
688 Test: http/tests/xmlhttprequest/response-special-characters.html
690 * platform/network/curl/CurlDownload.cpp:
691 (WebCore::CurlDownload::headerCallback): Removed header conversion.
692 * platform/network/curl/ResourceHandleManager.cpp:
693 (WebCore::headerCallback): Ditto.
694 (WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
695 * platform/network/soup/ResourceRequestSoup.cpp:
696 (WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
697 (WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
698 (WebCore::ResourceRequest::toSoupMessage): Ditto.
699 (WebCore::ResourceRequest::updateFromSoupMessage):
700 * platform/network/soup/ResourceResponseSoup.cpp:
701 (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
702 (WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.
704 2014-12-07 Dan Bernstein <mitz@apple.com>
706 Introduce and deploy a function that allocates and returns an instance of a soft-linked class
707 https://bugs.webkit.org/show_bug.cgi?id=139348
709 Reviewed by Anders Carlsson.
711 In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler
712 picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead
713 to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo
714 doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus
715 avoiding the ambiguity.
717 * editing/mac/DataDetection.mm:
718 (WebCore::DataDetection::detectItemAroundHitTestResult):
719 * platform/audio/ios/MediaSessionManagerIOS.mm:
720 (-[WebMediaSessionHelper allocateVolumeView]):
721 (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
722 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
723 (WebCore::AudioSourceProviderAVFObjC::createMix):
724 * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
725 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
726 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
727 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
728 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
729 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
730 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
731 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
732 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
733 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
734 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
735 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
736 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
737 (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
738 (WebCore::SourceBufferPrivateAVFObjC::abort):
739 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
741 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
742 (PlatformCALayerMac::PlatformCALayerMac): Cast the result of +alloc to an instance of the
745 * platform/graphics/mac/FontMac.mm:
746 (WebCore::showLetterpressedGlyphsWithAdvances):
747 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
748 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
749 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
750 * platform/graphics/mac/PDFDocumentImageMac.mm:
751 (WebCore::PDFDocumentImage::createPDFDocument):
752 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
753 (SOFT_LINK_CONSTANT):
754 (-[WebSpeechSynthesisWrapper speakUtterance:]):
755 * platform/ios/WebCoreMotionManager.mm:
756 (-[WebCoreMotionManager initializeOnMainThread]):
757 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
758 (-[WebAVPlayerController init]):
759 (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
760 * platform/mac/ContentFilterMac.mm:
761 (WebCore::ContentFilter::ContentFilter):
763 * platform/mac/SoftLinking.h: Added alloc##className##instance().
765 * platform/mac/WebVideoFullscreenController.mm:
766 (-[WebVideoFullscreenController setVideoElement:]):
767 * platform/mediastream/mac/AVAudioCaptureSource.mm:
768 (WebCore::AVAudioCaptureSource::setupCaptureSession):
769 * platform/mediastream/mac/AVCaptureDeviceManager.mm:
770 (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType):
771 * platform/mediastream/mac/AVMediaCaptureSource.mm:
772 (WebCore::AVMediaCaptureSource::setupSession):
773 * platform/mediastream/mac/AVVideoCaptureSource.mm:
774 (WebCore::AVVideoCaptureSource::setupCaptureSession):
775 * platform/network/ios/QuickLook.mm:
776 (WebCore::registerQLPreviewConverterIfNeeded):
777 (WebCore::QuickLookHandle::QuickLookHandle):
779 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
781 [GTK] Add Since tags to GObject DOM bindings documentation
782 https://bugs.webkit.org/show_bug.cgi?id=139356
784 Reviewed by Gustavo Noronha Silva.
786 Now that we have a small stable API, and new symbols are added
787 manually, we can also add the version to the symbols file, that
788 the code generator can ue to add Since tags to the gtk-doc.
790 * bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
792 * bindings/scripts/CodeGeneratorGObject.pm:
793 (GenerateConstants): Add Since tag to gtk-doc if there's a version
794 number for the symbol in the .symbols file.
795 (GenerateFunction): Ditto.
798 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
800 [GTK] Missing API detected in GObject DOM bindings after r176630
801 https://bugs.webkit.org/show_bug.cgi?id=139201
803 Reviewed by Gustavo Noronha Silva.
805 Bring back WebKitDOMDeprecated and add custom versions of the
806 removed symbols as deprecated in favor of the new ones. Also add
807 the new ones as stable API.
809 * CMakeLists.txt: Pass a list of additional dependencies to GENERATE_BINDINGS.
810 * PlatformGTK.cmake: Ditto.
811 * PlatformMac.cmake: Ditto.
812 * bindings/gobject/WebKitDOMDeprecated.cpp: Added.
813 (webkit_dom_html_element_get_inner_html):
814 (webkit_dom_html_element_set_inner_html):
815 (webkit_dom_html_element_get_outer_html):
816 (webkit_dom_html_element_set_outer_html):
817 * bindings/gobject/WebKitDOMDeprecated.h: Added.
818 * bindings/gobject/WebKitDOMDeprecated.symbols: Added.
819 * bindings/gobject/webkitdom.symbols:
821 2014-12-06 Csaba Osztrogonác <ossy@webkit.org>
825 DisplayRefreshMonitorClient is the parent class of GraphicsLayerUpdater
826 only if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is true, so override
827 is incorrect if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is false.
829 That's why r176915 broke the build on non PLATFORM(COCOA) platforms,
830 such as GTK, EFL, Apple Windows.
832 Additionally displayRefreshFired is only used inside USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
833 guard, so there is no reason to define it for non COCOA platforms.
835 * platform/graphics/GraphicsLayerUpdater.cpp:
836 * platform/graphics/GraphicsLayerUpdater.h:
838 2014-12-06 Anders Carlsson <andersca@apple.com>
840 Fix build with newer versions of clang.
841 rdar://problem/18978733
843 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
845 * page/scrolling/AsyncScrollingCoordinator.h:
846 * page/scrolling/ScrollingStateFixedNode.h:
847 * page/scrolling/ScrollingStateFrameScrollingNode.h:
848 * page/scrolling/ScrollingStateOverflowScrollingNode.h:
849 * page/scrolling/ScrollingStateStickyNode.h:
850 * page/scrolling/ScrollingTreeFrameScrollingNode.h:
851 (WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll): Deleted.
852 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
853 * platform/graphics/GraphicsLayerUpdater.h:
854 * platform/mac/ScrollbarThemeMac.h:
855 (WebCore::ScrollbarThemeMac::supportsControlTints): Deleted.
856 (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): Deleted.
857 * rendering/RenderLayerCompositor.h:
858 * rendering/RenderSnapshottedPlugIn.h:
860 2014-12-06 Anders Carlsson <andersca@apple.com>
862 Fix build with newer versions of clang.
863 rdar://problem/18978687
865 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
867 * html/HTMLElement.h:
868 * html/HTMLMediaElement.h:
869 * html/track/VTTCue.h:
870 * loader/FrameNetworkingContext.h:
871 (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect): Deleted.
872 * loader/cache/CachedImage.h:
873 * page/SuspendableTimer.h:
874 * platform/Scrollbar.h:
875 * platform/graphics/InbandTextTrackPrivate.h:
876 * rendering/RenderBlockFlow.h:
878 2014-12-06 Anders Carlsson <andersca@apple.com>
882 * Configurations/Base.xcconfig:
884 2014-12-06 Anders Carlsson <andersca@apple.com>
886 Fix build with newer versions of clang.
887 rdar://problem/18978689
889 Disable the "inconsistent missing override" warning due to our use of macros in SVG where it's hard to
890 know whether we can add an override or not.
892 Also, cast return values of +alloc to the right type, and add some casts for vector iterator arithmetic.
894 * Configurations/Base.xcconfig:
895 * Modules/webdatabase/DatabaseBackendBase.cpp:
896 (WebCore::guidForOriginAndName):
897 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
898 (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
899 * editing/cocoa/HTMLConverter.mm:
900 (_shadowForShadowStyle):
901 (HTMLConverter::_addTableForElement):
902 * platform/graphics/SVGGlyph.cpp:
903 (WebCore::isCompatibleArabicForm):
904 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
905 (WebCore::AudioSourceProviderAVFObjC::createMix):
906 * platform/graphics/mac/FontMac.mm:
907 (WebCore::showLetterpressedGlyphsWithAdvances):
908 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
909 (-[WebSpeechSynthesisWrapper speakUtterance:]):
910 * platform/ios/WebCoreMotionManager.mm:
911 (-[WebCoreMotionManager initializeOnMainThread]):
912 * rendering/RenderTableSection.cpp:
913 (WebCore::RenderTableSection::spannedRows):
914 (WebCore::RenderTableSection::spannedColumns):
916 2014-12-06 peavo@outlook.com <peavo@outlook.com>
918 [WinCairo] Compile error, missing guard.
919 https://bugs.webkit.org/show_bug.cgi?id=139338
921 Reviewed by Alex Christensen.
923 There is missing a ENABLE(CSS_SELECTORS_LEVEL4) guard in CSSParser.cpp.
926 (WebCore::CSSParser::realLex):
928 2014-12-05 Chris Fleizach <cfleizach@apple.com>
930 AX: I cannot activate links on the mobile version of news.google.com
931 https://bugs.webkit.org/show_bug.cgi?id=139330
933 Reviewed by Simon Fraser.
935 This website only listens for touch events. VoiceOver normally dispatches click and mouse events,
936 so on iOS this falls and VoiceOver is not able to activate anything.
938 The solution here is to dispatch simulated touch down/up events.
940 Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html
942 * accessibility/AccessibilityObject.cpp:
943 (WebCore::AccessibilityObject::press):
944 (WebCore::AccessibilityObject::dispatchTouchEvent):
945 * accessibility/AccessibilityObject.h:
946 (WebCore::AccessibilityObject::isDetachedFromParent):
947 * page/EventHandler.h:
948 * page/ios/EventHandlerIOS.mm:
949 (WebCore::EventHandler::dispatchSimulatedTouchEvent):
950 * platform/ios/PlatformEventFactoryIOS.h:
951 * platform/ios/PlatformEventFactoryIOS.mm:
952 (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
953 (WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent):
955 2014-12-05 Myles C. Maxfield <mmaxfield@apple.com>
957 Directional single quotation marks are not rotated in vertical text
958 https://bugs.webkit.org/show_bug.cgi?id=138526
960 Reviewed by Darin Adler.
962 In vertical text, directional single quotation marks are not rotated along with
963 the rest of the letters.
965 Test: fast/text/vertical-quotation-marks.html
967 * platform/graphics/FontGlyphs.cpp:
968 (WebCore::shouldIgnoreRotation):
970 2014-12-05 Dhi Aurrahman <diorahman@rockybars.com>
972 Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags
973 https://bugs.webkit.org/show_bug.cgi?id=139014
975 Reviewed by Benjamin Poulain.
977 Consider each language range in :lang() that consists of an asterisk
978 immediately followed by an identifier beginning with an ASCII hyphen
979 as a valid input for the selector as specified in [1].
981 [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
983 Test: fast/css/parsing-css-lang.html
985 * css/CSSGrammar.y.in:
987 (WebCore::CSSParser::realLex):
989 2014-12-05 Simon Fraser <simon.fraser@apple.com>
991 Programmatic scrolling and content changes are not always synchronized
992 https://bugs.webkit.org/show_bug.cgi?id=139245
993 rdar://problem/18833612
995 Reviewed by Anders Carlsson.
997 For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
998 calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
999 scroll position to the scrolling thread.
1001 Once the scrolling thread commits, it calls back to the main thread via
1002 scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
1003 call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
1004 because some other scroll may have happened in the meantime; when the timer
1005 fires, it can sometimes restore a stale scroll position.
1007 Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
1008 for programmatic scrolls, since we know that requestScrollPositionUpdate()
1009 already did the updateScrollPositionAfterAsyncScroll().
1012 ManualTests/programmatic-scroll-flicker.html
1014 * page/FrameView.cpp:
1015 (WebCore::FrameView::reset): nullptr.
1016 (WebCore::FrameView::setScrollPosition): Ditto.
1017 (WebCore::FrameView::setWasScrolledByUser): Ditto.
1018 * page/scrolling/AsyncScrollingCoordinator.cpp:
1019 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
1020 isProgrammaticScroll just to make sure we use the same value for the duration of this function.
1021 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
1022 if this is a programmatic scroll.
1024 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1028 * platform/spi/mac/TUCallSPI.h:
1030 2014-12-05 Roger Fong <roger_fong@apple.com>
1032 [Win] proj files copying over too many resources..
1033 https://bugs.webkit.org/show_bug.cgi?id=139315.
1034 <rdar://problem/19148278>
1036 Reviewed by Brent Fulgham.
1038 * WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
1040 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1042 Use the system string for telephone number menu
1043 https://bugs.webkit.org/show_bug.cgi?id=139324
1044 <rdar://problem/18726471>
1046 * platform/spi/mac/TUCallSPI.h: Added.
1047 Actually add the SPI header from the last commit.
1049 2014-12-05 Tim Horton <timothy_horton@apple.com>
1051 Use the system string for telephone number menu
1052 https://bugs.webkit.org/show_bug.cgi?id=139324
1053 <rdar://problem/18726471>
1055 Reviewed by Anders Carlsson.
1057 * WebCore.xcodeproj/project.pbxproj:
1058 * platform/spi/mac/TUCallSPI.h: Added.
1061 2014-12-05 Jer Noble <jer.noble@apple.com>
1063 [MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update().
1064 https://bugs.webkit.org/show_bug.cgi?id=139316
1066 Reviewed by Eric Carlson.
1068 Similarly to our asynchronous error reporting, return the absolute value of the error code.
1070 * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1071 (WebCore::systemCodeForError):
1072 (WebCore::CDMSessionMediaSourceAVFObjC::update):
1074 2014-12-05 Anders Carlsson <andersca@apple.com>
1076 Fix build on Windows.
1078 * page/SessionIDHash.h:
1080 2014-12-05 Zalan Bujtas <zalan@apple.com>
1082 Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
1083 https://bugs.webkit.org/show_bug.cgi?id=139311
1085 Reviewed by Tim Horton.
1089 * rendering/RenderEmbeddedObject.cpp:
1090 (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
1092 2014-12-05 Andreas Kling <akling@apple.com>
1094 PassRef should deref on destruction if pointee was not moved.
1095 <https://webkit.org/b/139309>
1097 Reviewed by Antti Koivisto.
1099 Remove calls to PassRef::dropRef() since it's no longer necessary to manually
1100 notify PassRef that you didn't move the pointee.
1102 * rendering/RenderElement.cpp:
1103 (WebCore::RenderElement::createFor):
1104 (WebCore::RenderElement::setStyle):
1105 * style/StyleResolveTree.cpp:
1106 (WebCore::Style::resolveTree):
1108 2014-12-05 Benjamin Poulain <bpoulain@apple.com>
1110 Fix style sharing with the "type" and "readonly" attributes
1111 https://bugs.webkit.org/show_bug.cgi?id=139283
1113 Reviewed by Antti Koivisto.
1115 There are two bugs adressed with this patch:
1116 1) The attributes "type" and "readonly" where only handled correctly
1117 for input elements. For everything else, they could incorrectly
1118 be ignored for style sharing.
1119 2) The handling of attributes was incorrect for selector lists, leading
1120 to various bugs (incorrect style sharing in some cases, disabling
1121 style sharing on valid cases).
1123 For [1], the problem was that attribute checking had been limited to
1124 StyleResolver::canShareStyleWithControl(). That function is for handling
1125 the special states of input element. For any other element, the attributes
1126 were simply ignored.
1128 For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector()
1129 was not recursive, which caused it to ignored any nested selector list. This used to be
1130 correct but since we have advanced selectors we can no longer assumed selectors are not nested.
1132 A second issue was that any attribute in a selector list was causing us to fall back
1133 to the slow case. Now that we have the fast :matches(), we really don't want that.
1135 The function containsUncommonAttributeSelector() was transformed into a recursive function
1136 tracking where we are in the selector.
1138 At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then
1139 updated on the stack of each recursive call.
1141 For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse
1142 into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag
1143 is set to false to evaluate any following selectors.
1144 After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag
1145 is back to true and we can continue evaluating with the curren top level state.
1147 From some logging, I discovered that the attribute handling is way too aggressive.
1148 This is not a regression and I cannot fix that easily so I left a fixme.
1150 Tests: fast/css/data-attribute-style-sharing-1.html
1151 fast/css/data-attribute-style-sharing-2.html
1152 fast/css/data-attribute-style-sharing-3.html
1153 fast/css/data-attribute-style-sharing-4.html
1154 fast/css/data-attribute-style-sharing-5.html
1155 fast/css/data-attribute-style-sharing-6.html
1156 fast/css/data-attribute-style-sharing-7.html
1157 fast/css/readonly-attribute-style-sharing-1.html
1158 fast/css/readonly-attribute-style-sharing-2.html
1159 fast/css/readonly-attribute-style-sharing-3.html
1160 fast/css/readonly-attribute-style-sharing-4.html
1161 fast/css/readonly-attribute-style-sharing-5.html
1162 fast/css/readonly-attribute-style-sharing-6.html
1163 fast/css/readonly-attribute-style-sharing-7.html
1164 fast/css/type-attribute-style-sharing-1.html
1165 fast/css/type-attribute-style-sharing-2.html
1166 fast/css/type-attribute-style-sharing-3.html
1167 fast/css/type-attribute-style-sharing-4.html
1168 fast/css/type-attribute-style-sharing-5.html
1169 fast/css/type-attribute-style-sharing-6.html
1170 fast/css/type-attribute-style-sharing-7.html
1173 (WebCore::containsUncommonAttributeSelector):
1174 (WebCore::RuleData::RuleData):
1175 (WebCore::selectorListContainsAttributeSelector): Deleted.
1176 * css/StyleResolver.cpp:
1177 (WebCore::StyleResolver::canShareStyleWithControl):
1178 (WebCore::StyleResolver::canShareStyleWithElement):
1180 2014-12-05 Jer Noble <jer.noble@apple.com>
1182 [WTF] MediaTime should support round-tripping from and to doubles.
1183 https://bugs.webkit.org/show_bug.cgi?id=139248
1185 Reviewed by Eric Carlson.
1187 Check whether the MediaTime's underlying data is floating point before converting
1188 to a CMTime or QTTime.
1190 * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
1191 (WebCore::toCMTime):
1192 * platform/graphics/mac/MediaTimeQTKit.mm:
1193 (WebCore::toQTTime):
1195 2014-12-05 Anders Carlsson <andersca@apple.com>
1197 Add a private browsing mode to MiniBrowser
1198 https://bugs.webkit.org/show_bug.cgi?id=139308
1200 Reviewed by Sam Weinig.
1202 Use -1 instead of -2 for the deleted value.
1204 * page/SessionIDHash.h:
1206 2014-12-05 Chris Dumez <cdumez@apple.com>
1208 Move 'text-emphasis-style' CSS property to the new StyleBuilder
1209 https://bugs.webkit.org/show_bug.cgi?id=139285
1211 Reviewed by Sam Weinig.
1213 Move 'text-emphasis-style' CSS property to the new StyleBuilder by
1216 No new tests, no behavior change.
1218 * css/CSSPropertyNames.in:
1219 * css/DeprecatedStyleBuilder.cpp:
1220 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1221 (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted.
1222 (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted.
1223 (WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted.
1224 (WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted.
1225 * css/StyleBuilderCustom.h:
1226 (WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
1227 (WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
1228 (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
1230 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1232 [iOS] remove "enter optimized fullscreen" gesture
1233 https://bugs.webkit.org/show_bug.cgi?id=139301
1235 Reviewed by Jer Noble.
1237 * Modules/mediacontrols/mediaControlsiOS.js:
1238 (ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer.
1240 2014-12-05 Beth Dakin <bdakin@apple.com>
1242 rdar://problem/19156353 Additional build-fixes needed.
1244 Rubber-stamped by Tim Horton.
1246 This is a bit unfortunate, but we need to always forward-declare this for now.
1247 * platform/spi/mac/QuickLookMacSPI.h:
1249 2014-12-05 David Kilzer <ddkilzer@apple.com>
1251 FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
1252 <http://webkit.org/b/139286>
1254 Reviewed by Daniel Bates.
1256 * Configurations/FeatureDefines.xcconfig: Switch back to using
1257 PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.
1259 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1261 [iOS] allow host application to opt-out of alternate fullscreen pt. 2
1262 https://bugs.webkit.org/show_bug.cgi?id=139227
1264 Reviewed by Jer Noble and Anders Carlsson
1266 * WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of
1267 WebVideoFullscreenInterfaceAVKit::setupFullscreen.
1269 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1270 (-[WebVideoFullscreenController enterFullscreen:mode:]): Update for
1271 WebVideoFullscreenInterfaceAVKit::setupFullscreen change.
1273 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen.
1274 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1275 (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
1277 2014-12-05 Shivakumar JM <shiva.jm@samsung.com>
1279 Fix build warning in WebCore/platform/graphics module
1280 https://bugs.webkit.org/show_bug.cgi?id=139290
1282 Reviewed by Carlos Garcia Campos.
1284 Fix a build warning by removing parameter name from function.
1286 No new tests, no behavior change.
1288 * platform/graphics/freetype/FontCacheFreeType.cpp:
1289 (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
1291 2014-12-05 sungmin cho <sungmin17.cho@lge.com>
1293 GraphicsLayerTextureMapper: Rename parameter to be more clear
1294 https://bugs.webkit.org/show_bug.cgi?id=139288
1296 Reviewed by Martin Robinson.
1298 Rename 'media' to 'platformLayer'.
1300 No new tests, no change in functionality.
1302 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1303 (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
1305 2014-12-04 Mark Rowe <mrowe@apple.com>
1307 Fix pre-Yosemite builds.
1309 The #ifs in two SPI wrapper headers were incorrect, resulting in code being included
1310 prior to Yosemite that required Yosemite to compile.
1312 * platform/spi/mac/NSSharingServicePickerSPI.h:
1313 * platform/spi/mac/NSSharingServiceSPI.h:
1315 2014-12-02 Brian J. Burg <burg@cs.washington.edu>
1317 Web Inspector: timeline probe records have inaccurate per-probe hit counts
1318 https://bugs.webkit.org/show_bug.cgi?id=138976
1320 Reviewed by Joseph Pecoraro.
1322 Update the signature for breakpointActionProbe to take batchId and sampleId.
1323 Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
1325 * inspector/InspectorTimelineAgent.cpp:
1326 (WebCore::InspectorTimelineAgent::breakpointActionProbe):
1327 * inspector/InspectorTimelineAgent.h:
1328 * inspector/TimelineRecordFactory.cpp:
1329 (WebCore::TimelineRecordFactory::createProbeSampleData):
1330 * inspector/TimelineRecordFactory.h:
1332 2014-12-04 Adenilson Cavalcanti <cavalcantii@gmail.com>
1334 Groove/inset/outset borders show solid if the color is black
1335 https://bugs.webkit.org/show_bug.cgi?id=58608
1337 Reviewed by Simon Fraser.
1339 Test: fast/borders/mixed-border-style2.html
1341 This patch will lighten/darken the border side colors, handling
1342 border decoration in a similar way as Firefox does.
1344 * rendering/RenderObject.cpp:
1345 (WebCore::RenderObject::drawLineForBoxSide):
1346 (WebCore::RenderObject::calculateBorderStyleColor):
1347 * rendering/RenderObject.h:
1349 2014-12-04 Chris Dumez <cdumez@apple.com>
1351 Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder
1352 https://bugs.webkit.org/show_bug.cgi?id=139250
1354 Reviewed by Sam Weinig.
1356 Move 'aspect-ratio' CSS property to the new StyleBuilder by
1359 No new tests, no behavior change.
1361 * css/CSSPropertyNames.in:
1362 * css/DeprecatedStyleBuilder.cpp:
1363 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1364 (WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted.
1365 (WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted.
1366 (WebCore::ApplyPropertyAspectRatio::applyValue): Deleted.
1367 (WebCore::ApplyPropertyAspectRatio::createHandler): Deleted.
1368 * css/StyleBuilderCustom.h:
1369 (WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
1370 (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
1371 (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
1373 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1375 Further fix the 32-bit build.
1377 * page/mac/TextIndicatorWindow.mm:
1378 (WebCore::TextIndicatorWindow::setTextIndicator):
1380 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1382 Fix the 32-bit build.
1384 * page/mac/TextIndicatorWindow.h:
1385 * page/mac/TextIndicatorWindow.mm:
1386 (WebCore::TextIndicatorWindow::setTextIndicator):
1388 2014-12-04 Tim Horton <timothy_horton@apple.com>
1390 TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
1391 https://bugs.webkit.org/show_bug.cgi?id=139252
1392 <rdar://problem/19140827>
1394 Reviewed by Anders Carlsson.
1397 * page/TextIndicator.cpp:
1398 (WebCore::TextIndicator::createWithSelectionInFrame):
1399 (WebCore::TextIndicator::TextIndicator):
1400 * page/TextIndicator.h:
1401 (WebCore::TextIndicator::selectionRectInWindowCoordinates):
1402 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates):
1403 (WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted.
1404 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted.
1405 Go back to keeping the rects in "window" coordinates.
1407 * page/mac/TextIndicatorWindow.h:
1408 * page/mac/TextIndicatorWindow.mm:
1409 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
1410 (WebCore::TextIndicatorWindow::setTextIndicator):
1411 Let callers pass in the contentRect instead of trying to share the code
1412 to compute it, since it needs to be different for legacy and modern WebKit.
1414 2014-12-04 Oliver Hunt <oliver@apple.com>
1416 Serialization of MapData object provides unsafe access to internal types
1417 https://bugs.webkit.org/show_bug.cgi?id=138653
1419 Reviewed by Geoffrey Garen.
1421 We now keep the value portion of the key/value pair in MapData as a
1422 separate stack. This allows us to maintain the spec semantic of
1423 "atomic" serialisation of the key/value pair without retaining the
1424 use of a potentially invalid iterator.
1426 * bindings/js/SerializedScriptValue.cpp:
1427 (WebCore::CloneSerializer::serialize):
1429 2014-12-04 Radu Stavila <stavila@adobe.com>
1431 [SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image
1432 https://bugs.webkit.org/show_bug.cgi?id=139092
1434 Reviewed by Simon Fraser.
1436 This patch improves the -webkit-mask-image property by allowing it to reference
1437 a <mask> element defined in an inline or external SVG document.
1438 Up until now, each image to be used as a mask consisted of a FillLayer object
1439 whose m_image member represented the mask. Now, in order to accomodate
1440 <mask> elements referenced by a fragment identifier (e.g. file.svg#mask1)
1441 a new class was created (MaskImageOperation) and added as a member of the
1442 FillLayer. As such, from now on, all FillLayer objects used for masking will
1443 store the masking information in this new member.
1444 When parsing the -webkit-mask-image property (or the -webkit-mask shorthand)
1445 a new MaskImageOperation object is created for each image. If the value represents
1446 an external URL, a pending SVG document will be created which will be loaded
1447 during the phase that loads the pending resources. When the download is complete,
1448 the MaskImageOperation is notified by the CachedSVGDocument class and checks if
1449 the received download is a valid SVG and the requested fragment identifier
1450 actually exists and identifies a <mask> element. If it does, that element's
1451 renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers.
1452 Otherwise, the MaskImageOperation class will use the already downloaded data
1453 buffer to create a CachedImage from it and use that instead, basically emulating
1454 the previous behavior, when only images were accepted. This ensures that all existing
1455 behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting
1456 generated images (e.g. linear-gradient) works as it did before.
1458 No new tests required, this patch doesn't change any current functionality.
1459 It only adds support for referencing <mask> elements for the -webkit-mask-image
1460 property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682.
1463 * WebCore.vcxproj/WebCore.vcxproj:
1464 * WebCore.vcxproj/WebCore.vcxproj.filters:
1465 * WebCore.xcodeproj/project.pbxproj:
1467 (WebCore::CSSValue::cssText):
1468 (WebCore::CSSValue::destroy):
1470 (WebCore::CSSValue::isWebKitCSSResourceValue):
1471 * css/StyleResolver.cpp:
1472 (WebCore::StyleResolver::State::clear):
1473 (WebCore::StyleResolver::createMaskImageOperations):
1474 * css/StyleResolver.h:
1475 (WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments):
1476 * css/WebKitCSSResourceValue.cpp: Added.
1477 (WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue):
1478 (WebCore::WebKitCSSResourceValue::customCSSText):
1479 (WebCore::WebKitCSSResourceValue::isCSSValueNone):
1480 * css/WebKitCSSResourceValue.h: Added.
1481 (WebCore::WebKitCSSResourceValue::create):
1482 (WebCore::WebKitCSSResourceValue::innerValue):
1483 * loader/cache/CachedResourceLoader.cpp:
1484 (WebCore::CachedResourceLoader::addCachedResource):
1485 * loader/cache/CachedResourceLoader.h:
1486 * loader/cache/CachedSVGDocument.cpp:
1487 (WebCore::CachedSVGDocument::CachedSVGDocument):
1488 (WebCore::CachedSVGDocument::finishLoading):
1489 * loader/cache/CachedSVGDocument.h:
1490 * loader/cache/CachedSVGDocumentReference.cpp:
1491 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1492 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1493 (WebCore::CachedSVGDocumentReference::load):
1494 * loader/cache/CachedSVGDocumentReference.h:
1495 * page/FrameView.cpp:
1496 (WebCore::FrameView::isSVGDocument):
1499 (WebCore::Page::createPageFromBuffer):
1501 * platform/ScrollView.h:
1502 (WebCore::ScrollView::isSVGDocument):
1503 * platform/graphics/MaskImageOperation.cpp: Added.
1504 (WebCore::MaskImageOperation::create):
1505 (WebCore::MaskImageOperation::MaskImageOperation):
1506 (WebCore::MaskImageOperation::~MaskImageOperation):
1507 (WebCore::MaskImageOperation::isCSSValueNone):
1508 (WebCore::MaskImageOperation::cssValue):
1509 (WebCore::MaskImageOperation::isMaskLoaded):
1510 (WebCore::MaskImageOperation::setRenderLayerImageClient):
1511 (WebCore::MaskImageOperation::addRendererImageClient):
1512 (WebCore::MaskImageOperation::removeRendererImageClient):
1513 (WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference):
1514 (WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished
1515 downloading and checks if it can find a valid <mask> element.
1516 (WebCore::MaskImageOperation::drawMask):
1517 (WebCore::MaskImageOperation::getSVGMasker):
1518 * platform/graphics/MaskImageOperation.h: Added.
1519 * rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in
1520 order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters.
1521 (WebCore::BackgroundImageGeometry::setNoRepeatX):
1522 (WebCore::BackgroundImageGeometry::setNoRepeatY):
1523 (WebCore::BackgroundImageGeometry::useFixedAttachment):
1524 (WebCore::BackgroundImageGeometry::clip):
1525 (WebCore::BackgroundImageGeometry::relativePhase):
1526 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted.
1527 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted.
1528 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted.
1529 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted.
1530 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted.
1531 * rendering/RenderBoxModelObject.h:
1532 (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
1533 (WebCore::BackgroundImageGeometry::destOrigin):
1534 (WebCore::BackgroundImageGeometry::setDestOrigin):
1535 (WebCore::BackgroundImageGeometry::destRect):
1536 (WebCore::BackgroundImageGeometry::setDestRect):
1537 (WebCore::BackgroundImageGeometry::phase):
1538 (WebCore::BackgroundImageGeometry::setPhase):
1539 (WebCore::BackgroundImageGeometry::tileSize):
1540 (WebCore::BackgroundImageGeometry::setTileSize):
1541 (WebCore::BackgroundImageGeometry::spaceSize):
1542 (WebCore::BackgroundImageGeometry::setSpaceSize):
1543 (WebCore::BackgroundImageGeometry::setPhaseX):
1544 (WebCore::BackgroundImageGeometry::setPhaseY):
1545 (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry):
1546 (WebCore::BackgroundImageGeometry::hasNonLocalGeometry):
1547 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
1548 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin): Deleted.
1549 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin): Deleted.
1550 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect): Deleted.
1551 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect): Deleted.
1552 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase): Deleted.
1553 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase): Deleted.
1554 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize): Deleted.
1555 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize): Deleted.
1556 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize): Deleted.
1557 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize): Deleted.
1558 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX): Deleted.
1559 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY): Deleted.
1560 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
1561 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry): Deleted.
1562 * rendering/RenderLayer.cpp:
1563 (WebCore::RenderLayer::RenderLayer):
1564 (WebCore::RenderLayer::~RenderLayer):
1565 * rendering/RenderLayer.h:
1566 * rendering/RenderLayerMaskImageInfo.cpp: Added.
1567 (WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers.
1568 (WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer.
1569 (WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary).
1570 (WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer.
1571 (WebCore::RenderLayer::MaskImageInfo::MaskImageInfo):
1572 (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
1573 (WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint.
1574 (WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint.
1575 (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients.
1576 Updates list of internal and external SVG references.
1577 (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references.
1578 * rendering/RenderLayerMaskImageInfo.h: Added.
1579 * rendering/RenderObject.h:
1580 (WebCore::RenderObject::isRenderSVGResourceMasker):
1581 * rendering/style/FillLayer.cpp:
1582 (WebCore::FillLayer::FillLayer):
1583 (WebCore::FillLayer::operator=):
1584 (WebCore::FillLayer::operator==):
1585 (WebCore::FillLayer::cullEmptyLayers):
1586 (WebCore::FillLayer::hasNonEmptyMaskImage):
1587 (WebCore::FillLayer::imagesAreLoaded):
1588 * rendering/style/FillLayer.h:
1589 (WebCore::FillLayer::maskImage):
1590 (WebCore::FillLayer::imageOrMaskImage):
1591 (WebCore::FillLayer::setMaskImage):
1592 (WebCore::FillLayer::clearMaskImage):
1593 (WebCore::FillLayer::hasMaskImage):
1594 * rendering/svg/RenderSVGResourceMasker.cpp:
1595 (WebCore::RenderSVGResourceMasker::applySVGMask):
1596 (WebCore::RenderSVGResourceMasker::applyResource):
1597 (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1598 * rendering/svg/RenderSVGResourceMasker.h:
1599 * svg/SVGMaskElement.cpp:
1600 (WebCore::SVGMaskElement::createElementRenderer):
1601 (WebCore::SVGMaskElement::addClientRenderLayer):
1602 (WebCore::SVGMaskElement::removeClientRenderLayer):
1603 * svg/SVGMaskElement.h:
1604 * svg/SVGUseElement.cpp:
1605 (WebCore::SVGUseElement::setCachedDocument):
1606 * svg/graphics/SVGImage.cpp:
1607 (WebCore::SVGImage::dataChanged):
1609 2014-12-04 Commit Queue <commit-queue@webkit.org>
1611 Unreviewed, rolling out r176789.
1612 https://bugs.webkit.org/show_bug.cgi?id=139255
1614 Broke the non Mac-WK2 builds (Requested by stavila on
1619 "Remove isSpecifiedFont boolean from FontDescription"
1620 https://bugs.webkit.org/show_bug.cgi?id=139233
1621 http://trac.webkit.org/changeset/176789
1623 2014-12-03 Antti Koivisto <antti@apple.com>
1625 Remove isSpecifiedFont boolean from FontDescription
1626 https://bugs.webkit.org/show_bug.cgi?id=139233
1628 Reviewed by Andreas Kling.
1632 * css/StyleBuilderCustom.h:
1633 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
1634 (WebCore::StyleBuilderCustom::applyValueFontFamily):
1635 * platform/graphics/FontDescription.cpp:
1636 (WebCore::genericFamiliesSet):
1637 (WebCore::FontDescription::hasGenericFirstFamily):
1639 Add a function to test for generic families.
1641 * platform/graphics/FontDescription.h:
1642 (WebCore::FontDescription::FontDescription):
1643 (WebCore::FontDescription::setTextRenderingMode):
1644 (WebCore::FontDescription::operator==):
1645 (WebCore::FontDescription::isSpecifiedFont): Deleted.
1646 (WebCore::FontDescription::setIsSpecifiedFont): Deleted.
1647 * rendering/RenderText.cpp:
1648 (WebCore::RenderText::computeUseBackslashAsYenSymbol):
1650 This is the only client.
1651 Figure out the equivalent information dynamically if needed.
1653 2014-12-03 Joonghun Park <jh718.park@samsung.com>
1655 Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
1656 https://bugs.webkit.org/show_bug.cgi?id=139019
1658 Reviewed by Darin Adler.
1660 No new tests, no behavior changes.
1662 * dom/DataTransfer.cpp:
1663 (WebCore::DataTransfer::DataTransfer):
1664 * dom/DataTransfer.h:
1665 * editing/Editor.cpp:
1666 (WebCore::Editor::dispatchCPPEvent):
1667 * page/mac/EventHandlerMac.mm:
1668 (WebCore::EventHandler::createDraggingDataTransfer):
1669 * platform/Pasteboard.h:
1670 * platform/efl/PasteboardEfl.cpp:
1671 (WebCore::Pasteboard::createForCopyAndPaste):
1672 (WebCore::Pasteboard::createPrivate):
1673 (WebCore::Pasteboard::createForDragAndDrop):
1674 * platform/gtk/PasteboardGtk.cpp:
1675 (WebCore::Pasteboard::createForCopyAndPaste):
1676 (WebCore::Pasteboard::createForGlobalSelection):
1677 (WebCore::Pasteboard::createPrivate):
1678 (WebCore::Pasteboard::createForDragAndDrop):
1679 (WebCore::Pasteboard::create): Deleted.
1680 * platform/ios/PasteboardIOS.mm:
1681 (WebCore::Pasteboard::createForCopyAndPaste):
1682 (WebCore::Pasteboard::createPrivate):
1683 * platform/mac/PasteboardMac.mm:
1684 (WebCore::Pasteboard::createForCopyAndPaste):
1685 (WebCore::Pasteboard::createPrivate):
1686 (WebCore::Pasteboard::createForDragAndDrop):
1687 (WebCore::Pasteboard::create): Deleted.
1688 * platform/win/PasteboardWin.cpp:
1689 (WebCore::Pasteboard::createForCopyAndPaste):
1690 (WebCore::Pasteboard::createPrivate):
1691 (WebCore::Pasteboard::createForDragAndDrop):
1693 2014-12-03 Benjamin Poulain <bpoulain@apple.com>
1695 Get rid of FrameLoaderClient::dispatchWillRequestResource
1696 https://bugs.webkit.org/show_bug.cgi?id=139235
1698 Reviewed by Alexey Proskuryakov.
1702 * loader/FrameLoaderClient.h:
1703 (WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.
1704 * loader/cache/CachedResourceLoader.cpp:
1705 (WebCore::CachedResourceLoader::requestResource):
1707 2014-12-03 Myles C. Maxfield <mmaxfield@apple.com>
1709 List markers in RTL languages do not draw the first character.
1710 https://bugs.webkit.org/show_bug.cgi?id=139244
1712 Reviewed by Simon Fraser.
1714 Off-by-one error when reversing the string (from LTR to RTL)
1716 Test: fast/lists/rtl-marker.html
1718 * rendering/RenderListMarker.cpp:
1719 (WebCore::RenderListMarker::paint):
1721 2014-12-03 Beth Dakin <bdakin@apple.com>
1723 <input> elements get whitespace action menu instead of editable text menu
1724 https://bugs.webkit.org/show_bug.cgi?id=139241
1726 rdar://problem/19072083
1728 Reviewed by Sam Weinig.
1730 Since we will hit test form controls as form controls, we need a new function to
1731 determine if the hit point is over text inside that form control or not.
1733 * rendering/HitTestResult.cpp:
1734 (WebCore::HitTestResult::isOverTextInsideFormControlElement):
1735 * rendering/HitTestResult.h:
1737 2014-12-03 Tim Horton <timothy_horton@apple.com>
1739 Keyboard input should be disabled in the preview popover
1740 https://bugs.webkit.org/show_bug.cgi?id=139219
1741 <rdar://problem/19052381>
1743 Reviewed by Anders Carlsson.
1745 * page/ChromeClient.h:
1746 (WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):
1747 * page/EventHandler.cpp:
1748 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
1749 Allow ChromeClient to disable the dispatch of "fake" mouseMove events
1750 that happens during scrolling.
1752 2014-12-03 Antti Koivisto <antti@apple.com>
1754 Remove genericFamily enum from FontDescription
1755 https://bugs.webkit.org/show_bug.cgi?id=139207
1757 Reviewed by Andreas Kling.
1759 We use predefined AtomicStrings for generic families. The side enum adds no information.
1761 * css/CSSFontSelector.cpp:
1762 (WebCore::resolveGenericFamily):
1763 (WebCore::CSSFontSelector::getFontData):
1765 Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.
1767 (WebCore::CSSFontSelector::resolvesFamilyFor):
1768 (WebCore::fontDataForGenericFamily): Deleted.
1769 * css/DeprecatedStyleBuilder.cpp:
1770 (WebCore::ApplyPropertyFontFamily::applyInheritValue):
1771 (WebCore::ApplyPropertyFontFamily::applyInitialValue):
1772 (WebCore::ApplyPropertyFontFamily::applyValue):
1773 * css/StyleResolver.cpp:
1774 (WebCore::StyleResolver::checkForGenericFamilyChange):
1776 Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.
1778 (WebCore::StyleResolver::initializeFontStyle):
1779 * platform/graphics/FontDescription.h:
1780 (WebCore::FontDescription::FontDescription):
1781 (WebCore::FontDescription::useFixedDefaultSize):
1782 (WebCore::FontDescription::setWeight):
1783 (WebCore::FontDescription::equalForTextAutoSizing):
1784 (WebCore::FontDescription::operator==):
1785 (WebCore::FontDescription::genericFamily): Deleted.
1786 (WebCore::FontDescription::setGenericFamily): Deleted.
1787 * platform/mac/ThemeMac.mm:
1788 (WebCore::ThemeMac::controlFont):
1789 * rendering/RenderTheme.cpp:
1790 (WebCore::RenderTheme::adjustStyle):
1792 Reset the lineheight unconditionally for buttons.
1793 This always happened before because the explicitly set generic family made the font compare false.
1795 * rendering/RenderThemeIOS.mm:
1796 (WebCore::RenderThemeIOS::systemFont):
1797 * rendering/RenderThemeMac.mm:
1798 (WebCore::RenderThemeMac::systemFont):
1799 (WebCore::RenderThemeMac::setFontFromControlSize):
1800 * style/StyleResolveForDocument.cpp:
1801 (WebCore::Style::resolveForDocument):
1803 Resolve document style for final value immediately as it can't be affected by @font-face rules.
1805 2014-12-03 Zalan Bujtas <zalan@apple.com>
1807 ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
1808 https://bugs.webkit.org/show_bug.cgi?id=139188
1809 rdar://problem/18502182
1811 Reviewed by David Hyatt.
1813 This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
1814 with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
1815 (descendant's parent is expected to be a RenderBlockFlow)
1817 Test: fast/multicol/svg-content-as-column-spanner-crash.html
1819 * rendering/RenderMultiColumnFlowThread.cpp:
1820 (WebCore::isValidColumnSpanner):
1822 2014-12-03 peavo@outlook.com <peavo@outlook.com>
1824 [TexMap] Redundant method in GraphicsLayerTextureMapper.
1825 https://bugs.webkit.org/show_bug.cgi?id=138005
1827 Reviewed by Alex Christensen.
1829 The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
1830 instead of the GraphicsLayerTextureMapper method startedAnimation().
1832 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1833 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1834 (WebCore::GraphicsLayerTextureMapper::addAnimation):
1835 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1837 2014-12-03 Jeremy Jones <jeremyj@apple.com>
1839 Subtitle menu should only appear when useful.
1840 https://bugs.webkit.org/show_bug.cgi?id=139133
1842 Reviewed by Eric Carlson.
1844 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1845 (-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
1846 (-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.
1848 2014-12-03 Joanmarie Diggs <jdiggs@igalia.com>
1850 AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
1851 https://bugs.webkit.org/show_bug.cgi?id=139071
1853 Reviewed by Chris Fleizach.
1855 Adds a new InlineRole accessibility role type for non-focusable inline
1856 elements which have an event handler or attribute suggesting possible
1857 inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
1858 EFL. On the Mac, it is currently ignored to preserve existing behavior.
1860 Added new test cases to the existing roles-exposed.html test.
1862 * accessibility/AccessibilityObject.cpp:
1863 (WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.
1864 * accessibility/AccessibilityObject.h: Added InlineRole.
1865 * accessibility/AccessibilityRenderObject.cpp:
1866 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.
1867 * accessibility/atk/AccessibilityObjectAtk.cpp:
1868 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.
1869 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1871 * accessibility/mac/AccessibilityObjectMac.mm:
1872 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.
1873 * html/HTMLTagNames.in: Added 'time'.
1875 2014-12-03 Jer Noble <jer.noble@apple.com>
1877 [Mac] Hang when calling -[AVAsset resolvedURL].
1878 https://bugs.webkit.org/show_bug.cgi?id=139223
1880 Reviewed by Eric Carlson.
1882 On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
1883 time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
1884 of the property before requesting it.
1886 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1887 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
1888 (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
1889 (WebCore::assetMetadataKeyNames): Add @"resolvedURL".
1891 2014-12-03 Csaba Osztrogonác <ossy@webkit.org>
1893 URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.
1895 * css/CSSParser.cpp:
1896 (WebCore::CSSParser::parseViewportProperty):
1898 2014-12-03 Chris Dumez <cdumez@apple.com>
1900 Move 'display' CSS property to the new StyleBuilder
1901 https://bugs.webkit.org/show_bug.cgi?id=139218
1903 Reviewed by Antti Koivisto.
1905 Move 'display' CSS property to the new StyleBuilder.
1907 No new tests, no behavior change.
1909 * css/CSSPropertyNames.in:
1910 * css/DeprecatedStyleBuilder.cpp:
1911 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1912 (WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
1913 (WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
1914 (WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
1915 (WebCore::ApplyPropertyDisplay::applyValue): Deleted.
1916 (WebCore::ApplyPropertyDisplay::createHandler): Deleted.
1917 * css/StyleBuilderCustom.h:
1918 (WebCore::StyleBuilderCustom::isValidDisplayValue):
1919 (WebCore::StyleBuilderCustom::applyInheritDisplay):
1920 (WebCore::StyleBuilderCustom::applyValueDisplay):
1922 Add support for passing multiple values for Custom option, e.g.:
1923 'Custom=Inherit|Value'. This was useful as we did not need custom
1924 code for display's initial value.
1926 2014-12-03 Chris Dumez <cdumez@apple.com>
1928 Modernize the CSSParser code
1929 https://bugs.webkit.org/show_bug.cgi?id=139209
1931 Reviewed by Antti Koivisto.
1933 Modernize the CSSParser code by:
1934 - Using more references instead of pointers
1935 - Using nullptr instead of 0
1937 No new tests, no behavior change.
1939 2014-12-03 David Kilzer <ddkilzer@apple.com>
1941 [iOS] REGRESSION (r176622): WebCore fails to link
1943 Speculative fix for the following build failure:
1946 Undefined symbols for architecture armv7s:
1947 "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:
1948 __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o
1950 * bindings/js/JSDeviceMotionEventCustom.cpp: Include
1951 <runtime/IdentifierInlines.h> to define missing symbol.
1953 2014-12-02 Dean Jackson <dino@apple.com>
1955 [Media] Audio content shouldn't have fullscreen buttons, even if in a video element
1956 https://bugs.webkit.org/show_bug.cgi?id=139200
1957 <rdar://problem/18914506>
1959 Reviewed by Eric Carlson.
1961 An audio-only resource, even if loaded into a <video> element, should not
1962 present the fullscreen or optimised fullscreen controls. This includes a
1963 MediaDocument, which is always a <video> element. We can detect this by
1964 examining the length of the videoTracks property as our content loads.
1966 Test: media/audio-as-video-fullscreen.html
1968 * Modules/mediacontrols/mediaControlsApple.js:
1969 (Controller): Initialize a hasVisualMedia to false.
1970 (Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
1971 (Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
1972 updateOptimizedFullscreenButton methods into this single spot, and check for
1974 (Controller.prototype.updateFullscreenButton): Deleted.
1975 (Controller.prototype.updateOptimizedFullscreenButton): Deleted.
1977 * Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.
1979 2014-12-02 Dean Jackson <dino@apple.com>
1981 Missing support for innerHTML on SVGElement
1982 https://bugs.webkit.org/show_bug.cgi?id=136903
1984 Unreviewed followup from r176630. Minor style nits that I missed in my review.
1986 * dom/Element.h: Remove unnecessary parameter name.
1987 * html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.
1988 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):
1990 2014-12-03 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
1992 [EFL] Add subtle crypto to the build system
1993 https://bugs.webkit.org/show_bug.cgi?id=138612
1995 Reviewed by Csaba Osztrogonác.
1997 It is obvious to make Efl use GnuTLS as well,
1998 and since there seems no reason why to separate
1999 Efl and Gtk implementations from each other, I
2000 also propose renaming the gtk directory and file
2003 No new tests needed.
2005 * PlatformEfl.cmake:
2006 * PlatformGTK.cmake:
2007 * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.
2008 (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
2009 (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
2010 * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.
2011 (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
2012 (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
2013 * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.
2014 (WebCore::getGnutlsDigestAlgorithm):
2015 (WebCore::calculateSignature):
2016 (WebCore::CryptoAlgorithmHMAC::platformSign):
2017 (WebCore::CryptoAlgorithmHMAC::platformVerify):
2018 * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.
2019 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2020 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
2021 * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.
2022 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
2023 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
2024 * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.
2025 (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
2026 (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
2027 * crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.
2028 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2029 * crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.
2030 (WebCore::CryptoDigest::CryptoDigest):
2031 (WebCore::CryptoDigest::~CryptoDigest):
2032 (WebCore::CryptoDigest::create):
2033 (WebCore::CryptoDigest::addBytes):
2034 (WebCore::CryptoDigest::computeHash):
2035 * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.
2036 (WebCore::CryptoKeyRSA::CryptoKeyRSA):
2037 (WebCore::CryptoKeyRSA::create):
2038 (WebCore::CryptoKeyRSA::~CryptoKeyRSA):
2039 (WebCore::CryptoKeyRSA::restrictToHash):
2040 (WebCore::CryptoKeyRSA::isRestrictedToHash):
2041 (WebCore::CryptoKeyRSA::keySizeInBits):
2042 (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
2043 (WebCore::CryptoKeyRSA::exportData):
2044 (WebCore::CryptoKeyRSA::generatePair):
2045 * crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.
2046 (WebCore::getDefaultWebCryptoMasterKey):
2047 (WebCore::wrapSerializedCryptoKey):
2048 (WebCore::unwrapSerializedCryptoKey):
2049 * crypto/keys/CryptoKeyRSA.h:
2051 2014-12-02 Benjamin Poulain <benjamin@webkit.org>
2053 Little cleanup of the default stylesheet
2054 https://bugs.webkit.org/show_bug.cgi?id=139168
2056 Reviewed by Antti Koivisto.
2058 The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
2059 only the bits that do not change behaviors and have positive perf and readability impact.
2061 I have limited :matches() to attributes for now. The idea is to only target
2062 simple selectors that are not used for filtering by the collectors.
2063 We should eventually clean up more cases, one thing at a time.
2065 Tests: fast/css/map-tag-default-display.html
2066 fast/selectors/map-tag-default-display.html
2070 map was explicitely setting its display to inline. Remove that since it is the default.
2080 (article, aside, footer, header, hgroup, main, nav, section): Deleted.
2082 (head, link, meta, script, style, title):
2083 (address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
2084 Group the standard blocks in a single rule.
2086 (input:matches([type="hidden"], [type="image"], [type="file"])):
2087 (input:matches([type="radio"], [type="checkbox"])):
2088 (input:matches([type="button"], [type="submit"], [type="reset"])):
2089 (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
2090 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
2091 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
2092 (input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
2093 (input:matches([type="checkbox"], [type="radio"]):checked):
2094 (input:matches([type="checkbox"], [type="radio"]):checked:disabled):
2095 (select:matches([size], [multiple], [size][multiple])):
2096 (select:matches([size="0"], [size="1"])):
2097 (input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
2098 (input[type="radio"], input[type="checkbox"]): Deleted.
2099 (input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
2100 (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
2101 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
2102 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
2103 (input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted.
2104 (input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
2105 (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
2106 (select[size][multiple]): Deleted.
2107 (select[size="1"]): Deleted.
2108 Group every selector lists that only differentiates complex selectors through attributes
2109 into a simple complex selector with :matches().
2111 2014-12-02 Mark Lam <mark.lam@apple.com>
2113 Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
2114 https://bugs.webkit.org/show_bug.cgi?id=138821
2118 * bindings/js/SerializedScriptValue.cpp:
2119 (WebCore::CloneDeserializer::deserializeString):
2120 * editing/TextIterator.cpp:
2121 (WebCore::SearchBuffer::isBadMatch):
2122 * page/mac/ServicesOverlayController.mm:
2123 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2124 * platform/graphics/SegmentedFontData.cpp:
2125 (WebCore::SegmentedFontData::fontDataForCharacter):
2126 (WebCore::SegmentedFontData::containsCharacter):
2127 (WebCore::SegmentedFontData::isLoading):
2128 * platform/graphics/WOFFFileFormat.cpp:
2129 (WebCore::convertWOFFToSfnt):
2130 * platform/graphics/cairo/GradientCairo.cpp:
2131 (WebCore::Gradient::platformGradient):
2132 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2133 (WebCore::GIFImageDecoder::clearFrameBufferCache):
2134 * rendering/RenderBox.cpp:
2135 (WebCore::RenderBox::paintFillLayers):
2136 * rendering/style/GridResolvedPosition.cpp:
2137 (WebCore::firstNamedGridLineBeforePosition):
2138 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2139 * svg/SVGFontElement.cpp:
2140 (WebCore::kerningForPairOfStringsAndGlyphs):
2141 * svg/SVGPathByteStream.h:
2142 (WebCore::SVGPathByteStream::append):
2143 * xml/XPathNodeSet.h:
2144 (WebCore::XPath::NodeSet::begin):
2145 (WebCore::XPath::NodeSet::end):
2147 2014-12-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2149 Fix build break EFL port since r176696
2150 https://bugs.webkit.org/show_bug.cgi?id=139215
2152 Unreviewed, build fix for EFL port.
2154 * storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
2156 2014-12-02 Joanmarie Diggs <jdiggs@igalia.com>
2158 AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
2159 https://bugs.webkit.org/show_bug.cgi?id=139005
2161 Reviewed by Chris Fleizach.
2163 Expose table captions and rows via ATK. Accomplishing the former is done
2164 by role mapping and inclusion of the object as a child of the table for
2165 ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
2166 platform code that had been forcing rows to be ignored. Because captions
2167 are not being exposed on the Mac, they are now explicitly being ignored
2170 Tests: accessibility/aria-table-hierarchy.html
2171 accessibility/table-hierarchy.html
2173 * accessibility/AccessibilityObject.h:
2174 * accessibility/AccessibilityRenderObject.cpp:
2175 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.
2176 * accessibility/AccessibilityTable.cpp:
2177 (WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.
2178 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2179 (webkitAccessibleGetNChildren): Removed special handling for tables.
2180 (webkitAccessibleRefChild): Removed special handling for tables.
2181 (webkitAccessibleGetIndexInParent): Removed special handling for table cells.
2182 (atkRole): Corrected broken mapping for RowRole.
2183 (getNChildrenForTable): Deleted.
2184 (getChildForTable): Deleted.
2185 (getIndexInParentForCellInRow): Deleted.
2186 * accessibility/mac/AccessibilityObjectMac.mm:
2187 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.
2189 2014-12-02 Alexey Proskuryakov <ap@apple.com>
2191 http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
2192 https://bugs.webkit.org/show_bug.cgi?id=139149
2194 Reviewed by Anders Carlsson.
2196 * WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
2198 * loader/appcache/ApplicationCache.h:
2199 * loader/appcache/ApplicationCache.cpp:
2200 (WebCore::ApplicationCache::deleteAllCaches): Added.
2202 * loader/appcache/ApplicationCacheStorage.cpp:
2203 (WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
2204 have this function called when there is no database file.
2206 * loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,
2207 because WebKit style.
2209 2014-12-02 Tim Horton <timothy_horton@apple.com>
2211 Remove a SnowLeopard-era quirk for QuickLook
2212 https://bugs.webkit.org/show_bug.cgi?id=139208
2213 <rdar://problem/19121822>
2215 Reviewed by Alexey Proskuryakov.
2218 * WebCore.xcodeproj/project.pbxproj:
2219 * loader/EmptyClients.h:
2220 * loader/FrameLoader.cpp:
2221 (WebCore::FrameLoader::subresourceCachePolicy):
2222 * loader/FrameLoaderClient.h:
2223 * platform/mac/QuickLookMac.h: Removed.
2224 * platform/mac/QuickLookMac.mm: Removed.
2226 2014-12-02 Anders Carlsson <andersca@apple.com>
2228 Begin stubbing out a StorageNamespaceProvider class
2229 https://bugs.webkit.org/show_bug.cgi?id=139203
2231 Reviewed by Tim Horton.
2234 * WebCore.vcxproj/WebCore.vcxproj:
2235 * WebCore.vcxproj/WebCore.vcxproj.filters:
2236 * WebCore.xcodeproj/project.pbxproj:
2239 * page/DOMWindow.cpp:
2240 (WebCore::DOMWindow::localStorage):
2241 If the page has a storage namespace provider, get the local storage from it.
2244 (WebCore::Page::Page):
2245 Move the storage namespace provider from the configuration.
2247 (WebCore::Page::setStorageNamespaceProvider):
2248 Add a setter. This will be used by setGroupName.
2251 (WebCore::Page::storageNamespaceProvider):
2254 * page/PageConfiguration.cpp:
2255 * page/PageConfiguration.h:
2256 Add a storage namespace provider member.
2258 * storage/StorageNamespaceProvider.cpp:
2259 (WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
2260 (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
2261 (WebCore::StorageNamespaceProvider::addPage):
2262 (WebCore::StorageNamespaceProvider::removePage):
2263 (WebCore::StorageNamespaceProvider::localStorageNamespace):
2264 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
2265 * storage/StorageNamespaceProvider.h:
2266 Stub out a storage namespace provider class.
2268 2014-12-02 Beth Dakin <bdakin@apple.com>
2272 * platform/spi/mac/QuickLookMacSPI.h:
2274 2014-12-02 Beth Dakin <bdakin@apple.com>
2278 * platform/spi/mac/NSMenuSPI.h:
2280 2014-12-02 Beth Dakin <bdakin@apple.com>
2282 Speculative build fix.
2284 * platform/spi/mac/QuickLookMacSPI.h:
2286 2014-12-02 Beth Dakin <bdakin@apple.com>
2288 Speculative build fix.
2290 * platform/spi/mac/QuickLookMacSPI.h:
2292 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2294 Unreviewed, fix typo introduced in r176673.
2296 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2297 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2299 2014-12-02 Beth Dakin <bdakin@apple.com>
2301 Should use standardQuickLookMenuItem for apps that don't implement customizations
2302 https://bugs.webkit.org/show_bug.cgi?id=139193
2304 rdar://problem/18944696
2306 Reviewed by Anders Carlsson.
2309 * WebCore.xcodeproj/project.pbxproj:
2310 * platform/spi/mac/NSMenuSPI.h: Added.
2311 * platform/spi/mac/QuickLookMacSPI.h: Added.
2313 2014-12-02 Gavin Barraclough <barraclough@apple.com>
2315 Generalize PageActivityAssertionToken
2316 https://bugs.webkit.org/show_bug.cgi?id=139106
2318 Reviewed by Sam Weinig.
2320 PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
2321 to count user visible activity in progress on the page (currently page load and media playback).
2322 Use of an RAII type is prevents a number of possible errors, including double counting a single
2323 media element, or failing to decrement the count after a media element has been deallocated.
2325 The current implementation has a number of drawbacks that have been addressed by this refactoring:
2326 - specific to single use in PageThrottler class - not reusable.
2327 - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
2328 are not encapsulated (are in the client type, PageThrottler).
2329 - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
2330 increment requires an object allocation.
2331 - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
2332 is internally implemented using a reference counted type, resulting in two counters being
2333 incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
2335 In the reimplementation:
2336 - a callback is provided via a lambda function, which allows for easy reuse without a lot of
2338 - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
2340 - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
2342 - standard RefPtrs are used to manage references to the RefCounter::Count.
2344 * WebCore.xcodeproj/project.pbxproj:
2345 - removed PageActivityAssertionToken.cpp/.h
2346 * html/HTMLMediaElement.cpp:
2347 - removed PageActivityAssertionToken.h
2348 * html/HTMLMediaElement.h:
2349 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2350 * loader/FrameLoader.cpp:
2351 - removed PageActivityAssertionToken.h
2352 * loader/FrameLoader.h:
2353 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2354 * loader/SubresourceLoader.cpp:
2355 - removed PageActivityAssertionToken.h
2356 * loader/SubresourceLoader.h:
2357 - removed class PageActivityAssertionToken
2359 - removed PageActivityAssertionToken.h
2360 (WebCore::Page::Page):
2361 - removed Page* parameter to PageThrottler
2363 - removed class PageActivityAssertionToken
2364 * page/PageActivityAssertionToken.cpp: Removed.
2365 * page/PageActivityAssertionToken.h: Removed.
2366 - removed PageActivityAssertionToken.cpp/.h
2367 * page/PageThrottler.cpp:
2368 (WebCore::PageThrottler::PageThrottler):
2369 - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
2370 (WebCore::PageThrottler::mediaActivityToken):
2371 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2372 (WebCore::PageThrottler::pageLoadActivityToken):
2373 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2374 (WebCore::PageThrottler::pageActivityCounterValueDidChange):
2375 - merged functionality of incrementActivityCount/decrementActivityCount
2376 (WebCore::PageThrottler::incrementActivityCount): Deleted.
2377 - see pageActivityCounterValueDidChange
2378 (WebCore::PageThrottler::decrementActivityCount): Deleted.
2379 - see pageActivityCounterValueDidChange
2380 * page/PageThrottler.h:
2381 (WebCore::PageThrottler::weakPtr): Deleted.
2382 - no longer required; this functionality is now encapsulated within RefCounter.
2384 2014-12-02 Tim Horton <timothy_horton@apple.com>
2386 Always show the arrow for text selection services
2387 https://bugs.webkit.org/show_bug.cgi?id=139191
2388 <rdar://problem/18903995>
2390 Reviewed by Anders Carlsson.
2392 * platform/spi/mac/DataDetectorsSPI.h:
2393 * page/mac/ServicesOverlayController.mm:
2394 Move a few things to DataDetectorsSPI.h.
2396 (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
2397 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2398 Make use of the real DDHighlightStyle names.
2399 Add DDHighlightStyleButtonShowAlways for selection services.
2401 2014-12-02 Anders Carlsson <andersca@apple.com>
2407 2014-12-02 Chris Dumez <cdumez@apple.com>
2409 Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
2410 https://bugs.webkit.org/show_bug.cgi?id=139162
2412 Reviewed by Darin Adler.
2414 Add support for calculated values in 'flex' CSS property.
2415 Previously, those did not work in release builds, and were hitting
2416 an assertion in debug builds.
2418 Test: fast/css/flex-calculated-value.html
2420 * css/CSSParser.cpp:
2421 (WebCore::CSSParser::validCalculationUnit):
2422 Do not call RefPtr::release() as we are not interested in the return
2423 value. Assign nullptr to the member instead.
2425 (WebCore::CSSParser::parseValue):
2426 (WebCore::CSSParser::parseFillPositionComponent):
2427 (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
2428 (WebCore::CSSParser::parseFontWeight):
2429 (WebCore::CSSParser::parsedDouble):
2430 (WebCore::CSSParser::colorIntFromValue):
2431 (WebCore::CSSParser::parseColorParameters):
2432 (WebCore::CSSParser::parseHSLParameters):
2433 (WebCore::CSSParser::parseFlex):
2436 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2439 https://bugs.webkit.org/show_bug.cgi?id=139182
2441 Reviewed by Alexey Proskuryakov.
2443 No new tests, only logging code is changed.
2445 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2446 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.
2448 2014-12-02 Anders Carlsson <andersca@apple.com>
2450 Get rid of the WinINet based network implementation
2451 https://bugs.webkit.org/show_bug.cgi?id=139187
2453 Reviewed by Andreas Kling.
2455 This code was only used by the Windows CE port. Now it's unused.
2457 * platform/network/ResourceHandle.h:
2458 * platform/network/ResourceHandleInternal.h:
2459 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2460 * platform/network/win/AuthenticationChallenge.h: Removed.
2461 * platform/network/win/CookieJarWin.cpp: Removed.
2462 * platform/network/win/CredentialStorageWin.cpp: Removed.
2463 * platform/network/win/ProxyServerWin.cpp: Removed.
2464 * platform/network/win/ResourceError.h: Removed.
2465 * platform/network/win/ResourceHandleWin.cpp: Removed.
2466 * platform/network/win/ResourceRequest.h: Removed.
2467 * platform/network/win/ResourceResponse.h: Removed.
2468 * platform/network/win/SocketStreamError.h: Removed.
2469 * platform/network/win/SocketStreamHandle.h: Removed.
2470 * platform/network/win/SocketStreamHandleWin.cpp: Removed.
2472 2014-12-02 Chris Dumez <cdumez@apple.com>
2474 Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
2475 https://bugs.webkit.org/show_bug.cgi?id=139170
2477 Reviewed by Darin Adler.
2479 Add support for calculated values for 'column-span' and 'column-width'
2480 CSS properties. Previously, these were not working in release builds
2481 and hitting assertions in debug builds.
2483 Tests: fast/css/column-width-calculated-value.html
2484 fast/css/webkit-column-span-calculated-value.html
2486 * css/CSSParser.cpp:
2487 (WebCore::CSSParser::parseValue):
2489 2014-12-02 Anders Carlsson <andersca@apple.com>
2491 Remove visited link handling from PageGroup
2492 https://bugs.webkit.org/show_bug.cgi?id=139185
2494 Reviewed by Sam Weinig.
2498 * WebCore.vcxproj/WebCore.vcxproj:
2499 * WebCore.vcxproj/WebCore.vcxproj.filters:
2500 * WebCore.xcodeproj/project.pbxproj:
2501 * loader/HistoryController.cpp:
2503 (WebCore::ChromeClient::populateVisitedLinks): Deleted.
2504 * page/ChromeClient.h:
2505 * page/DefaultVisitedLinkStore.cpp: Removed.
2506 * page/DefaultVisitedLinkStore.h: Removed.
2508 (WebCore::Page::Page):
2509 (WebCore::Page::~Page):
2510 (WebCore::Page::visitedLinkStore):
2511 (WebCore::Page::setVisitedLinkStore):
2512 (WebCore::Page::removeAllVisitedLinks): Deleted.
2514 * page/PageGroup.cpp:
2515 (WebCore::PageGroup::PageGroup):
2516 (WebCore::PageGroup::visitedLinkStore): Deleted.
2517 (WebCore::PageGroup::isLinkVisited): Deleted.
2518 (WebCore::PageGroup::addVisitedLinkHash): Deleted.
2519 (WebCore::PageGroup::addVisitedLink): Deleted.
2520 (WebCore::PageGroup::removeVisitedLink): Deleted.
2521 (WebCore::PageGroup::removeVisitedLinks): Deleted.
2522 (WebCore::PageGroup::removeAllVisitedLinks): Deleted.
2523 (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
2526 2014-12-02 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
2528 Use references instead of pointers in EditingStyle
2529 https://bugs.webkit.org/show_bug.cgi?id=137918
2531 Reviewed by Darin Adler.
2533 * editing/EditingStyle.cpp:
2534 (WebCore::extractPropertyValue):
2535 (WebCore::identifierForStyleProperty):
2536 (WebCore::textColorFromStyle):
2537 (WebCore::backgroundColorFromStyle):
2538 (WebCore::textAlignResolvingStartAndEnd):
2539 (WebCore::EditingStyle::triStateOfStyle):
2540 (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
2541 (WebCore::EditingStyle::prepareToApplyAt):
2542 (WebCore::EditingStyle::removeStyleFromRulesAndContext):
2543 (WebCore::StyleChange::StyleChange):
2544 (WebCore::setTextDecorationProperty):
2545 (WebCore::StyleChange::extractTextStyles):
2546 (WebCore::diffTextDecorations):
2547 (WebCore::fontWeightIsBold):
2548 (WebCore::extractPropertiesNotIn):
2549 (WebCore::getPropertiesNotIn):
2550 * editing/EditingStyle.h:
2552 2014-12-02 Bartlomiej Gajda <b.gajda@samsung.com>
2554 [GStreamer] Media Source sending seek event fails.
2555 https://bugs.webkit.org/show_bug.cgi?id=139181
2557 Reviewed by Philippe Normand.
2559 There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
2560 and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.
2562 No new tests needed.
2564 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2565 (webkit_media_src_init):
2567 2014-12-02 Chris Dumez <cdumez@apple.com>
2569 Move 'font-family' CSS property to the new StyleBuilder
2570 https://bugs.webkit.org/show_bug.cgi?id=139172
2572 Reviewed by Antti Koivisto.
2574 Move 'font-family' CSS property to the new StyleBuilder by using
2577 No new tests, no behavior change.
2579 * css/CSSPropertyNames.in:
2580 * css/DeprecatedStyleBuilder.cpp:
2581 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2582 (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
2583 (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
2584 (WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
2585 (WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
2586 * css/StyleBuilderCustom.h:
2587 (WebCore::StyleBuilderCustom::applyInitialFontFamily):
2588 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
2589 (WebCore::StyleBuilderCustom::applyValueFontFamily):
2591 2014-12-02 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2593 Fix class was previously declared as a struct warnings
2594 https://bugs.webkit.org/show_bug.cgi?id=139131
2596 Reviewed by Csaba Osztrogonác.
2598 No new tests needed.
2600 * platform/graphics/texmap/TextureMapperGL.h:
2602 2014-12-02 Sylvain Galineau <galineau@adobe.com>
2604 Missing support for innerHTML on SVGElement
2605 https://bugs.webkit.org/show_bug.cgi?id=136903
2607 Reviewed by Dean Jackson.
2609 Two parts to this patch:
2610 1. Move innerHTML/outerHTML to Element so SVG elements can inherit them, per https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#innerhtml
2611 2. Make sure fragment insertion is processed relative to the proper node, per http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node
2613 The latter part was ported over from Blink.
2615 Test: svg/in-html/svg-inner-html.html
2617 * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
2619 (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
2620 (WebCore::Element::innerHTML): Moved from HTMLElement.
2621 (WebCore::Element::outerHTML): Moved from HTMLElement.
2622 (WebCore::Element::setOuterHTML): Moved from HTMLElement.
2623 (WebCore::Element::setInnerHTML): Moved from HTMLElement.
2626 * html/HTMLElement.cpp:
2627 (WebCore::HTMLElement::innerHTML): Deleted.
2628 (WebCore::HTMLElement::outerHTML): Deleted.
2629 (WebCore::HTMLElement::setInnerHTML): Deleted.
2630 (WebCore::mergeWithNextTextNode): Deleted.
2631 (WebCore::HTMLElement::setOuterHTML): Deleted.
2632 * html/HTMLElement.h:
2633 * html/HTMLElement.idl:
2634 * html/parser/HTMLTreeBuilder.cpp:
2635 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
2636 (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
2637 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
2638 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
2639 (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
2640 (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.
2641 * html/parser/HTMLTreeBuilder.h:
2642 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
2643 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.
2645 2014-11-20 Jeffrey Pfau <jpfau@apple.com>
2647 Add cancelable version of willSendRequest
2648 https://bugs.webkit.org/show_bug.cgi?id=138987
2650 Reviewed by Anders Carlsson.
2652 Covered by existing tests.
2654 * loader/ResourceLoader.cpp:
2655 (WebCore::ResourceLoader::willSendRequest):
2656 * loader/ResourceLoader.h:
2658 2014-12-01 Benjamin Poulain <benjamin@webkit.org>
2660 Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
2661 https://bugs.webkit.org/show_bug.cgi?id=139001
2663 Reviewed by Andreas Kling.
2665 When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
2666 we were previously ignoring the arguments.
2668 That behavior seems to be confusing for users. We made the proposal to include the selector list
2669 like when using :matches():
2670 http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html
2671 David Baron also agrees with this behavior:
2672 http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html
2674 This patch adds the specificity computation.
2676 Tests: fast/css/nth-child-specificity-1.html
2677 fast/css/nth-child-specificity-2.html
2678 fast/css/nth-last-child-specificity-1.html
2679 fast/css/nth-last-child-specificity-2.html
2681 * css/CSSSelector.cpp:
2682 (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
2683 * css/SelectorChecker.cpp:
2684 (WebCore::SelectorChecker::checkOne):
2685 (WebCore::SelectorChecker::matchSelectorList):
2686 * css/SelectorChecker.h:
2687 * cssjit/SelectorCompiler.cpp:
2688 (WebCore::SelectorCompiler::addPseudoClassType):
2690 2014-12-01 Chris Dumez <cdumez@apple.com>
2692 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
2693 https://bugs.webkit.org/show_bug.cgi?id=138938
2695 Reviewed by Sam Weinig.
2697 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
2698 from StyleResolver to the new StyleBuilder by using custom code.
2700 No new tests, no behavior change.
2702 * css/CSSPropertyNames.in:
2703 * css/StyleBuilderCustom.h:
2704 (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
2705 (WebCore::StyleBuilderCustom::applyInitialTextShadow):
2706 (WebCore::StyleBuilderCustom::applyInheritTextShadow):
2707 (WebCore::StyleBuilderCustom::applyValueTextShadow):
2708 (WebCore::StyleBuilderCustom::applyInitialBoxShadow):
2709 (WebCore::StyleBuilderCustom::applyInheritBoxShadow):
2710 (WebCore::StyleBuilderCustom::applyValueBoxShadow):
2711 (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
2712 (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
2713 (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
2714 * css/StyleResolver.cpp:
2715 (WebCore::StyleResolver::applyProperty):
2717 2014-12-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2719 [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
2720 https://bugs.webkit.org/show_bug.cgi?id=139085
2722 Reviewed by Andreas Kling.
2724 * PlatformEfl.cmake:
2725 Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.
2727 2014-12-01 Zalan Bujtas <zalan@apple.com>
2729 Twitter avatar moves when hovering/unhovering the "follow" button.
2730 https://bugs.webkit.org/show_bug.cgi?id=139147
2731 rdar://problem/19096508
2733 Reviewed by Simon Fraser.
2735 This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
2736 get repositioned when their inline box wrappers move.
2737 Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
2738 placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
2739 they are still part of the inline box tree.
2740 This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
2741 They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
2743 Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
2745 * rendering/InlineBox.cpp:
2746 (WebCore::InlineBox::adjustPosition):
2748 2014-12-01 Tim Horton <timothy_horton@apple.com>
2750 Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
2751 https://bugs.webkit.org/show_bug.cgi?id=139164
2752 <rdar://problem/19107247>
2754 Reviewed by Beth Dakin.
2756 * page/TextIndicator.cpp:
2757 (WebCore::TextIndicator::createWithSelectionInFrame):
2758 Null-check the ImageBuffer in addition to the Image.
2760 2014-12-01 Anders Carlsson <andersca@apple.com>
2762 Remove IWebCookieManager on Windows
2763 https://bugs.webkit.org/show_bug.cgi?id=139144
2765 Reviewed by Sam Weinig.
2767 Remove code that handles overriding the cookie storage.
2769 * platform/network/NetworkStorageSession.h:
2770 * platform/network/cf/NetworkStorageSessionCFNet.cpp:
2771 (WebCore::cookieStorageOverride): Deleted.
2772 (WebCore::overrideCookieStorage): Deleted.
2773 (WebCore::overridenCookieStorage): Deleted.
2774 * platform/network/cf/ResourceHandleCFNet.cpp:
2775 (WebCore::ResourceHandle::createCFURLConnection):
2777 2014-12-01 Dean Jackson <dino@apple.com>
2779 [iOS Media] Slider knob should not have a border
2780 https://bugs.webkit.org/show_bug.cgi?id=139160
2781 <rdar://problem/19075185>
2783 Reviewed by Jer Noble.
2785 The change in r175715 required adding !important to a bunch
2786 of rules for pseudo elements. The border width of slider knobs
2787 for media controls should be zero, so add an !important there.
2789 * Modules/mediacontrols/mediaControlsiOS.css:
2790 (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
2791 border to border-width and force it to zero.
2793 2014-12-01 Chris Dumez <cdumez@apple.com>
2795 Take into consideration canvas drawing for throttling DOM timers
2796 https://bugs.webkit.org/show_bug.cgi?id=139140
2797 <rdar://problem/19102218>
2799 Reviewed by Andreas Kling.
2801 Take into consideration canvas drawing for throttling DOM timers so
2803 - Timers drawing on a visible canvas can no longer get throttled.
2804 This fixes the following sites:
2805 - http://hint.fm/wind/
2806 - http://radar.weather.gov/Conus/full_loop.php
2807 - Timers that are drawing on a canvas that is not user observable
2808 now get throttled, thus using less CPU. As an example, on
2809 http://hint.fm/wind/, CPU usage is at 110% when the canvas is
2810 inside the viewport on my machine. CPU usage would remain at
2811 110% when scrolling the canvas outside the viewport before this
2812 patch. After this patch, the CPU usage goes down to 5% when
2813 the canvas is outside the viewport.
2815 Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
2816 fast/canvas/canvas-outside-viewport-timer-throttling.html
2818 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2819 (WebCore::JSCSSStyleDeclaration::putDelegate):
2820 * html/HTMLCanvasElement.cpp:
2821 (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
2822 * page/DOMTimer.cpp:
2823 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
2824 (WebCore::DOMTimer::scriptDidCauseElementRepaint):
2825 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
2826 (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
2829 2014-12-01 Myles C. Maxfield <mmaxfield@apple.com>
2831 Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
2832 https://bugs.webkit.org/show_bug.cgi?id=139158
2834 Reviewed by Simon Fraser.
2836 RenderingContexts are only created if the primary SimpleFontData is an SVG font,
2837 but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
2838 One might be an SVG font but the other might not be.
2840 Note that this brittle design will be fixed with the SVG -> OTF translator.
2842 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html
2844 * platform/graphics/mac/FontMac.mm:
2845 (WebCore::Font::dashesForIntersectionsWithRect):
2847 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
2849 [MSE] Fix not always calling mediaPlayer seek.
2850 https://bugs.webkit.org/show_bug.cgi?id=139139
2852 Reviewed by Jer Noble.
2854 Original comment states that media source shall always be notified of seek if it's not closed.
2856 No new tests needed.
2858 * html/HTMLMediaElement.cpp:
2859 (WebCore::HTMLMediaElement::seekTimerFired):
2861 2014-12-01 Tim Horton <timothy_horton@apple.com>
2863 Implement yellow highlight for WebKit1 data detectors
2864 https://bugs.webkit.org/show_bug.cgi?id=138956
2865 <rdar://problem/18992185>
2867 Reviewed by Beth Dakin.
2869 * page/TextIndicator.cpp:
2870 (WebCore::TextIndicator::createWithSelectionInFrame):
2871 (WebCore::TextIndicator::TextIndicator):
2872 * page/TextIndicator.h:
2873 (WebCore::TextIndicator::selectionRectInScreenCoordinates):
2874 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
2875 (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
2876 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
2877 Store TextIndicator rects in screen coordinates, since that's what we
2878 want anyway, and this makes it easier to share this code between the WebKits.
2880 * page/mac/TextIndicatorWindow.mm:
2881 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
2882 (WebCore::TextIndicatorWindow::setTextIndicator):
2883 Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.
2885 2014-12-01 Anders Carlsson <andersca@apple.com>
2887 Remove old site specific quirks code that was added in 2009
2888 https://bugs.webkit.org/show_bug.cgi?id=139141
2890 Reviewed by Antti Koivisto.
2892 * platform/network/NetworkingContext.h:
2893 * platform/network/ResourceHandleInternal.h:
2894 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2895 * platform/network/mac/ResourceHandleMac.mm:
2896 (WebCore::ResourceHandle::start):
2898 2014-12-01 Joseph Pecoraro <pecoraro@apple.com>
2900 Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
2901 https://bugs.webkit.org/show_bug.cgi?id=138988
2903 Reviewed by Timothy Hatcher.
2905 * inspector/WebInjectedScriptHost.cpp:
2906 (WebCore::WebInjectedScriptHost::type):
2907 Give all DOM Exception types the "error" RemoteObject subtype.
2909 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
2911 [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
2912 https://bugs.webkit.org/show_bug.cgi?id=139075.
2914 Reviewed by Jer Noble.
2916 Specification requires from us to unset timestamps for trackBuffers
2917 during abort() method.
2919 Test: media/media-source/media-source-append-nonsync-sample-after-abort.html
2921 * Modules/mediasource/SourceBuffer.cpp:
2922 (WebCore::SourceBuffer::resetParserState):
2923 (WebCore::SourceBuffer::abort):
2924 * Modules/mediasource/SourceBuffer.h:
2926 2014-12-01 Chris Dumez <cdumez@apple.com>
2928 Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
2929 https://bugs.webkit.org/show_bug.cgi?id=138999
2931 Reviewed by Sam Weinig.
2933 Transform StyleBuilderCustom into a class and mark it as a friend of
2934 RenderStyle. This is needed because some of the StyleBuilderCustom
2935 functions need to access RenderStyle's private API.
2937 No new tests, no behavior change.
2939 * css/StyleBuilderCustom.h:
2940 Move functions from StyleBuilderFunctions namespace to
2941 StyleBuilderCustom class.
2944 Use StyleBuilderCustom scope instead of StyleBuilderFunctions for
2945 custom implementation.
2947 * rendering/style/RenderStyle.h:
2948 Mark StyleBuilderCustom class as a friend, similarly to what was
2949 already done for DeprecatedStyleBuilder and StyleResolver.
2951 2014-11-17 Oliver Hunt <oliver@apple.com>
2953 Make sure range based iteration of Vector<> still receives bounds checking
2954 https://bugs.webkit.org/show_bug.cgi?id=138821
2956 Reviewed by Mark Lam.
2958 There are a few uses of begin()/end() that explicitly require pointers,
2959 so we use getPtr() to extract the underlying pointer generically.
2961 * bindings/js/SerializedScriptValue.cpp:
2962 (WebCore::CloneDeserializer::deserializeString):
2963 * editing/TextIterator.cpp:
2964 (WebCore::SearchBuffer::isBadMatch):
2965 * page/mac/ServicesOverlayController.mm:
2966 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2967 * platform/graphics/SegmentedFontData.cpp:
2968 (WebCore::SegmentedFontData::fontDataForCharacter):
2969 (WebCore::SegmentedFontData::containsCharacter):
2970 (WebCore::SegmentedFontData::isLoading):
2971 * platform/graphics/WOFFFileFormat.cpp:
2972 (WebCore::convertWOFFToSfnt):
2973 * rendering/RenderBox.cpp:
2974 (WebCore::RenderBox::paintFillLayers):
2975 * rendering/style/GridResolvedPosition.cpp:
2976 (WebCore::firstNamedGridLineBeforePosition):
2977 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2978 * svg/SVGFontElement.cpp:
2979 (WebCore::kerningForPairOfStringsAndGlyphs):
2980 * svg/SVGPathByteStream.h:
2981 (WebCore::SVGPathByteStream::append):
2982 * xml/XPathNodeSet.h:
2983 (WebCore::XPath::NodeSet::begin):
2984 (WebCore::XPath::NodeSet::end):
2986 2014-11-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2988 Fix a build warning when CSS_SCROLL_SNAP is enabled
2989 https://bugs.webkit.org/show_bug.cgi?id=139084
2991 Reviewed by Andrei Bucur.
2993 Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.
2995 * rendering/style/StyleScrollSnapPoints.cpp:
2996 (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().
2998 2014-11-29 Sam Weinig <sam@webkit.org>
3000 Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
3001 https://bugs.webkit.org/show_bug.cgi?id=139104
3003 Reviewed by Anders Carlsson.
3005 * css/CSSPropertyNames.in:
3006 * css/StyleBuilderCustom.h:
3007 (WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
3008 (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
3009 (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
3010 (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
3011 (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):
3012 * css/StyleResolver.cpp:
3013 (WebCore::StyleResolver::applyProperty):
3015 2014-11-29 Anders Carlsson <andersca@apple.com>
3017 Add an EmptyVisitedLinkStore implementation
3018 https://bugs.webkit.org/show_bug.cgi?id=139102
3020 Reviewed by Sam Weinig.
3022 * loader/EmptyClients.cpp:
3023 (WebCore::fillWithEmptyClients):
3024 * loader/EmptyClients.h:
3026 2014-11-28 Sam Weinig <sam@webkit.org>
3028 Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
3029 https://bugs.webkit.org/show_bug.cgi?id=139053
3031 Reviewed by Andreas Kling.
3033 * css/CSSPropertyNames.in:
3034 * css/StyleBuilderConverter.h:
3035 (WebCore::StyleBuilderConverter::convertInitialLetter):
3036 (WebCore::StyleBuilderConverter::convertTextStrokeWidth):
3037 (WebCore::StyleBuilderConverter::convertLineBoxContain):
3038 * css/StyleResolver.cpp:
3039 (WebCore::StyleResolver::applyProperty):
3041 2014-11-26 Philippe Normand <pnormand@igalia.com>
3043 [GStreamer] HTTP source element lacks SCHEDULING query support
3044 https://bugs.webkit.org/show_bug.cgi?id=139064
3046 Reviewed by Carlos Garcia Campos.
3048 No new tests, covered by http/tests/media/hls.
3050 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3051 (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
3052 queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
3053 to configure itself for adaptive streaming playback scenarios.
3055 2014-11-27 Ryuan Choi <ryuan.choi@navercorp.com>
3057 [EFL] Remove E_Dbus dependency
3058 https://bugs.webkit.org/show_bug.cgi?id=136355
3060 Reviewed by Gyuyoung Kim.
3062 E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
3063 Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
3064 This patch replaces E_Dbus implementation to Eldbus.
3066 * PlatformEfl.cmake:
3067 * platform/efl/BatteryProviderEfl.cpp:
3068 (WebCore::BatteryProviderEfl::BatteryProviderEfl):
3069 (WebCore::BatteryProviderEfl::~BatteryProviderEfl):
3070 (WebCore::BatteryProviderEfl::stopUpdating):
3071 (WebCore::batteryProperties):
3072 (WebCore::batteryPropertiesChanged):
3073 (WebCore::BatteryProviderEfl::deviceTypeCallback):
3074 (WebCore::BatteryProviderEfl::enumerateDevices):
3075 (WebCore::BatteryProviderEfl::startUpdating):
3076 (WebCore::BatteryProviderEfl::setBatteryStatus):
3077 (WebCore::BatteryProviderEfl::timerFired): Deleted.
3078 (WebCore::BatteryProviderEfl::getBatteryStatus): Deleted.
3079 (WebCore::BatteryProviderEfl::setBatteryClient): Deleted.
3080 * platform/efl/BatteryProviderEfl.h:
3081 (WebCore::BatteryProviderEfl::connection):
3082 (WebCore::BatteryProviderEfl::setSignalHandler):
3083 (WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted.
3085 2014-11-27 Antti Koivisto <antti@apple.com>
3087 CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108
3088 https://bugs.webkit.org/show_bug.cgi?id=139057
3090 Reviewed by Anders Carlsson.
3092 No test, don't know how to repro.
3094 * html/HTMLPlugInImageElement.cpp:
3095 (WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer.
3097 2014-11-27 Joanmarie Diggs <jdiggs@igalia.com>
3099 AX: [ATK] Meter and Option elements do not expose their id attribute
3100 https://bugs.webkit.org/show_bug.cgi?id=139017
3102 Reviewed by Mario Sanchez Prada.
3104 The options in a collapsed select element lack a node, so get the id
3105 attribute from the associated action element. In the case of a meter,
3106 the meter element itself is not exposed; its RenderMeter is instead.
3107 So associate the meter element's id with the exposed RenderMeter.
3109 No new tests. Instead, updated existing expectations to reflect the fix.
3111 * accessibility/AccessibilityObject.h:
3112 * accessibility/AccessibilityProgressIndicator.cpp:
3113 (WebCore::AccessibilityProgressIndicator::element):
3114 * accessibility/AccessibilityProgressIndicator.h:
3115 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3116 (webkitAccessibleGetAttributes):
3118 2014-11-27 Anders Carlsson <andersca@apple.com>
3120 Add a Page::setVisitedLinkStore member function
3121 https://bugs.webkit.org/show_bug.cgi?id=139065
3123 Reviewed by Antti Koivisto.
3125 This will be used in a subsequent commit.
3129 (WebCore::Page::setVisitedLinkStore):
3132 2014-11-25 Sukolsak Sakshuwong <sukolsak@gmail.com>
3134 Add parsing for :dir()
3135 https://bugs.webkit.org/show_bug.cgi?id=138932
3137 Reviewed by Benjamin Poulain.
3139 Add support for parsing :dir() pseudo class. The implementation of selector
3140 matching will be in a follow-up patch.
3142 * css/CSSGrammar.y.in:
3143 * css/CSSParser.cpp:
3144 (WebCore::CSSParser::detectFunctionTypeToken):
3145 * css/CSSSelector.cpp:
3146 (WebCore::appendPseudoClassFunctionTail):
3147 (WebCore::CSSSelector::selectorText):
3148 * css/CSSSelector.h:
3149 * css/SelectorChecker.cpp:
3150 (WebCore::SelectorChecker::checkOne):
3151 * css/SelectorPseudoClassAndCompatibilityElementMap.in:
3152 * cssjit/SelectorCompiler.cpp:
3153 (WebCore::SelectorCompiler::addPseudoClassType):
3155 2014-11-25 Anders Carlsson <andersca@apple.com>
3157 Remove user content handling from PageGroup
3158 https://bugs.webkit.org/show_bug.cgi?id=139051
3160 Reviewed by Antti Koivisto.
3162 Remove m_userContentController from PageGroup and the related functions and symbol exports.
3165 * page/PageGroup.cpp:
3166 (WebCore::PageGroup::PageGroup):
3167 (WebCore::PageGroup::~PageGroup):
3168 (WebCore::PageGroup::addPage):
3169 (WebCore::PageGroup::removePage):
3170 (WebCore::PageGroup::addUserScriptToWorld): Deleted.
3171 (WebCore::PageGroup::addUserStyleSheetToWorld): Deleted.
3172 (WebCore::PageGroup::removeUserScriptFromWorld): Deleted.
3173 (WebCore::PageGroup::removeUserStyleSheetFromWorld): Deleted.
3174 (WebCore::PageGroup::removeUserScriptsFromWorld): Deleted.
3175 (WebCore::PageGroup::removeUserStyleSheetsFromWorld): Deleted.
3176 (WebCore::PageGroup::removeAllUserContent): Deleted.
3179 2014-11-25 Anders Carlsson <andersca@apple.com>
3181 Add a user content controller to WebViewGroup and use it for user content
3182 https://bugs.webkit.org/show_bug.cgi?id=139043
3184 Reviewed by Antti Koivisto.
3190 (WebCore::Page::setUserContentController):
3191 Invalidate the injected style cache when setting a new user content controller.
3193 2014-11-25 Philippe Normand <pnormand@igalia.com>
3195 [GStreamer] gstmpegts is not initialized
3196 https://bugs.webkit.org/show_bug.cgi?id=139039
3198 Reviewed by Carlos Garcia Campos.
3200 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
3201 (WebCore::initializeGStreamer): Initialize the gstmpegts library.
3203 2014-11-24 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
3205 Fix unused variable warning in Biquad.cpp
3206 https://bugs.webkit.org/show_bug.cgi?id=139031
3208 Reviewed by Andreas Kling.
3210 No new tests needed.
3212 * platform/audio/Biquad.cpp:
3214 2014-11-24 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
3216 Remove Qt cruft related to tap higlighting
3217 https://bugs.webkit.org/show_bug.cgi?id=139030
3219 Reviewed by Andreas Kling.
3221 No new tests needed.
3224 * page/GestureTapHighlighter.cpp: Removed.
3225 * page/GestureTapHighlighter.h: Removed.
3227 2014-11-24 Dhi Aurrahman <diorahman@rockybars.com>
3229 Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value
3230 https://bugs.webkit.org/show_bug.cgi?id=139013
3232 Reviewed by Benjamin Poulain.
3234 Fix the parsing and re-serialization of :lang pseudo class selector when
3235 it has multiple arguments with same value e.g. :lang(en, en, en). Previously,
3236 given :lang(en, en, en) selector, it was parsed and reserialized
3237 as :lang(enenen) instead of :lang(en, en, en)
3239 Related test on parsing and re-serialization of css selectors is updated.
3241 * css/CSSSelector.cpp:
3242 (WebCore::appendArgumentList):
3244 2014-11-24 Zalan Bujtas <zalan@apple.com>
3246 Fix r176527. Iterate through the text renderers.
3247 https://bugs.webkit.org/show_bug.cgi?id=139007
3249 Reviewed by Antti Koivisto.
3251 * rendering/SimpleLineLayout.cpp:
3252 (WebCore::SimpleLineLayout::canUseFor):
3254 2014-11-24 Zalan Bujtas <zalan@apple.com>
3256 Simple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak
3257 https://bugs.webkit.org/show_bug.cgi?id=139035
3259 Reviewed by Antti Koivisto.
3261 Move new line logic to FlowContents class.
3262 This is in preparation to support <br>.
3264 No change in functionality.
3266 * rendering/SimpleLineLayout.cpp:
3267 (WebCore::SimpleLineLayout::TextFragment::TextFragment):
3268 (WebCore::SimpleLineLayout::removeTrailingWhitespace):
3269 (WebCore::SimpleLineLayout::nextFragment):
3270 (WebCore::SimpleLineLayout::createLineRuns):
3271 * rendering/SimpleLineLayoutFlowContents.h:
3272 (WebCore::SimpleLineLayout::FlowContents::isNewline):
3273 (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): Deleted.
3275 2014-11-24 Benjamin Poulain <benjamin@webkit.org>
3277 Move :placeholder-shown out of experimental
3278 https://bugs.webkit.org/show_bug.cgi?id=138998
3280 Reviewed by Andreas Kling.
3282 The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
3285 The implementation has been stable for a while, we can move it to stable.
3287 * css/CSSSelector.cpp:
3288 (WebCore::CSSSelector::selectorText):
3289 * css/CSSSelector.h:
3290 * css/SelectorChecker.cpp:
3291 (WebCore::SelectorChecker::checkOne):
3292 * css/SelectorPseudoClassAndCompatibilityElementMap.in:
3293 * cssjit/SelectorCompiler.cpp:
3294 (WebCore::SelectorCompiler::addPseudoClassType):
3295 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3296 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
3298 2014-11-24 Antti Koivisto <antti@apple.com>
3300 Avoid String concatenation with line break iterator
3301 https://bugs.webkit.org/show_bug.cgi?id=139034
3303 Reviewed by Zalan Bujtas.
3305 Test: fast/text/simple-lines-multiple-renderers-break.html
3307 * rendering/SimpleLineLayoutFlowContents.cpp:
3308 (WebCore::SimpleLineLayout::initializeSegments):
3310 Include String too so it doesn't need to be fetched from the renderer.
3312 (WebCore::SimpleLineLayout::FlowContents::FlowContents):
3313 (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
3315 Make this iterative instead of recursive.
3316 Uset setPriorContext to provide previous characters instead of concatenating
3317 the string from all the previous segments.
3319 (WebCore::SimpleLineLayout::findNextNonWhitespace):
3320 (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
3322 Search using segments instead of the concatenated string.
3324 (WebCore::SimpleLineLayout::FlowContents::textWidth):
3325 (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow):
3326 (WebCore::SimpleLineLayout::FlowContents::runWidth):
3327 (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): Deleted.
3328 (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Deleted.
3329 (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): Deleted.
3330 * rendering/SimpleLineLayoutFlowContents.h:
3331 (WebCore::SimpleLineLayout::FlowContents::characterAt):
3332 (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
3333 (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition):
3334 (WebCore::SimpleLineLayout::FlowContents::segmentForPosition):
3336 2014-11-24 Zalan Bujtas <zalan@apple.com>
3338 SimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their content is eligible for simple line layout.
3339 https://bugs.webkit.org/show_bug.cgi?id=139007
3341 Reviewed by Antti Koivisto.
3343 Tests: fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html
3344 fast/text/simple-line-layout-multiple-renderers-with-float.html
3346 * rendering/SimpleLineLayout.cpp:
3347 (WebCore::SimpleLineLayout::canUseFor):
3349 2014-11-22 Sam Weinig <sam@webkit.org>
3351 Move the '-webkit-box-reflext' CSS property to the new StyleBuilder
3352 https://bugs.webkit.org/show_bug.cgi?id=139008
3354 Reviewed by Anders Carlsson.
3356 * css/CSSPropertyNames.in:
3357 * css/StyleBuilderConverter.h:
3358 (WebCore::StyleBuilderConverter::convertReflection):
3359 * css/StyleResolver.cpp:
3360 (WebCore::StyleResolver::applyProperty):
3362 2014-11-24 Antti Koivisto <antti@apple.com>
3364 Remove unused Style struct from SimpleLineLayout.cpp
3365 https://bugs.webkit.org/show_bug.cgi?id=139027
3367 Reviewed by Sam Weinig.
3369 It was moved to FlowContents.
3371 * rendering/SimpleLineLayout.cpp:
3372 (WebCore::SimpleLineLayout::Style::Style): Deleted.
3374 2014-11-24 peavo@outlook.com <peavo@outlook.com>
3376 [Curl] Compile error in ResourceHandleManager.cpp.
3377 https://bugs.webkit.org/show_bug.cgi?id=139026
3379 Reviewed by Brent Fulgham.
3381 The parameter types of the constructor of the Timer class has changed.
3383 * platform/network/curl/ResourceHandleManager.cpp:
3384 (WebCore::ResourceHandleManager::ResourceHandleManager):
3385 (WebCore::ResourceHandleManager::downloadTimerCallback):
3386 * platform/network/curl/ResourceHandleManager.h:
3388 2014-11-24 Joanmarie Diggs <jdiggs@igalia.com>
3390 AX: [ATK] Unskip the skipped ATK tests in roles-exposed.html
3391 https://bugs.webkit.org/show_bug.cgi?id=139016
3393 Reviewed by Chris Fleizach.
3395 There was one test that could not be unskipped without making a change
3396 for that one to pass: mapping DocumentRegionRole to ATK_ROLE_PANEL. The
3397 rest of the "fix" is just unskipping tests for ATK and updating the test
3400 No new tests needed.
3402 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3405 2014-11-23 Antti Koivisto <antti@apple.com>
3407 Use segment vector for FlowContents
3408 https://bugs.webkit.org/show_bug.cgi?id=139015
3410 Reviewed by Zalan Bujtas.
3412 And FlowContents::Segment struct and use it.
3414 * rendering/SimpleLineLayout.cpp:
3415 (WebCore::SimpleLineLayout::removeTrailingWhitespace):
3416 (WebCore::SimpleLineLayout::createLineRuns):
3417 (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary):
3420 If there is only one segment there is nothing to do. Bail out.
3422 * rendering/SimpleLineLayoutFlowContents.cpp:
3423 (WebCore::SimpleLineLayout::initializeSegments):
3425 Move initialization to a function so m_segments can be const.
3426 Don't add empty end segment, handle the end case in code.
3428 (WebCore::SimpleLineLayout::FlowContents::FlowContents):
3429 (WebCore::SimpleLineLayout::FlowContents::textWidth):
3431 Simplify and use segments.
3433 (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow):
3435 Replace hand-rolled binary search with std::lower_bounds.
3437 (WebCore::SimpleLineLayout::FlowContents::segmentForRenderer):
3438 (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
3439 (WebCore::SimpleLineLayout::FlowContents::renderer): Deleted.
3440 (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): Deleted.
3441 * rendering/SimpleLineLayoutFlowContents.h:
3442 (WebCore::SimpleLineLayout::FlowContents::hasOneSegment):
3443 (WebCore::SimpleLineLayout::FlowContents::length):
3444 (WebCore::SimpleLineLayout::FlowContents::isEnd):
3445 (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): Deleted.
3449 (WebCore::SimpleLineLayout::FlowContents::segmentForPosition):
3451 Inline the fast path.
3453 * rendering/SimpleLineLayoutResolver.cpp:
3454 (WebCore::SimpleLineLayout::RunResolver::Run::text):
3455 (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
3457 2014-11-22 Simon Fraser <simon.fraser@apple.com>
3459 Extend WKRenderObject and WKRenderLayer with some more useful data
3460 https://bugs.webkit.org/show_bug.cgi?id=139006
3462 Reviewed by Sam Weinig.
3464 Export WebCore::RenderLayerBacking::backingStoreMemoryEstimate() const.
3468 2014-11-22 Antti Koivisto <antti@apple.com>
3470 Make locale part of the SimpleLineLayout::FlowContent::Style
3471 https://bugs.webkit.org/show_bug.cgi?id=139004
3473 Reviewed by Zalan Bujtas.
3475 That's the only part of style not extracted out of RenderStyle in the constructor.
3477 * rendering/SimpleLineLayoutFlowContents.cpp:
3478 (WebCore::SimpleLineLayout::FlowContents::Style::Style):