1 2013-08-13 Ryosuke Niwa <rniwa@webkit.org>
3 Yet another Windows build fix attempt after r153978.
5 * page/win/DragControllerWin.cpp:
6 (WebCore::DragController::declareAndWriteDragImage):
8 2013-08-13 Ryosuke Niwa <rniwa@webkit.org>
10 Another Windows build fix attempt after r153978.
12 * page/win/DragControllerWin.cpp:
14 2013-08-12 Ryosuke Niwa <rniwa@webkit.org>
16 Windows build fix attempt after r153978.
18 * page/win/DragControllerWin.cpp:
20 2013-08-12 Zan Dobersek <zdobersek@igalia.com>
22 ASSERTION FAILED: type() == Percent in WebCore::Length::percent
23 https://bugs.webkit.org/show_bug.cgi?id=116715
25 Reviewed by Darin Adler.
27 Allow the Calculated type in the Length::percent method that returns the Length's
28 float value. This reflects the changes in r110148 that adjusted the Length::isPercent
29 method to return true for Length objects of either Percent or Calculated type.
31 Test: fast/css/calculated-length-as-percent-crash.html
34 (WebCore::Length::percent): Assert that Length::isPercent is true when Length::percent
35 is called, ensuring the Length's type is either Percent or Calculated.
37 2013-06-16 Darin Adler <darin@apple.com>
39 Move Clipboard::declareAndWriteDragImage to DragController
40 https://bugs.webkit.org/show_bug.cgi?id=117683
42 Reviewed by Brent Fulgham.
44 * dom/Clipboard.h: Removed declareAndWriteDragImage.
46 * page/DragController.cpp:
47 (WebCore::selectImageBeforeDragging): Half of the old prepareClipboardForImageDrag
48 is now refactored into this function.
49 (WebCore::DragController::startDrag): Where we called prepareClipboardForImageDrag,
50 instead call selectImageBeforeDragging and declareAndWriteDragImage. This is needed
51 because declareAndWriteDragImage needs to be a member function, for Mac at least.
53 * page/DragController.h: Added declareAndWriteDragImage.
55 * page/efl/DragControllerEfl.cpp:
56 (WebCore::DragController::declareAndWriteDragImage): Added empty placeholder.
57 It would be better to delete this file rather than having these placeholders.
58 I don't think EFL actually has drag support, and it makes work to have to keep
59 source files up to date that are really unused.
61 * page/gtk/DragControllerGtk.cpp:
62 (WebCore::DragController::declareAndWriteDragImage): Added. Calls Pasteboard::writeImage.
63 * page/mac/DragControllerMac.mm:
64 (WebCore::DragController::declareAndWriteDragImage): Added. Calls to DragClient, which
66 * page/qt/DragControllerQt.cpp:
67 (WebCore::DragController::declareAndWriteDragImage): Added. Calls Pasteboard::writeImage.
68 * page/win/DragControllerWin.cpp:
69 (WebCore::DragController::declareAndWriteDragImage): Added. Uses Pasteboard functions to
72 * platform/Clipboard.h: Changed the pasteboard function to return a non-const reference.
73 For now, it's not clear what const will mean for pasteboards, and it's currently not
74 possible to write to a const pasteboard, which we need to do in the new
75 DragController::declareAndWriteDragImage functions.
77 * platform/Pasteboard.h: Added a new writeMarkup function, implemented only for Windows
80 * platform/efl/ClipboardEfl.cpp: Deleted declareAndWriteDragImage.
81 * platform/gtk/ClipboardGtk.cpp: Ditto.
82 * platform/ios/ClipboardIOS.h: Ditto.
83 * platform/ios/ClipboardIOS.mm: Ditto.
84 * platform/mac/ClipboardMac.mm: Ditto.
85 * platform/qt/ClipboardQt.cpp: Ditto.
86 * platform/win/ClipboardWin.cpp: Ditto.
88 * platform/win/PasteboardWin.cpp:
89 (WebCore::Pasteboard::writePlainTextToDataObject): Took out a pointless line of code.
90 (WebCore::Pasteboard::writeMarkup): Added. Currently implemented only for Windows.
91 This factors out a significant piece of DragController::declareAndWriteDragImage,
92 and will probably be handy for other platforms later.
94 2013-08-12 Ryosuke Niwa <rniwa@webkit.org>
96 Fix NULL de-refernce in HTMLAnchorElement::sendPings when settings doesn't exist
97 https://bugs.webkit.org/show_bug.cgi?id=119716
99 Reviewed by Darin Adler.
101 Merge https://chromium.googlesource.com/chromium/blink/+/d5783da353ab783e9994b8fbecd91880be5192a1
103 No new tests since the test in the Blink change doesn't reproduce crash on WebKit.
105 * html/HTMLAnchorElement.cpp:
106 (WebCore::HTMLAnchorElement::sendPings):
108 2013-08-12 Seokju Kwon <seokju@webkit.org>
110 Use the correct preprocessor in shouldRepaintFixedBackgroundsOnScroll()
111 https://bugs.webkit.org/show_bug.cgi?id=119710
113 Reviewed by Darin Adler.
115 No behavior change, no new tests needed.
117 * rendering/RenderObject.cpp: Remove unused parameter warning.
118 (WebCore::shouldRepaintFixedBackgroundsOnScroll):
120 2013-08-12 Alexey Proskuryakov <ap@apple.com>
122 http/tests/security/sandboxed-iframe-invalid.html is flaky on Mac
123 https://bugs.webkit.org/show_bug.cgi?id=85522
125 Reviewed by Andy Estes.
127 Drive-by FIXMEs and trivial fixes for WebCore issues I noticed while working
128 on this bug. No behavior change expected.
130 * loader/FrameLoader.cpp:
131 (WebCore::FrameLoader::submitForm):
132 (WebCore::FrameLoader::findFrameForNavigation):
133 * loader/NavigationScheduler.cpp:
134 (WebCore::ScheduledFormSubmission::fire):
136 2013-08-13 Ryosuke Niwa <rniwa@webkit.org>
138 Fix variable name |end| -> |size| in EventTarget::fireEventListeners
139 https://bugs.webkit.org/show_bug.cgi?id=119715
141 Reviewed by Benjamin Poulain.
143 Merge https://chromium.googlesource.com/chromium/blink/+/f58b017539c48059bb2b88d18ee0ee3d14decb01
144 and also fix variable names in FiringEventIterator.
146 * dom/EventTarget.cpp:
147 (WebCore::EventTarget::removeEventListener):
148 (WebCore::EventTarget::fireEventListeners):
149 (WebCore::EventTarget::removeAllEventListeners):
151 (WebCore::FiringEventIterator::FiringEventIterator):
153 2013-08-12 Ryosuke Niwa <rniwa@webkit.org>
155 Encapsulate access to documentNamedItemMap and windowNamedItemMap
156 https://bugs.webkit.org/show_bug.cgi?id=119701
158 Reviewed by Darin Adler.
160 Encapsulate m_documentNamedItem and m_windowNamedItem by adding various methods on HTMLDocument.
161 This will help us doing more refactorings in the future.
163 * bindings/js/JSDOMWindowCustom.cpp:
164 (WebCore::namedItemGetter):
165 (WebCore::JSDOMWindow::getOwnPropertySlot):
166 (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
167 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
168 * bindings/js/JSHTMLDocumentCustom.cpp:
169 (WebCore::JSHTMLDocument::canGetItemsForName):
170 (WebCore::JSHTMLDocument::nameGetter):
172 (WebCore::Element::updateNameForDocument):
173 (WebCore::Element::updateIdForDocument):
174 * html/HTMLDocument.cpp:
175 (WebCore::HTMLDocument::addDocumentNamedItem): Added.
176 (WebCore::HTMLDocument::removeDocumentNamedItem): Added.
177 (WebCore::HTMLDocument::addWindowNamedItem): Added.
178 (WebCore::HTMLDocument::removeWindowNamedItem): Added.
179 * html/HTMLDocument.h:
180 (WebCore::HTMLDocument::documentNamedItem): Added.
181 (WebCore::HTMLDocument::hasDocumentNamedItem): Added.
182 (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements): Added.
183 (WebCore::HTMLDocument::windowNamedItem): Added.
184 (WebCore::HTMLDocument::hasWindowNamedItem): Added.
185 (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements): Added.
186 * html/HTMLImageElement.cpp:
187 (WebCore::HTMLImageElement::parseAttribute):
188 * html/HTMLObjectElement.cpp:
189 (WebCore::HTMLObjectElement::updateDocNamedItem):
191 2013-08-12 Patrick Gansterer <paroga@webkit.org>
193 [CMake] Use the correct list of files when compiling ANGLESupport on Windows
194 https://bugs.webkit.org/show_bug.cgi?id=119439
196 Reviewed by Gyuyoung Kim.
198 * CMakeLists.txt: Use ossource_win.cpp instead of ossource_posix.cpp on Windows platforms.
200 2013-08-12 Arnaud Renevier <a.renevier@samsung.com>
202 [cairo] memory corruption with putImageData and accelerated canvas.
203 https://bugs.webkit.org/show_bug.cgi?id=118621
205 Reviewed by Martin Robinson.
207 When we have an accelerated imageBuffer, and we putByteArray with a
208 non zero destPoint, we create temporary surface of sourceSize. Then,
209 we write to image data with an offset. This results in an out of bound
212 In order to avoid that, we use a 0 offset when writing data.
214 In addition, we also create image with the minimal needed size in
215 getImageData, and also use a 0 offset. This decrease data transfer
218 Instead of the map/unmap mechanism, perform an explicit surface copy
219 when needed. This change also removes an unneeded glReadPixels at the
220 start of putByteArray
222 Add two parameters to copyRectFromOneSurfaceToAnother: destination
223 offset, and cairo drawing operator.
225 No new tests. Accelerated canvas is not enabled for testing yet.
227 * platform/graphics/cairo/CairoUtilities.cpp:
228 (WebCore::copyRectFromOneSurfaceToAnother):
229 * platform/graphics/cairo/CairoUtilities.h:
230 * platform/graphics/cairo/ImageBufferCairo.cpp:
231 (WebCore::copySurfaceToImageAndAdjustRect):
232 (WebCore::getImageData):
233 (WebCore::ImageBuffer::putByteArray):
235 2013-08-12 Ryosuke Niwa <rniwa@webkit.org>
237 Use const AtomicStringImpl* in DocumentOrderedMap
238 https://bugs.webkit.org/show_bug.cgi?id=119700
240 Reviewed by Benjamin Poulain.
242 Use const AtomicStringImpl* in DocumentOrderedMap. It caught at least one bug that HTMLNameCollection'
243 subclasses' nodeMatches were taking const AtomicString& instead of AtomicStringImpl*. This was forcing
244 DocumentOrderedMap::getElementByWindowNamedItem and DocumentOrderedMap::getElementByDocumentNamedItem
245 to create temporary AtomicStrings.
247 * dom/DocumentOrderedMap.cpp:
248 (WebCore::keyMatchesId):
249 (WebCore::keyMatchesName):
250 (WebCore::keyMatchesMapName):
251 (WebCore::keyMatchesLowercasedMapName):
252 (WebCore::keyMatchesLabelForAttribute):
253 (WebCore::keyMatchesWindowNamedItem):
254 (WebCore::keyMatchesDocumentNamedItem):
255 (WebCore::DocumentOrderedMap::add):
256 (WebCore::DocumentOrderedMap::remove):
257 (WebCore::DocumentOrderedMap::get):
258 (WebCore::DocumentOrderedMap::getElementById):
259 (WebCore::DocumentOrderedMap::getElementByName):
260 (WebCore::DocumentOrderedMap::getElementByMapName):
261 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
262 (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
263 (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
264 (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
265 (WebCore::DocumentOrderedMap::getAllElementsById):
266 * dom/DocumentOrderedMap.h:
267 (WebCore::DocumentOrderedMap::containsSingle):
268 (WebCore::DocumentOrderedMap::contains):
269 (WebCore::DocumentOrderedMap::containsMultiple):
270 * html/HTMLNameCollection.cpp:
271 (WebCore::WindowNameCollection::nodeMatches):
272 (WebCore::DocumentNameCollection::nodeMatches):
273 * html/HTMLNameCollection.h:
274 (WebCore::WindowNameCollection::nodeMatches):
275 (WebCore::DocumentNameCollection::nodeMatches):
277 2013-08-12 Beth Dakin <bdakin@apple.com>
279 The LayoutMilestones didLayout callback should only fire for the main frame
280 https://bugs.webkit.org/show_bug.cgi?id=119457
282 Reviewed by Sam Weinig.
284 This patch makes it so that FrameLoader::didLayout(LayoutMilestones) is only ever
285 called for the main frame. Technically this will change existing API for
286 didFirstVisuallyNonEmptyLayoutInFrame and didFirstLayoutInFrame. Clients used to
287 be able to register for those callbacks for any frame they wanted, however, now
288 they will only ever get the callback when it applies to the main frame. We think
289 that this is acceptable since we don’t know of any clients that ever used those
290 APIs for a non-main frame. This change also makes nothing but sense for the
291 didLayout(LayoutMilestones) callback, since that is a Page-level concept, so it
292 should only fire for the main frame.
294 Only call didLayout for the main frame.
296 (WebCore::Document::setVisualUpdatesAllowed):
298 Assert that this is the main frame.
299 * loader/FrameLoader.cpp:
300 (WebCore::FrameLoader::didLayout):
302 Only call didLayout for the main frame.
303 * page/FrameView.cpp:
304 (WebCore::FrameView::performPostLayoutTasks):
306 2013-08-12 Christophe Dumez <ch.dumez@sisa.samsung.com>
308 Define DOM_KEY_LOCATION_* constants on KeyboardEvent
309 https://bugs.webkit.org/show_bug.cgi?id=119341
311 Reviewed by Ryosuke Niwa.
313 Add support for the DOM_KEY_LOCATION_* constants on KeyboardEvent as per
315 http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent
317 Those constants are already supported by IE10, Firefox 22 and since
320 Note that the following constants are not supported / exposed yet:
321 DOM_KEY_LOCATION_MOBILE and DOM_KEY_LOCATION_JOYSTICK.
323 Test: fast/events/keyboardevent-location-constants.html
325 * dom/KeyboardEvent.cpp:
326 (WebCore::keyLocationCode):
327 (WebCore::KeyboardEvent::KeyboardEvent):
328 * dom/KeyboardEvent.h:
329 * dom/KeyboardEvent.idl:
331 2013-08-12 Tim Horton <timothy_horton@apple.com>
333 dataLog dumpers for WebCore's basic geometry types
334 https://bugs.webkit.org/show_bug.cgi?id=119636
336 Reviewed by Filip Pizlo.
338 * platform/graphics/FloatPoint.cpp:
339 (WebCore::FloatPoint::dump):
340 * platform/graphics/FloatPoint.h:
341 * platform/graphics/FloatRect.cpp:
342 (WebCore::FloatRect::dump):
343 * platform/graphics/FloatRect.h:
344 * platform/graphics/FloatSize.cpp:
345 (WebCore::FloatSize::dump):
346 * platform/graphics/FloatSize.h:
347 * platform/graphics/IntPoint.h:
348 (WebCore::IntPoint::dump):
349 * platform/graphics/IntRect.cpp:
350 (WebCore::IntRect::dump):
351 * platform/graphics/IntRect.h:
352 * platform/graphics/IntSize.h:
353 (WebCore::IntSize::dump):
355 2013-08-12 Dean Jackson <dino@apple.com>
357 Shadows don't support viewport units
358 https://bugs.webkit.org/show_bug.cgi?id=119649
360 Reviewed by Darin Adler.
362 We don't yet support viewport units in shadows, so
363 fail parsing if we see one. The bug to fix this
364 completely is: https://webkit.org/b/119650
366 Test: fast/css/shadow-viewport-units.html
369 (WebCore::CSSParser::parseShadow): Fail if we get one of
372 2013-08-12 peavo@outlook.com <peavo@outlook.com>
374 [Curl] Cookie is not set when url string is unicode.
375 https://bugs.webkit.org/show_bug.cgi?id=119545
377 Reviewed by Brent Fulgham.
379 When the method setCookiesFromDOM is called with an unicode url parameter, the cookie is not correctly set.
380 We need to convert the cookie string to 8 bit, before passing it to the Curl api function.
382 * platform/network/curl/CookieJarCurl.cpp:
383 (WebCore::setCookiesFromDOM): Convert cookie string to 8 bit, if needed.
385 2013-08-12 Eric Carlson <eric.carlson@apple.com>
387 Revert r153912 because it broke some track tests.
389 Rubber-stamped by Antti Koivisto.
391 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
392 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
393 (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack):
395 2013-08-12 Antti Koivisto <antti@apple.com>
397 Add ElementTraversal::next/previousSibling
398 https://bugs.webkit.org/show_bug.cgi?id=119681
400 Reviewed by Andreas Kling.
402 Add nextSibling/previousSibling/lastWithin to ElementTraversal namespace.
404 - Use them to replace internal use of Element::next/previousElementSibling DOM API for traversal.
405 - Replace some Node::nextSibling() usage with ElementTraversal::nextSibling() for tighter code.
406 - Replace ElementTraversal::nextSkippingChildren where it is used to traverse over immediate children only.
408 * css/SelectorChecker.cpp:
409 (WebCore::isFirstChildElement):
410 (WebCore::isLastChildElement):
411 (WebCore::isFirstOfType):
412 (WebCore::isLastOfType):
413 (WebCore::countElementsBefore):
414 (WebCore::countElementsOfTypeBefore):
415 (WebCore::countElementsAfter):
416 (WebCore::countElementsOfTypeAfter):
418 (WebCore::Element::lastElementChild):
419 (WebCore::Element::previousElementSibling):
420 (WebCore::Element::nextElementSibling):
422 * dom/ElementTraversal.h:
423 (WebCore::ElementTraversal::lastElementWithinTemplate):
424 (WebCore::ElementTraversal::lastWithin):
425 (WebCore::ElementTraversal::traverseNextSiblingElementTemplate):
426 (WebCore::ElementTraversal::nextSibling):
427 (WebCore::ElementTraversal::traversePreviousSiblingElementTemplate):
428 (WebCore::ElementTraversal::previousSibling):
429 * editing/ApplyStyleCommand.cpp:
430 (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
431 (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
432 * editing/CompositeEditCommand.cpp:
433 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
434 * editing/IndentOutdentCommand.cpp:
435 (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
436 * editing/InsertListCommand.cpp:
437 (WebCore::InsertListCommand::mergeWithNeighboringLists):
438 * editing/markup.cpp:
439 (WebCore::createContextualFragment):
440 * html/HTMLCollection.cpp:
441 (WebCore::firstMatchingChildElement):
442 (WebCore::nextMatchingSiblingElement):
443 (WebCore::HTMLCollection::traverseNextElement):
444 (WebCore::HTMLCollection::traverseForwardToOffset):
445 * html/HTMLFieldSetElement.cpp:
446 (WebCore::HTMLFieldSetElement::childrenChanged):
447 (WebCore::HTMLFieldSetElement::legend):
448 * html/HTMLMediaElement.cpp:
449 (WebCore::HTMLMediaElement::finishParsingChildren):
450 * html/HTMLObjectElement.cpp:
451 (WebCore::HTMLObjectElement::containsJavaApplet):
452 * rendering/FilterEffectRenderer.cpp:
453 (WebCore::FilterEffectRenderer::buildReferenceFilter):
454 * style/StyleResolveTree.cpp:
455 (WebCore::Style::resolveTree):
456 * svg/SVGStyledElement.cpp:
457 (WebCore::SVGStyledElement::title):
459 2013-08-12 Allan Sandfeld Jensen <allan.jensen@digia.com>
461 [Qt] Add Support for canvas blend modes
462 https://bugs.webkit.org/show_bug.cgi?id=100072
464 Reviewed by Jocelyn Turcotte.
466 Implement basic support for the blend-modes supported by QPainter.
468 Covered by existing tests.
470 * platform/graphics/qt/GraphicsContextQt.cpp:
471 (WebCore::toQtCompositionMode):
472 (WebCore::GraphicsContext::setPlatformCompositeOperation):
473 * platform/graphics/qt/ImageBufferQt.cpp:
474 (WebCore::ImageBuffer::draw):
475 * platform/graphics/qt/ImageQt.cpp:
476 (WebCore::BitmapImage::draw):
477 * platform/graphics/qt/StillImageQt.cpp:
478 (WebCore::StillImage::draw):
480 2013-08-12 Gabor Abraham <abrhm@inf.u-szeged.hu>
482 Buildfix for !ENABLE(SVG). Fix warning by adding guard after r153901:
483 void WebCore::addString(WebCore::FeatureSet&, const char*)'
484 defined but not used [-Werror=unused-function]
486 Reviewed by Csaba Osztrogonác.
488 * dom/DOMImplementation.cpp:
490 2013-08-12 Antti Koivisto <antti@apple.com>
492 Move ElementTraversal to ElementTraversal.h
493 https://bugs.webkit.org/show_bug.cgi?id=119678
495 Rubber-stamped by Andreas Kling.
497 Move ElementTraversal namespace from NodeTraversal.h to a correctly named file.
499 * GNUmakefile.list.am:
501 * WebCore.vcxproj/WebCore.vcxproj:
502 * WebCore.xcodeproj/project.pbxproj:
503 * accessibility/AccessibilityRenderObject.cpp:
504 * css/StyleInvalidationAnalysis.cpp:
506 * dom/DocumentOrderedMap.cpp:
508 * dom/ElementTraversal.h: Added.
509 (WebCore::ElementTraversal::firstElementWithinTemplate):
510 (WebCore::ElementTraversal::firstWithin):
511 (WebCore::ElementTraversal::traverseNextElementTemplate):
512 (WebCore::ElementTraversal::next):
513 (WebCore::ElementTraversal::traverseNextElementSkippingChildrenTemplate):
514 (WebCore::ElementTraversal::nextSkippingChildren):
515 (WebCore::ElementTraversal::previousIncludingPseudo):
516 (WebCore::ElementTraversal::nextIncludingPseudo):
517 (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
518 (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
520 * dom/NodeTraversal.h:
521 * dom/SelectorQuery.cpp:
523 * dom/VisitedLinkState.cpp:
524 * editing/FrameSelection.cpp:
525 * editing/markup.cpp:
526 * html/HTMLCollection.cpp:
527 * html/HTMLFieldSetElement.cpp:
528 * html/HTMLFormElement.cpp:
529 * html/HTMLLabelElement.cpp:
530 * html/HTMLLegendElement.cpp:
531 * html/HTMLMapElement.cpp:
532 * html/HTMLObjectElement.cpp:
533 * html/HTMLSelectElement.cpp:
534 * html/shadow/ContentDistributor.cpp:
535 * page/FocusController.cpp:
536 * rendering/RenderCounter.cpp:
537 * rendering/RenderListItem.cpp:
538 * svg/SVGSVGElement.cpp:
539 * svg/SVGStyledElement.cpp:
540 * svg/SVGUseElement.cpp:
541 * svg/animation/SMILTimeContainer.cpp:
542 * svg/graphics/SVGImage.cpp:
544 2013-08-12 Antti Koivisto <antti@apple.com>
546 Move some Document recalcStyle code to StyleResolveTree
547 https://bugs.webkit.org/show_bug.cgi?id=119676
549 Reviewed by Andreas Kling.
551 Move the code that resolves the document and child styles to Style::resolveTree(Document*).
554 (WebCore::Document::recalcStyle):
555 * style/StyleResolveTree.cpp:
556 (WebCore::Style::resolveTree):
557 * style/StyleResolveTree.h:
559 2013-08-12 Allan Sandfeld Jensen <allan.jensen@digia.com>
561 Resource leak related to gstreamer and videos
562 https://bugs.webkit.org/show_bug.cgi?id=109350
564 Reviewed by Eric Carlson.
566 Since active DOM object are only stopped once and can not be restarted, we can
567 unreference the media player there, instead of waiting for garbage collection.
569 If the r152778 is rolled back, this also breaks a circular reference between
570 GStreamer and WebKit which prevented garbage collecting from triggering.
572 * html/HTMLMediaElement.cpp:
573 (WebCore::HTMLMediaElement::stop):
575 2013-08-12 Gabor Rapcsanyi <rgabor@webkit.org>
577 [Qt] Unreviewed buildfix for webaudio.
579 * Target.pri: Add missing files
581 2013-08-12 Andreas Kling <akling@apple.com>
583 Some build juice for the Windows bots after r153926 + r153927.
585 * html/shadow/MediaControlElements.cpp:
586 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
587 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
588 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
590 2013-08-11 Sam Weinig <sam@webkit.org>
592 Move RenderMathMLSpace.h/cpp to the right group in the Xcode project.
594 Reviewed by Dean Jackson.
596 * WebCore.xcodeproj/project.pbxproj:
598 2013-08-11 Andreas Kling <akling@apple.com>
600 Make Page::settings() return a reference.
601 <http://webkit.org/b/119662>
603 Reviewed by Anders Carlsson.
605 ...and remove some pointless null checks that were exposed by doing this.
607 2013-08-11 Andreas Kling <akling@apple.com>
609 Make some things that return never-null pointers return references instead.
610 <http://webkit.org/b/119660>
612 Reviewed by Antti Koivisto.
614 These functions never return null anyway, so remove any ambiguity by letting
615 them return references instead of pointers.
617 - Node::ensureRareData()
618 - Element::ensureUniqueElementData()
619 - Element::ensureShadow()
620 - Element::ensureUserAgentShadowRoot()
621 - StyledElement::ensureMutableInlineStyle()
622 - NodeRareData::ensureNodeLists()
623 - NodeRareData::ensureMutationObserverData()
624 - EventTarget::ensureEventTargetData()
625 - Document::ensureStyleResolver()
626 - Document::selectorQueryCache()
627 - Document::mediaQueryMatcher()
628 - FlowThreadController::ensureRenderFlowThreadWithName()
629 - HTMLTrackElement::ensureTrack()
630 - SVGElement::ensureSVGRareData()
631 - AnimationControllerPrivate::ensureCompositeAnimation()
633 2013-08-11 Sam Weinig <sam@webkit.org>
635 Cleanup MediaQueryListListener
636 https://bugs.webkit.org/show_bug.cgi?id=119664
638 Reviewed by Andreas Kling.
640 Make MediaQueryListListener a proper WebIDL callback.
643 * DerivedSources.cpp:
644 * DerivedSources.make:
645 * DerivedSources.pri:
646 * GNUmakefile.list.am:
648 * WebCore.vcxproj/WebCore.vcxproj:
649 * WebCore.vcxproj/WebCore.vcxproj.filters:
650 * WebCore.xcodeproj/project.pbxproj:
651 Update project files.
653 * bindings/scripts/CodeGeneratorJS.pm:
654 (GenerateCallbackHeader):
655 (GenerateCallbackImplementation):
657 * bindings/scripts/IDLAttributes.txt:
658 Add support for CallbackNeedsOperatorEqual, which adds an operator==.
660 * css/MediaAllInOne.cpp:
661 Remove MediaQueryListListener.cpp.
663 * css/MediaQueryListListener.cpp:
666 * css/MediaQueryListListener.h:
667 (WebCore::MediaQueryListListener::~MediaQueryListListener):
668 (WebCore::MediaQueryListListener::MediaQueryListListener):
669 * css/MediaQueryListListener.idl:
670 Convert to a proper WebIDL callback.
672 * css/MediaQueryMatcher.cpp:
673 (WebCore::MediaQueryMatcher::Listener::evaluate):
674 (WebCore::MediaQueryMatcher::styleResolverChanged):
675 * css/MediaQueryMatcher.h:
676 Remove all traces of the ScriptState.
678 2013-08-11 Carlos Garcia Campos <cgarcia@igalia.com>
680 Unreviewed. Fix make distcheck.
682 * GNUmakefile.list.am: Remove unexistent header file.
684 2013-08-09 Gustavo Noronha Silva <gns@gnome.org>
686 [GObject] Wrap KeyboardEvent
687 https://bugs.webkit.org/show_bug.cgi?id=119651
689 Reviewed by Christophe Dumez.
691 This exposes KeyboardEvent to our GObject API. It is required for handling
692 keyboard events, such as keydown, keypress, and so on.
694 * bindings/gobject/GNUmakefile.am:
695 * bindings/gobject/WebKitDOMPrivate.cpp:
696 (WebKit::wrap): make sure we create a WebKitDOMKeyboardEvent for a DOM event that
698 * bindings/scripts/CodeGeneratorGObject.pm:
699 (GetBaseClass): make WebKitDOMEvent be WebKitDOMKeyboardEvent's parent, like we do
700 for WebKitDOMMouseEvent.
701 * dom/KeyboardEvent.idl: generate a single initialization method.
703 2013-08-09 Jer Noble <jer.noble@apple.com>
705 Crash in com.apple.WebKit.WebContent at com.apple.MediaToolbox.
706 https://bugs.webkit.org/show_bug.cgi?id=119645
708 Reviewed by Eric Carlson.
710 Work around crash caused by <rdar://problem/14688471> by releasing
711 m_request as soon as keys have been added to it.
713 * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
714 (WebCore::CDMSessionAVFoundation::update):
716 2013-08-09 Anders Carlsson <andersca@apple.com>
718 Artifacts seen sometimes with layer backed WebKit1 plug-in
719 https://bugs.webkit.org/show_bug.cgi?id=119647
720 <rdar://problem/14002715>
722 Reviewed by Beth Dakin.
724 Don't try to paint layer backed views - they will be painted by Core Animation.
726 * platform/mac/WidgetMac.mm:
727 (WebCore::Widget::paint):
729 2013-08-09 Rob Buis <rwlbuis@webkit.org>
731 ASSERTION FAILED: stroke->opacity != other->stroke->opacity in WebCore::SVGRenderStyle::diff
732 https://bugs.webkit.org/show_bug.cgi?id=119623
734 Reviewed by Dirk Schulze.
736 Include all the stroke attributes in the style diff comparison, the visited links ones were missing.
738 Test: svg/animations/animate-stroke-crasher.html
740 * rendering/style/SVGRenderStyle.cpp:
741 (WebCore::SVGRenderStyle::diff):
743 2013-08-09 Alexey Proskuryakov <ap@apple.com>
745 REGRESSION (r142755): window.open creates an invisible window when width and height are 0
746 https://bugs.webkit.org/show_bug.cgi?id=119633
748 Reviewed by Darin Adler.
750 Test: fast/dom/Window/open-zero-size-as-default.html
752 Relying on each WebKit to refuse setting size to zero was fragile - because this
753 required each one to have the check, and because by the time the client was called,
754 the initially zero size was not necessarily zero.
756 * loader/FrameLoader.cpp: (WebCore::createWindow): When sizes are zero, keep the
757 size the window was created with, because that's the default one by definition.
759 * page/DOMWindow.cpp: (WebCore::DOMWindow::adjustWindowRect): It's too late to
760 check for zero size now, it's been mangled to adjust for the difference between
761 window and viewport size.
763 2013-08-09 Eric Carlson <eric.carlson@apple.com>
765 [Mac] some track language tags are not recognized
766 https://bugs.webkit.org/show_bug.cgi?id=119643
768 Reviewed by Dean Jackson.
770 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
771 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Always call languageOfPrimaryAudioTrack(),
772 a track may have changed so we may have a new language.
773 (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Call [AVAssetTrack languageCode]
774 if [AVAssetTrack extendedLanguageTag] returns NULL in case the media file has an old
775 QuickTime language code.
777 2013-08-09 Dean Jackson <dino@apple.com>
779 Captions menu needs to reset text-align
780 https://bugs.webkit.org/show_bug.cgi?id=119637
782 Reviewed by Eric Carlson.
784 Reset the text-align property on the menu so that it
785 doesn't get the inherited value. The full fix for all
786 controls is http://webkit.org/b/116100.
788 * css/mediaControlsQuickTime.css:
789 (video::-webkit-media-controls-closed-captions-container):
791 2013-08-09 Beth Dakin <bdakin@apple.com>
793 AX: Not able to use arrow keys to read text in a WK2 app
794 https://bugs.webkit.org/show_bug.cgi?id=119605
796 <rdar://problem/14281275>
798 Reviewed by Darin Adler.
800 This code from defaultKeyboardEventHandler() is the magic that makes this AX
801 functionality work. This patch moves that into a separate function so that we can
804 * page/EventHandler.cpp:
805 (WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
806 (WebCore::EventHandler::defaultKeyboardEventHandler):
807 * page/EventHandler.h:
809 2013-08-09 Antti Koivisto <antti@apple.com>
811 Move static StyleResolver functions to Style namespace
812 https://bugs.webkit.org/show_bug.cgi?id=119629
814 Reviewed by Sam Weinig and Andreas Kling.
816 - Move static font size computation functions to StyleFontSizeFunctions.h/.cpp
817 - Move StyleResolver::styleForDocument to Style::resolveForDocument
819 * WebCore.xcodeproj/project.pbxproj:
820 * css/DeprecatedStyleBuilder.cpp:
821 (WebCore::ApplyPropertyFontFamily::applyInitialValue):
822 (WebCore::ApplyPropertyFontFamily::applyValue):
823 (WebCore::ApplyPropertyFontSize::applyInitialValue):
824 (WebCore::ApplyPropertyFontSize::applyValue):
825 * css/StyleResolver.cpp:
826 (WebCore::StyleResolver::adjustRenderStyle):
827 (WebCore::checkForOrientationChange):
828 (WebCore::StyleResolver::applyProperty):
829 (WebCore::StyleResolver::checkForGenericFamilyChange):
830 (WebCore::StyleResolver::initializeFontStyle):
831 (WebCore::StyleResolver::setFontSize):
832 * css/StyleResolver.h:
834 (WebCore::Document::recalcStyle):
835 * editing/EditingStyle.cpp:
836 (WebCore::legacyFontSizeFromCSSValue):
837 * html/HTMLLinkElement.cpp:
838 (WebCore::HTMLLinkElement::process):
839 * rendering/style/RenderStyle.cpp:
840 (WebCore::RenderStyle::getFontAndGlyphOrientation):
842 Moved from StyleResolver.cpp so it can be used by Style::resolveForDocument().
843 This depends on RenderStyle only so it is a natural member function.
845 * rendering/style/RenderStyle.h:
846 * rendering/svg/RenderSVGInlineText.cpp:
847 (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
848 * style/StyleFontSizeFunctions.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
849 (WebCore::Style::computedFontSizeFromSpecifiedSize):
850 (WebCore::Style::computedFontSizeFromSpecifiedSizeForSVGInlineText):
851 (WebCore::Style::fontSizeForKeyword):
852 (WebCore::Style::legacyFontSizeForPixelSize):
853 * style/StyleFontSizeFunctions.h: Added.
854 * style/StyleResolveForDocument.cpp: Added.
855 (WebCore::Style::resolveForDocument):
856 * style/StyleResolveForDocument.h: Added.
858 2013-08-09 Christophe Dumez <ch.dumez@sisa.samsung.com>
860 Add support for KeyboardEvent.location attribute
861 https://bugs.webkit.org/show_bug.cgi?id=119326
863 Reviewed by Benjamin Poulain.
865 Add support for KeyboardEvent.location attribute as per the latest specification:
866 http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-KeyboardEvent
868 IE10, Firefox 22 and recently Blink all support KeyboardEvent.location already.
870 The deprecated 'keyLocation' attribute was not removed to maintain backward
873 No new tests, covered by existing tests.
875 * bindings/objc/PublicDOMInterfaces.h:
876 * bindings/scripts/CodeGeneratorJS.pm:
877 (GenerateConstructorDefinition):
878 * dom/KeyboardEvent.cpp:
879 (WebCore::KeyboardEventInit::KeyboardEventInit):
880 (WebCore::KeyboardEvent::KeyboardEvent):
881 (WebCore::KeyboardEvent::initKeyboardEvent):
882 * dom/KeyboardEvent.h:
883 (WebCore::KeyboardEvent::location):
884 * dom/KeyboardEvent.idl:
886 2013-08-09 Christophe Dumez <ch.dumez@sisa.samsung.com>
888 Make atob() throw an InvalidCharacterError on excess padding characters
889 https://bugs.webkit.org/show_bug.cgi?id=118898
891 Reviewed by Darin Adler.
893 According to the latest specification, window.atob() should throw an
894 InvalidCharacterError on excess padding characters:
895 http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#dom-windowbase64-atob
897 This behavior is consistent with both Firefox, IE10 and recently Blink.
899 No new tests, already covered by:
900 fast/dom/Window/atob-btoa.html
902 * page/DOMWindow.cpp:
903 (WebCore::DOMWindow::atob):
905 2013-08-09 Christophe Dumez <ch.dumez@sisa.samsung.com>
907 Make DOMImplementation::hasFeature() behave according to specification
908 https://bugs.webkit.org/show_bug.cgi?id=119329
910 Reviewed by Ryosuke Niwa.
912 Make DOMImplementation::hasFeature() behave according to the latest specification:
913 http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
915 Specifically, the function should now return true unconditionally for any non-SVG feature.
916 This behavior is consistent with Firefox and since recently Blink.
918 hasFeature() originally would report whether the user agent claimed to support a
919 given DOM feature, but experience proved it was not nearly as reliable or granular
920 as simply checking whether the desired interfaces, attributes, or methods existed.
921 As such, it should no longer be used, but continues to exist (and simply returns
922 true) so that old pages don't stop working.
924 No new tests, covered by existing tests.
926 * dom/DOMImplementation.cpp:
927 (WebCore::isSupportedSVG10Feature):
928 (WebCore::isSupportedSVG11Feature):
929 (WebCore::DOMImplementation::hasFeature):
931 2013-08-09 Alejandro G. Castro <alex@igalia.com>
933 [GTK] [EFL] Enable tiled shadow blur for the inset shadows.
934 https://bugs.webkit.org/show_bug.cgi?id=119078
936 Reviewed by Martin Robinson.
938 Already covered in the tests.
940 * platform/graphics/GraphicsContext.cpp:
941 * platform/graphics/cairo/GraphicsContextCairo.cpp:
942 (WebCore::fillCurrentCairoPath): Added to allow fill the path
944 (WebCore::shadowAndFillCurrentCairoPath):
945 (WebCore::GraphicsContext::fillRectWithRoundedHole): Added cairo
948 2013-08-09 Jakob Petsovits <jpetsovits@blackberry.com>
950 [BlackBerry] Don't release the canvas Drawable, flush it directly instead.
951 https://bugs.webkit.org/show_bug.cgi?id=119589
952 https://jira.bbqnx.net/browse/BRWSR-12531
955 Reviewed by George Staikos.
957 The previous code here used releaseBufferDrawable() to
958 flush painted ImageBuffer contents, but then proceeded
959 to use that released Drawable for further painting
960 without ever locking a new one.
962 In an implementation that actually releases the Drawable
963 rather than keeping it around and just flushing it,
964 this will wreak havoc as bad as black screens or crashes.
966 As a solution that doesn't require the ImageBuffer object
967 to swap out its m_canvas member for a new Drawable, we can
968 access the PlatformGraphicsContext::flush() method directly
969 to achieve the same effect as was previously intended by
970 calling releaseBufferDrawable(). All it needs is letting
971 the canvas layer know about the Drawable so it can call
972 that flush() method by itself.
974 No new tests, verified by not crashing with an aforementioned
975 implementation of releaseBufferDrawable().
977 * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
978 (WebCore::CanvasLayerCompositingThreadClient::CanvasLayerCompositingThreadClient):
979 (WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):
980 (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
981 * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
982 (WebCore::CanvasLayerWebKitThread::create):
983 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
984 (WebCore::ImageBuffer::ImageBuffer):
985 (WebCore::ImageBuffer::~ImageBuffer):
987 2013-08-08 Allan Sandfeld Jensen <allan.jensen@digia.com>
989 [Qt][WK2] Composited and transformed links asserts in tap highlight
990 https://bugs.webkit.org/show_bug.cgi?id=94345
992 Reviewed by Jocelyn Turcotte.
994 Use a mapping that does not assert when hitting transforms. We still skip
995 transforms that produces non-rectangular areas.
997 * page/GestureTapHighlighter.cpp:
999 2013-08-09 Gabor Abraham <abrhm@inf.u-szeged.hu>
1001 Buildfix. Fix warning after r153887:
1002 control reaches end of non-void function [-Werror=return-type]
1004 Reviewed by Csaba Osztrogonác.
1006 * svg/SVGAnimateElement.cpp:
1007 (WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition):
1009 2013-08-09 Bruno de Oliveira Abinader <bruno.d@partner.samsung.com>
1011 Text decorations should be listed as non-inheritable
1012 https://bugs.webkit.org/show_bug.cgi?id=119608
1014 Reviewed by Andreas Kling.
1016 Both "text-decoration" specs (CSS 2.1, CSS 3) and "text-decoration-line"
1017 spec (CSS 3) states these properties are not inherited (w/ exceptions,
1018 which are currently handled by -in-effect property), however those were
1019 listed as inherited for no reason - thus preserving behavior as shown by
1020 layout test results.
1022 Backported from Blink: https://codereview.chromium.org/20751008
1024 Updated getComputedStyle tests for both 'text-decoration' and
1025 'text-decoration-line' properties to check that both are not implicitly
1028 * css/CSSProperty.cpp:
1029 (WebCore::CSSProperty::isInheritedProperty):
1031 2013-08-09 Andreas Kling <akling@apple.com>
1033 I wish we had a Windows EWS. :(
1035 * css/ElementRuleCollector.cpp:
1036 (WebCore::ElementRuleCollector::doCollectMatchingRulesForList): No range-based for today.
1038 2013-08-09 Rob Buis <rwlbuis@webkit.org>
1040 ASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
1041 https://bugs.webkit.org/show_bug.cgi?id=113224
1043 Reviewed by Darin Adler.
1045 Do not perform from-by animations for non-additive attributes.
1047 Test: svg/animations/non-additive-type-from-by-animation.html
1049 * svg/SVGAnimateElement.cpp:
1050 (WebCore::SVGAnimateElement::calculateFromAndByValues):
1051 (WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition):
1052 (WebCore::SVGAnimateElement::isAdditive):
1053 * svg/SVGAnimateElement.h:
1055 2013-08-09 Rob Buis <rwlbuis@webkit.org>
1057 ASSERT(m_type == toSVGTransform.type())
1058 https://bugs.webkit.org/show_bug.cgi?id=113217
1060 Reviewed by Darin Adler.
1062 For to animations clear the transform list while animating and reset to it after the animation is done.
1063 This matches Firefox and Opera 12 behavior.
1065 Tests: svg/animations/animateTransform-to-scale-expected.svg
1066 svg/animations/animateTransform-to-scale.svg
1068 * svg/SVGAnimatedTransformList.cpp:
1069 (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
1071 2013-08-09 Arunprasad Rajkumar <arurajku@cisco.com>
1073 [Qt] QtWebKit should allow sending domain specific keycode to HTML applications
1074 https://bugs.webkit.org/show_bug.cgi?id=118445
1076 Reviewed by Allan Sandfeld Jensen.
1078 No new test required, it is covered by QtWebKit API test.
1080 This fix allows sending QKeyEvent::nativeVirtualKey as the DOM KeyboardEvent keyCode value instead
1081 of Windows virtual key code. It can be enabled/disabled using "_q_useNativeVirtualKeyAsDOMKey"
1082 dynamic property present in QWebPage.
1084 * platform/PlatformKeyboardEvent.h:
1085 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1086 * platform/qt/PlatformKeyboardEventQt.cpp:
1087 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1088 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1090 2013-08-09 Renata Hodovan <reni@webkit.org>
1092 Missing NULL check in ApplyStyleCommand::applyInlineStyleToNodeRange()
1093 https://bugs.webkit.org/show_bug.cgi?id=119570
1095 Reviewed by Ryosuke Niwa.
1097 The m_mutableStyleSet of EditingStyle can be NULL in ApplyStyleCommand::applyInlineStyleToNodeRange but
1098 this scenario was not checked earlier.
1100 Test: editing/execCommand/null-style-crash.html
1102 * css/StylePropertySet.cpp:
1103 (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
1104 * css/StylePropertySet.h:
1105 * css/ViewportStyleResolver.cpp:
1106 (WebCore::ViewportStyleResolver::addViewportRule):
1107 * editing/ApplyStyleCommand.cpp:
1108 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1109 * editing/EditingStyle.cpp:
1110 (WebCore::styleFromMatchedRulesForElement):
1111 (WebCore::EditingStyle::mergeStyleFromRules):
1112 (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1114 2013-08-09 Andreas Kling <akling@apple.com>
1116 ElementRuleCollector: Use range-based for syntax in rule collection loop.
1117 <http://webkit.org/b/119617>
1118 <rdar://problem/14695311>
1120 Reviewed by Antti Koivisto.
1122 * css/ElementRuleCollector.cpp:
1123 (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
1125 2013-08-09 Andreas Kling <akling@apple.com>
1127 StyleRule*::properties() should return const references.
1128 <http://webkit.org/b/119596>
1130 Reviewed by Antti Koivisto.
1132 Make StyleRule::properties() & friends return const-references instead of
1133 pointers. This exposed some pointless null checking, since rules should
1134 always have properties.
1136 All rule objects that contain properties now require a StylePropertySet at
1137 the time of construction instead having you call setProperties() later.
1139 The only rules that could ever have null properties were the default-inserted
1140 animation keyframe rules for 0% and 100% that we'd conjure up if the author
1141 didn't provide them. Now they just have an empty property set instead.
1143 * css/CSSFontFaceRule.cpp:
1144 (WebCore::CSSFontFaceRule::cssText):
1145 * css/CSSFontSelector.cpp:
1146 (WebCore::CSSFontSelector::addFontFaceRule):
1147 * css/CSSPageRule.cpp:
1148 (WebCore::CSSPageRule::cssText):
1149 * css/CSSParser.cpp:
1150 (WebCore::CSSParser::createFilterRule):
1151 (WebCore::CSSParser::createStyleRule):
1152 (WebCore::CSSParser::createFontFaceRule):
1153 (WebCore::CSSParser::rewriteSpecifiers):
1154 * css/CSSStyleRule.cpp:
1155 (WebCore::CSSStyleRule::cssText):
1156 * css/ElementRuleCollector.cpp:
1157 (WebCore::leftToRightDeclaration):
1158 (WebCore::rightToLeftDeclaration):
1159 (WebCore::ElementRuleCollector::addElementStyleProperties):
1160 (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
1161 * css/PageRuleCollector.cpp:
1162 (WebCore::PageRuleCollector::matchPageRulesForList):
1163 * css/StylePropertySet.cpp:
1164 (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict):
1165 * css/StylePropertySet.h:
1166 * css/StyleResolver.cpp:
1167 (WebCore::StyleResolver::MatchResult::addMatchedProperties):
1168 (WebCore::StyleResolver::styleForKeyframe):
1169 (WebCore::StyleResolver::keyframeStylesForAnimation):
1170 * css/StyleResolver.h:
1171 * css/StyleRule.cpp:
1172 (WebCore::StyleRule::StyleRule):
1173 (WebCore::StyleRule::create):
1174 (WebCore::StyleRulePage::StyleRulePage):
1175 (WebCore::StyleRuleFontFace::StyleRuleFontFace):
1176 (WebCore::StyleRuleViewport::StyleRuleViewport):
1177 (WebCore::StyleRuleViewport::mutableProperties):
1178 (WebCore::StyleRuleFilter::StyleRuleFilter):
1180 (WebCore::StyleRule::create):
1181 (WebCore::StyleRule::properties):
1182 (WebCore::StyleRuleFontFace::create):
1183 (WebCore::StyleRuleFontFace::properties):
1184 (WebCore::StyleRulePage::create):
1185 (WebCore::StyleRulePage::properties):
1186 (WebCore::StyleRuleViewport::create):
1187 (WebCore::StyleRuleViewport::properties):
1188 (WebCore::StyleRuleFilter::create):
1189 (WebCore::StyleRuleFilter::properties):
1190 * css/StyleSheetContents.cpp:
1191 (WebCore::StyleSheetContents::addSubresourceStyleURLs):
1192 (WebCore::childRulesHaveFailedOrCanceledSubresources):
1193 * css/WebKitCSSFilterRule.cpp:
1194 (WebCore::WebKitCSSFilterRule::cssText):
1195 * css/WebKitCSSKeyframeRule.cpp:
1196 (WebCore::StyleKeyframe::StyleKeyframe):
1197 (WebCore::StyleKeyframe::mutableProperties):
1198 * css/WebKitCSSKeyframeRule.h:
1199 (WebCore::StyleKeyframe::create):
1200 (WebCore::StyleKeyframe::properties):
1201 * css/WebKitCSSViewportRule.cpp:
1202 (WebCore::WebKitCSSViewportRule::cssText):
1203 * editing/ApplyStyleCommand.cpp:
1204 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1205 * editing/EditingStyle.cpp:
1206 (WebCore::EditingStyle::mergeStyleFromRules):
1207 (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1208 * inspector/InspectorStyleSheet.cpp:
1209 (WebCore::InspectorStyleSheet::revalidateStyle):
1210 * page/PageSerializer.cpp:
1211 (WebCore::PageSerializer::retrieveResourcesForRule):
1212 * svg/SVGFontFaceElement.cpp:
1213 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1214 (WebCore::SVGFontFaceElement::fontFamily):
1215 (WebCore::SVGFontFaceElement::rebuildFontFace):
1217 2013-08-09 Julien Brianceau <jbrianceau@nds.com>
1219 [Qt] Fix build (broken by changeset r153826).
1220 https://bugs.webkit.org/show_bug.cgi?id=119616
1222 Reviewed by Andreas Kling.
1224 * xml/parser/XMLDocumentParserQt.cpp:
1225 (WebCore::XMLDocumentParser::XMLDocumentParser):
1227 2013-08-08 Tim Horton <timothy_horton@apple.com>
1229 navigator.plugins has plugins in it when plugins are disabled
1230 https://bugs.webkit.org/show_bug.cgi?id=119607
1231 <rdar://problem/14678030>
1233 Reviewed by Anders Carlsson.
1235 Test: plugins/navigator-plugins-disabled.html
1237 * page/Settings.cpp:
1238 (WebCore::Settings::setPluginsEnabled):
1239 Refresh the plugin database when plugins are enabled or disabled.
1240 This is necessary to ensure that navigator.plugins will have the
1241 correct set of plugins after dynamically changing whether plugins
1242 are enabled, which makes the test for this patch possible (but it
1243 makes sense in the browser as well).
1245 2013-08-08 Timothy Hatcher <timothy@apple.com>
1247 Allow SVG images to be drawn into canvas without tainting.
1248 https://bugs.webkit.org/show_bug.cgi?id=119492
1250 Reviewed by Darin Adler.
1252 Tests: svg/as-image/svg-canvas-not-tainted.html
1253 svg/as-image/svg-canvas-link-not-colored.html
1254 svg/as-image/svg-canvas-xhtml-tainted.html
1256 * html/HTMLAnchorElement.cpp:
1257 (WebCore::HTMLAnchorElement::parseAttribute): Call shouldProhibitLinks.
1258 (WebCore::shouldProhibitLinks): Added.
1259 * html/HTMLAnchorElement.h:
1260 * html/HTMLImageElement.cpp:
1261 (WebCore::HTMLImageElement::parseAttribute): Call shouldProhibitLinks.
1262 * rendering/svg/RenderSVGRoot.cpp:
1263 (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage): Use isInSVGImage.
1264 * svg/SVGAElement.cpp:
1265 (WebCore::SVGAElement::svgAttributeChanged): Call shouldProhibitLinks.
1266 * svg/graphics/SVGImage.cpp:
1267 (WebCore::SVGImage::hasSingleSecurityOrigin): Added.
1268 (WebCore::isInSVGImage): Added.
1269 * svg/graphics/SVGImage.h:
1271 2013-08-08 Simon Fraser <simon.fraser@apple.com>
1273 Fix ASSERT(m_contentsSolidColor.isValid()) assertion on iOS at nytimes.com
1274 https://bugs.webkit.org/show_bug.cgi?id=119603
1276 Reviewed by Dean Jackson.
1278 On iOS it's possible for a GraphicsLayer to transition between having
1279 a solid background color, and containing media. This happens on nytimes.com
1282 In this case, GraphicsLayerCA::updateContentsColorLayer() would assert
1283 because m_contentsLayer had been already set up to contain media, but
1284 it would be trying to update the color.
1286 Fix by bailing from all the updateContents* functions if there is no
1287 contents layer, or that layer exists for a different purpose.
1289 * platform/graphics/ca/GraphicsLayerCA.cpp:
1290 (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
1291 (WebCore::GraphicsLayerCA::updateContentsCanvasLayer):
1292 (WebCore::GraphicsLayerCA::updateContentsColorLayer):
1294 2013-08-08 Commit Queue <commit-queue@webkit.org>
1296 Unreviewed, rolling out r153847.
1297 http://trac.webkit.org/changeset/153847
1298 https://bugs.webkit.org/show_bug.cgi?id=119609
1300 caused new SVG animation test failures (Requested by smfr on
1303 * svg/SVGAnimateElement.cpp:
1304 (WebCore::SVGAnimateElement::calculateFromAndByValues):
1306 2013-08-08 Simon Fraser <simon.fraser@apple.com>
1308 Kill updateStyleForAllDocuments()
1309 https://bugs.webkit.org/show_bug.cgi?id=118093
1311 Reviewed by Geoff Garen.
1313 We should never have to eagerly update style, especially for all documents
1314 that the process knows about. The WebKit model is to update style when
1315 required for layout etc, not to update it eagerly.
1317 This is historical code whose origins are lost in the mists of KHTML.
1318 r42384 makes it possible to do away with this eager updating, and
1319 r55568 removed some calls. Discussion in bug 32580 suggests that
1320 form control code still need this, but tests still pass without it.
1322 * bindings/js/JSCallbackData.cpp:
1323 (WebCore::JSCallbackData::invokeCallback):
1324 * bindings/js/JSCustomXPathNSResolver.cpp:
1325 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1327 (WebCore::Document::scheduleStyleRecalc):
1328 (WebCore::Document::unscheduleStyleRecalc):
1331 (WebCore::Element::setActive):
1333 2013-08-08 Jer Noble <jer.noble@apple.com>
1335 [EME] MediaKey APIs should be prefixed.
1336 https://bugs.webkit.org/show_bug.cgi?id=119606
1338 Reviewed by Anders Carlsson.
1340 No new tests; updated exsisting tests with new names.
1342 Prefix all new classes with "WebKit" and new methods on existing unprefixed
1343 classes with "webkit"
1345 * Modules/encryptedmedia/MediaKeyMessageEvent.idl: MediaKeyMessageEvent -> WebKitMediaKeyMessageEvent
1346 * Modules/encryptedmedia/MediaKeySession.idl: MediaKeySession -> WebKitMediaKeySession
1347 * Modules/encryptedmedia/MediaKeys.idl: MediaKeys -> WebKitMediaKeys
1348 * html/HTMLMediaElement.idl: keys -> webkitKeys, setMediaKeys -> webkitSetMediaKeys
1349 * html/MediaKeyError.idl: MediaKeyError -> WebKitMediaKeyError
1351 2013-08-08 Jer Noble <jer.noble@apple.com>
1353 [EME] setMediaKeys function as defined in the EME specification does not work
1354 https://bugs.webkit.org/show_bug.cgi?id=119597
1356 Reviewed by Anders Carlsson.
1358 No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html
1360 Rename the mediaKeys attribute 'keys' and make readonly, and add an explicit
1361 setMediaKeys() method in HTMLMediaElement's IDL.
1363 * html/HTMLMediaElement.h:
1364 (WebCore::HTMLMediaElement::keys):
1365 * html/HTMLMediaElement.idl:
1367 2013-08-06 Sam Weinig <sam@webkit.org>
1369 Hashing SecurityOrigin's can lead to trouble if you mutate them :(
1370 https://bugs.webkit.org/show_bug.cgi?id=119533
1371 <rdar://problem/12978338>
1373 Reviewed by Andreas Kling.
1375 We are getting into trouble in the following circumstance:
1376 - You have a HashMap<RefPtr<SecurityOrigin>, Value> map.
1377 - You add security origin A (http, www.webkit.org, 80) to the map.
1378 - You mutate security origin A by domain relaxation, so that it has the domain webkit.org.
1379 - You add security origin B (http, www.webkit.org, 80) to the map.
1380 - You mutate security origin B by domain relaxation, so that it has the domain webkit.org.
1381 You now have two identical keys in the map.
1382 - Add few more items to the map causing a rehash.
1383 - When you try to add A and B back into the map, you will have a collision, because they now equal each other.
1385 We should probably stop using SecurityOrigins as keys in HashMaps (and move to using a non-mutable SecurityOriginTuple,
1386 or something), but for now, we can just only use the scheme / host / port part for equality, which is what all the users
1389 * page/SecurityOriginHash.h:
1390 (WebCore::SecurityOriginHash::equal):
1391 Switch to using isSameSchemeHostPort() for SecurityOriginHash::equal().
1393 2013-08-08 Rob Buis <rwlbuis@webkit.org>
1395 ASSERT_NOT_REACHED() touched in WebCore::SVGAnimatedStringAnimator::addAnimatedTypes
1396 https://bugs.webkit.org/show_bug.cgi?id=113224
1398 Reviewed by Dirk Schulze.
1400 Do not perform from-by animations for non-additive attributes.
1402 Test: svg/animations/non-additive-type-from-by-animation.html
1404 * svg/SVGAnimateElement.cpp:
1405 (WebCore::SVGAnimateElement::calculateFromAndByValues):
1407 2013-08-08 Brent Fulgham <bfulgham@apple.com>
1409 [Windows] Improper Caption Button Displayed to Users
1410 https://bugs.webkit.org/show_bug.cgi?id=119593
1412 Reviewed by Eric Carlson.
1414 Remove the custom drawing code for the Windows port, and
1415 have it render using the CSS/SVG markup like we do on OS X.
1417 * rendering/RenderThemeWin.cpp: Remove drawing code.
1418 * rendering/RenderThemeWin.h: Remove declaration.
1420 2013-08-08 Alex Christensen <achristensen@apple.com>
1422 Work towards WebGL on AppleWin port.
1423 https://bugs.webkit.org/show_bug.cgi?id=119562
1425 Reviewed by Brent Fulgham.
1427 * WebCore.vcxproj/WebCore.vcxproj:
1428 Build GLContext.cpp and GraphicsContext3DPrivate.cpp on AppleWin port.
1429 * WebCore.vcxproj/WebCore.vcxproj.filters:
1430 Moved GLContext and GraphicsContext3DPrivate from Cairo filter to graphics.
1431 * platform/graphics/GraphicsContext3D.h:
1432 Added m_webGLLayer for AppleWin port.
1433 * platform/graphics/GraphicsContext3DPrivate.cpp:
1434 Protected inclusion of PlatformContextCairo.h in USE(CAIRO) macro for non-cairo ports.
1435 * platform/graphics/win/GraphicsContext3DWin.cpp:
1436 Removed stub GraphicsContext3DPrivate implementation in favor of GraphicsContext3DPrivate.cpp.
1437 (WebCore::GraphicsContext3D::GraphicsContext3D):
1438 Added GraphicsContext3DPrivate and PlatformCALayer initialization.
1439 (WebCore::GraphicsContext3D::makeContextCurrent):
1440 (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1441 Added implementation based on Cairo ports' to be refactored soon.
1442 (WebCore::GraphicsContext3D::platformLayer):
1443 Return PlatformCALayer's PlatformLayer instead of 0.
1445 2013-08-08 Jer Noble <jer.noble@apple.com>
1447 [EME] Implement MediaKeys.isTypeSupported()
1448 https://bugs.webkit.org/show_bug.cgi?id=119586
1450 Reviewed by Eric Carlson.
1452 Test: media/encrypted-media/encrypted-media-is-type-supported.html
1454 The EME spec has removed the extra keySystem parameter from
1455 HTMLMediaElement.canPlayType() in favor of a new isTypeSupported()
1456 method on MediaKeys.
1458 To implement this method, the CDMFactory needs to know whether the
1459 registered CDM supports the specified mime type. CDMs must register
1460 this new factory method, which requires changes to CDMPrivateAVFoundation
1463 Add the new MediaKeys.isTypeSupported() method:
1464 * Modules/encryptedmedia/MediaKeys.cpp:
1465 (WebCore::MediaKeys::isTypeSupported):
1466 * Modules/encryptedmedia/MediaKeys.h:
1467 * Modules/encryptedmedia/MediaKeys.idl:
1469 Add the new factory CDMSupportsKeySystemAndMimeType method:
1470 * Modules/encryptedmedia/CDM.cpp:
1471 (WebCore::CDMFactory::CDMFactory): Now takes a third parameter.
1472 (WebCore::installedCDMFactories): When adding the AVFoundation CDM, pass its new method.
1473 (WebCore::CDM::registerCDMFactory): Now takes a third parameter.
1474 (WebCore::CDM::keySystemSupportsMimeType): Added.
1475 * Modules/encryptedmedia/CDM.h:
1478 Register this new method with the factory for all concrete CDMs:
1479 * Modules/encryptedmedia/CDMPrivateAVFoundation.h:
1480 * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
1481 (WebCore::CDMPrivateAVFoundation::supportsKeySystem):
1482 (WebCore::CDMPrivateAVFoundation::supportsKeySystemAndMimeType):
1483 * testing/Internals.cpp:
1484 (WebCore::Internals::initializeMockCDM):
1485 * testing/MockCDM.cpp:
1486 (WebCore::MockCDM::supportsKeySystem):
1487 (WebCore::MockCDM::supportsKeySystemAndMimeType):
1488 * testing/MockCDM.h:
1490 2013-08-08 Rob Buis <rwlbuis@webkit.org>
1492 Crash in WTF::RefPtr<WebCore::SpaceSplitStringData>::operator UnspecifiedBoolType
1493 https://bugs.webkit.org/show_bug.cgi?id=118839
1495 Reviewed by Darin Adler.
1497 Take into account that elementData() can be null in classAttributeChanged.
1499 Test: svg/animations/classAttributeSettingCrash.html
1502 (WebCore::Element::classAttributeChanged):
1504 2013-08-08 Robert Hogan <robert@webkit.org>
1506 REGRESSION(r147019): Page has extra space
1507 https://bugs.webkit.org/show_bug.cgi?id=119424
1509 Reviewed by David Hyatt.
1511 Clear the overflow rect before recomputing it in table sections.
1513 No new tests: the reduction uses jquery and I was unable to simulate the reduction without it.
1515 * rendering/RenderTableSection.cpp:
1516 (WebCore::RenderTableSection::layoutRows):
1517 (WebCore::RenderTableSection::computeOverflowFromCells):
1519 2013-08-08 Andreas Kling <akling@apple.com>
1521 Inserting multiple rules into an empty style sheet should avoid style recalc if possible.
1522 <http://webkit.org/b/119568>
1524 Reviewed by Antti Koivisto.
1526 As a follow-up to <http://webkit.org/b/119475>, where I added a hack for inserting
1527 a single rule into an empty style sheet, this broadens the optimization to support
1528 any number of rules.
1530 This optimizes the scenario where a style sheet is added to the DOM and then populated
1531 rule-by-rule via CSSOM insertRule()/addRule() calls. Previously we'd do a full style
1532 recalc for this case, but now we'll treat it the same as a full sheet added at once.
1534 * css/CSSStyleSheet.h:
1535 * css/CSSStyleSheet.cpp:
1536 (WebCore::CSSStyleSheet::willMutateRules):
1538 Made willMutateRules() return whether the style sheet contents were cloned by the
1539 copy-on-write mechanism.
1542 (WebCore::CSSStyleSheet::didMutateRules):
1543 (WebCore::CSSStyleSheet::insertRule):
1545 Replaced the InsertionIntoEmptySheet mutation type by a general RuleInsertion.
1546 The mutation callback checks if we're inserting into a rule that's not (yet) part
1547 of the document's active sheet set. In that case, we defer doing the style sheet
1548 until all the insertions are done (or something forces us to style+layout.)
1550 Note that this optimization only happens if the style sheet had a single client.
1551 Shared style sheets that just got cloned before mutation may have pointers into
1552 them from the Document's StyleResolver, so we're forced to do an immediate sheet
1553 update in that case.
1555 (WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
1556 (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
1558 Moved these out-of-line.
1560 (WebCore::CSSStyleSheet::didMutateRuleFromCSSStyleDeclaration):
1561 * css/PropertySetCSSStyleDeclaration.cpp:
1562 (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
1564 Made a separate mutation callback for CSSStyleDeclaration since its needs are
1565 so simple compared to the mutation callback from CSSStyleSheet. Seems better
1566 than adding yet another mode to the enum.
1569 (WebCore::Document::Document):
1570 (WebCore::Document::recalcStyle):
1571 (WebCore::Document::styleResolverChanged):
1572 (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
1573 (WebCore::Document::scheduleOptimizedStyleSheetUpdate):
1575 Added mechanism to defer doing a RecalcStyleIfNeeded.
1577 (WebCore::Document::updateStyleIfNeeded):
1579 Synchronize the optimized style sheet update if there's one scheduled.
1580 This ensures that stuff like layout-dependent property access won't operate
1583 * dom/DocumentStyleSheetCollection.h:
1584 (WebCore::DocumentStyleSheetCollection::pendingUpdateType):
1585 (WebCore::DocumentStyleSheetCollection::setPendingUpdateType):
1586 (WebCore::DocumentStyleSheetCollection::flushPendingUpdates):
1587 * dom/DocumentStyleSheetCollection.cpp:
1588 (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
1589 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1591 Have DSSC track the kind of style sheet update it needs to do (instead of just
1592 a boolean "needs update.") This is used by Document::recalcStyle() to make sure
1593 the right kind of update happens if there's one scheduled.
1595 (WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):
1597 Added helper to check if a CSSStyleSheet is part of the active set.
1599 2013-08-08 Allan Sandfeld Jensen <allan.jensen@digia.com>
1601 [WK1] NPStream::headers not initialized
1602 https://bugs.webkit.org/show_bug.cgi?id=119574
1604 Reviewed by Alexey Proskuryakov.
1606 Initialize the header field. According to user feedback that should solve some
1607 cases of random crashes when loading plugins on Mac and Windows.
1609 * plugins/PluginStream.cpp:
1610 (WebCore::PluginStream::PluginStream):
1612 2013-08-08 Andreas Kling <akling@apple.com>
1614 Element: Modernize attribute storage accessor functions.
1615 <http://webkit.org/b/119578>
1617 Reviewed by Antti Koivisto.
1619 Rename these functions to more WebKit-style names.
1621 - const Attribute* attributeItem(index) => const Attribute& attributeAt(index)
1622 - const Attribute* getAttributeItem(name) => const Attribute* findAttributeByName(name)
1623 - unsigned getAttributeItemIndex(name) => unsigned findAttributeIndexByName(name)
1625 Note that attributeAt() now returns a reference instead of a pointer. That's right.
1627 * css/SelectorChecker.cpp:
1628 (WebCore::attributeValueMatches):
1629 (WebCore::anyAttributeMatches):
1630 * css/SelectorChecker.h:
1631 (WebCore::SelectorChecker::checkExactAttribute):
1633 (WebCore::Attr::elementAttribute):
1634 * dom/DatasetDOMStringMap.cpp:
1635 (WebCore::DatasetDOMStringMap::getNames):
1636 (WebCore::DatasetDOMStringMap::item):
1637 (WebCore::DatasetDOMStringMap::contains):
1639 (WebCore::Element::detachAttribute):
1640 (WebCore::Element::removeAttribute):
1641 (WebCore::Element::getAttribute):
1642 (WebCore::Element::setAttribute):
1643 (WebCore::Element::setSynchronizedLazyAttribute):
1644 (WebCore::Element::setAttributeInternal):
1645 (WebCore::Element::setAttributeNode):
1646 (WebCore::Element::removeAttributeNode):
1647 (WebCore::Element::removeAttributeInternal):
1648 (WebCore::Element::getAttributeNode):
1649 (WebCore::Element::getAttributeNodeNS):
1650 (WebCore::Element::hasAttribute):
1651 (WebCore::Element::hasAttributeNS):
1652 (WebCore::Element::computeInheritedLanguage):
1653 (WebCore::Element::normalizeAttributes):
1654 (WebCore::Element::getURLAttribute):
1655 (WebCore::Element::getNonEmptyURLAttribute):
1656 (WebCore::Element::detachAllAttrNodesFromElement):
1657 (WebCore::Element::cloneAttributesFromElement):
1658 (WebCore::ElementData::isEquivalent):
1659 (WebCore::ElementData::findAttributeIndexByNameSlowCase):
1660 (WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
1661 (WebCore::UniqueElementData::findAttributeByName):
1662 (WebCore::UniqueElementData::attributeAt):
1664 (WebCore::Element::findAttributeIndexByName):
1665 (WebCore::Element::fastHasAttribute):
1666 (WebCore::Element::fastGetAttribute):
1667 (WebCore::Element::attributeAt):
1668 (WebCore::Element::findAttributeByName):
1669 (WebCore::ElementData::findAttributeByName):
1670 (WebCore::ElementData::findAttributeIndexByName):
1671 (WebCore::ElementData::attributeAt):
1672 * dom/NamedNodeMap.cpp:
1673 (WebCore::NamedNodeMap::removeNamedItem):
1674 (WebCore::NamedNodeMap::removeNamedItemNS):
1675 (WebCore::NamedNodeMap::item):
1677 (WebCore::Node::dumpStatistics):
1678 (WebCore::Node::isDefaultNamespace):
1679 (WebCore::Node::lookupNamespaceURI):
1680 (WebCore::Node::lookupNamespacePrefix):
1681 (WebCore::Node::compareDocumentPosition):
1682 * dom/StyledElement.cpp:
1683 (WebCore::StyledElement::makePresentationAttributeCacheKey):
1684 (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1685 * editing/MarkupAccumulator.cpp:
1686 (WebCore::MarkupAccumulator::appendElement):
1687 * editing/markup.cpp:
1688 (WebCore::completeURLs):
1689 (WebCore::StyledMarkupAccumulator::appendElement):
1690 * html/HTMLEmbedElement.cpp:
1691 (WebCore::HTMLEmbedElement::parametersForPlugin):
1692 * html/HTMLInputElement.cpp:
1693 (WebCore::HTMLInputElement::updateType):
1694 * html/HTMLObjectElement.cpp:
1695 (WebCore::HTMLObjectElement::parametersForPlugin):
1696 * html/HTMLSelectElement.cpp:
1697 (WebCore::HTMLSelectElement::parseAttribute):
1698 * html/parser/HTMLConstructionSite.cpp:
1699 (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
1700 * inspector/DOMPatchSupport.cpp:
1701 (WebCore::DOMPatchSupport::innerPatchNode):
1702 (WebCore::DOMPatchSupport::createDigest):
1703 * inspector/InspectorDOMAgent.cpp:
1704 (WebCore::InspectorDOMAgent::setAttributesAsText):
1705 (WebCore::InspectorDOMAgent::performSearch):
1706 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1707 * page/PageSerializer.cpp:
1708 (WebCore::isCharsetSpecifyingNode):
1709 * svg/SVGStyledElement.cpp:
1710 (WebCore::SVGStyledElement::getPresentationAttribute):
1711 * xml/XPathFunctions.cpp:
1712 (WebCore::XPath::FunLang::evaluate):
1713 * xml/XPathNodeSet.cpp:
1714 (WebCore::XPath::NodeSet::traversalSort):
1715 * xml/XPathStep.cpp:
1716 (WebCore::XPath::Step::nodesInAxis):
1717 * xml/parser/XMLDocumentParserLibxml2.cpp:
1718 (WebCore::XMLDocumentParser::XMLDocumentParser):
1719 * xml/parser/XMLDocumentParserQt.cpp:
1720 (WebCore::XMLDocumentParser::XMLDocumentParser):
1722 2013-08-08 Mark Lam <mark.lam@apple.com>
1724 Restoring use of StackIterator instead of Interpreter::getStacktrace().
1725 https://bugs.webkit.org/show_bug.cgi?id=119575.
1727 Reviewed by Oliver Hunt.
1731 * bindings/js/ScriptCallStackFactory.cpp:
1732 (WebCore::createScriptCallStack):
1734 2013-08-08 Zalan Bujtas <zalan@apple.com>
1736 REGRESSION (r121551) Incorrect handling of invalid media query list.
1737 https://bugs.webkit.org/show_bug.cgi?id=119164
1739 Reviewed by Antti Koivisto.
1741 Differentiate between syntactically invalid media queries and media queries with empty expressions.
1743 Introduce a dedicated function for valid, but empty expression queries, so that passing NULL MediaQuerySet
1744 object to CSSParser::createMediaRule() can indicate invalid media query.
1746 Test: fast/media/invalid-media-query-list.html
1748 * css/CSSGrammar.y.in:
1749 * css/CSSParser.cpp:
1750 (WebCore::CSSParser::createMediaRule):
1751 (WebCore::CSSParser::createEmptyMediaRule):
1754 2013-08-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1756 Introduce toSVGMPathElement(), and use it
1757 https://bugs.webkit.org/show_bug.cgi?id=119566
1759 Reviewed by Andreas Kling.
1761 As a step to change static_cast with toSVGXXX, static_cast<SVGMPathElement*> can
1762 be changed with toSVGMPathElement().
1764 * svg/SVGAnimateMotionElement.cpp:
1765 (WebCore::SVGAnimateMotionElement::updateAnimationPath):
1766 * svg/SVGMPathElement.h:
1767 (WebCore::toSVGMPathElement):
1768 * svg/SVGPathElement.cpp:
1769 (WebCore::SVGPathElement::invalidateMPathDependencies):
1771 2013-08-08 Antti Koivisto <antti@apple.com>
1773 Move more style recalc code to StyleResolveTree.cpp
1774 https://bugs.webkit.org/show_bug.cgi?id=119553
1776 Reviewed by Andreas Kling.
1778 * css/StyleResolver.cpp:
1779 * css/StyleResolver.h:
1781 Remove now unused StyleResolver::styleForText.
1783 * dom/ElementShadow.cpp:
1784 * dom/ElementShadow.h:
1786 Remove ElementShadow::recalcStyle.
1788 * dom/ShadowRoot.cpp:
1789 (WebCore::ShadowRoot::setResetStyleInheritance):
1791 Use Style::resolveTree instead of ElementShadow::recalcStyle.
1795 Remove ShadowRoot::recalcStyle.
1800 Remove Text::recalcTextStyle.
1802 * style/StyleResolveTree.cpp:
1803 (WebCore::Style::updateTextStyle):
1805 Moved from Text::recalcTextStyle. Speed up by just setting the parent style on common case.
1807 (WebCore::Style::resolveShadowTree):
1809 Moved from ShadowRoot::recalcStyle.
1810 Simplified to cover only cases that can occur with the current shadow DOM support.
1812 (WebCore::Style::resolveTree):
1814 2013-08-08 Andreas Kling <akling@apple.com>
1816 REGRESSION(r139282): Old caret sometimes gets "stuck" (not repainted) in contenteditable elements.
1817 <http://webkit.org/b/119520>
1818 <rdar://problem/14658929>
1820 Reviewed by Simon Fraser.
1822 When computing a new caret rect, don't forget to repaint the old rect if the caret jumped
1823 from one node to another.
1824 We were being a little too clever, assuming that oldRect==newRect meant that no repaint was
1825 necessary, but moving from (0,0) in one node to (0,0) in another would cause a ghost caret
1828 Test: fast/repaint/caret-jump-between-nodes.html
1830 * editing/FrameSelection.cpp:
1831 (WebCore::FrameSelection::recomputeCaretRect):
1833 Fall through all the way down to caret repaints if the selection's new anchor node is not
1834 the same as m_previousCaretNode.
1836 2013-08-07 Andrei Bucur <abucur@adobe.com>
1838 [CSS Regions] Propagate overflow from the flow thread to the first and last region
1839 https://bugs.webkit.org/show_bug.cgi?id=118526
1841 Reviewed by David Hyatt.
1843 The patch implements layout overflow propagation for the first and last regions. The approach
1844 taken is triggering a simple layout on the regions after the named flows are laid out
1845 that extracts the layout overflow from the flow thread and adds it to the regions.
1847 The process is based on adding two new layout phases: the overflow phase and the final phase.
1848 The overflow phase is set after the flow threads are laid out and it marks the regions as
1849 needing to extract the overflow from the flow thread. In case there are blocks with auto overflow
1850 it's possible the overflow to create scrollbars that shrink the regions. In this case the flow
1851 thread is relaid out and set in the final phase, forcing the regions to recollect the layout
1852 overflow. In theory this would be an N-step layout because scrollbars can force content to change
1853 regions and create overflow for other blocks (and thus creating more scrollbars). For now, we are
1854 limiting this to the first pass by inserting this new final layout phase.
1856 A short description of the processing model for a document:
1857 - layout the document (all the flow threads should be in the constrained layout phase after this step)
1858 - reverse iterate through the flow threads and mark the regions for simplified layout (we need to
1859 reverse iterate so the overflow can correctly propagate with nested regions)
1860 - if the layout changes the size of a region, invalidate the flow thread and when laying it out mark
1861 it as needing a new pass
1862 - make a secondary pass through the flow threads that changed after scrollbars have been added and
1863 recompute the overflow for their regions; mark the flow threads in the final phase (flow threads can't
1864 be invalidated in the final phase)
1865 - after the overflow was propagated update all the flow threads in the normal layout phase
1867 There are some issues with the patch:
1868 - the simplified layout doesn't compute correct overflow values for inline blocks
1869 - the layout overflow from the flow thread doesn't take the region size into account
1871 The first issue is not related to regions and will be fixed in a future patch. The second issue
1872 will be fixed when box overflow will be region bound.
1874 Tests: fast/regions/overflow-scrollable-1.html
1875 fast/regions/overflow-scrollable-2.html
1876 fast/regions/overflow-scrollable-3.html
1877 fast/regions/overflow-scrollable-fit-complex.html
1878 fast/regions/overflow-scrollable-fit.html
1879 fast/regions/overflow-scrollable-nested.html
1881 * rendering/FlowThreadController.cpp: Flow threads layout driver functions.
1882 (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
1883 (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
1884 (WebCore::FlowThreadController::updateFlowThreadsIntoOverflowPhase):
1885 (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
1886 (WebCore::FlowThreadController::updateFlowThreadsIntoFinalPhase):
1887 * rendering/FlowThreadController.h:
1888 * rendering/RenderBlock.cpp:
1889 (WebCore::RenderBlock::simplifiedNormalFlowLayout):
1890 * rendering/RenderFlowThread.cpp:
1891 (WebCore::RenderFlowThread::RenderFlowThread):
1892 (WebCore::RenderFlowThread::invalidateRegions):
1893 (WebCore::RenderFlowThread::validateRegions):
1894 (WebCore::RenderFlowThread::layout):
1895 (WebCore::RenderFlowThread::firstRegion): This getter should work even though the region chain is invalid.
1896 (WebCore::RenderFlowThread::lastRegion): This getter should work even though the region chain is invalid.
1897 (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
1898 (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded): If the flow thread has no overflow do nothing.
1899 (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
1900 (WebCore::RenderFlowThread::addForcedRegionBreak):
1901 * rendering/RenderFlowThread.h:
1902 * rendering/RenderMultiColumnSet.cpp:
1903 (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
1904 * rendering/RenderRegion.cpp:
1905 (WebCore::RenderRegion::pageLogicalHeight):
1906 (WebCore::RenderRegion::maxPageLogicalHeight):
1907 (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
1908 (WebCore::RenderRegion::flowThreadPortionOverflowRect):
1909 (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Used to get the flow thread visual or layout overflow.
1910 (WebCore::RenderRegion::layoutBlock):
1911 (WebCore::RenderRegion::computeOverflowFromFlowThread):
1912 (WebCore::RenderRegion::updateLogicalHeight):
1913 * rendering/RenderRegion.h:
1914 * rendering/RenderView.cpp:
1915 (WebCore::RenderView::layoutContentToComputeOverflowInRegions):
1916 (WebCore::RenderView::layout):
1917 * rendering/RenderView.h:
1919 2013-08-07 Simon Fraser <simon.fraser@apple.com>
1921 Avoid spurious "all repaint" layouts when scrolling WebViews on Retina displays
1922 https://bugs.webkit.org/show_bug.cgi?id=119564
1924 Reviewed by Beth Dakin.
1926 When scrolling WebViews on Macs with Retina displays, AppKit uses
1927 device pixels for the scroll offset, so [scrollView() documentVisibleRect]
1928 can return a CGRect with non-integral origin. This rect is used by layout,
1929 via layoutSize(), to decide whether the view size changed, which prompts
1930 a full repaint. However, FrameView gets a value which has been rounded
1931 by enclosingIntRect(), which increases the height or width by 1px if the
1932 y or x offset is on a half-pixel, causing spurious full repaints.
1934 Fix by plumbing through platformVisibleContentSize(), which just
1935 gets the size of the -documentVisibleRect.
1937 * page/FrameView.cpp:
1938 (WebCore::FrameView::layout): Don't get layoutHeight and layoutWidth
1939 separately, since that is two calls down into platformVisibleContentSize.
1940 * platform/ScrollView.cpp:
1941 (WebCore::ScrollView::unscaledVisibleContentSize):
1942 (WebCore::ScrollView::platformVisibleContentSize):
1943 * platform/ScrollView.h:
1944 * platform/mac/ScrollViewMac.mm:
1945 (WebCore::ScrollView::platformVisibleContentSize):
1947 2013-08-07 Simon Fraser <simon.fraser@apple.com>
1949 Be more aggressive about sending fake mouse events less frequently
1950 https://bugs.webkit.org/show_bug.cgi?id=119563
1951 <rdar://problem/14669029>
1953 Reviewed by Tim Horton.
1955 r109151 added code that throttles back the fake mouse events that we
1956 send during scrolling, but in such a way that a page could take up to
1957 100ms to handle a single mousemove, and we'd still send fake mousemove
1958 events every 100ms. This could cause serious scrolling stutter.
1960 Fix by changing when we drop back to sending events every 250ms, rather than every
1961 100ms: if the slowest mousemove takes 10ms or more (less than one frame), drop back
1962 to a 250ms fake move interval.
1964 * page/EventHandler.cpp:
1965 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
1967 2013-08-07 Adenilson Cavalcanti <cavalcantii@gmail.com>
1969 [rendering] Implement PaintInfo interfaces
1970 https://bugs.webkit.org/show_bug.cgi?id=119388
1972 Reviewed by Benjamin Poulain.
1974 In discussion in IRC, it was decided to remove this comment since implementing such change
1975 would have a vast impact on rendering classes.
1977 * rendering/PaintInfo.h:
1979 2013-08-07 Dean Jackson <dino@apple.com>
1981 Don't remove contents layer from its parent unless necessary
1982 https://bugs.webkit.org/show_bug.cgi?id=119560
1984 Reviewed by Simon Fraser.
1986 RenderLayerBacking::updateInternalHierarchy() is called in some
1987 instances where there doesn't need to be a complete reparenting of the
1988 the m_graphicsLayer. For example, on OS X when the user changes the
1989 scrollbar styles to/from always visible. We don't need to always
1990 remove the graphics layer from its parent - any reparenting does that
1993 Unfortunately we can't trigger this situation in an automated test.
1995 * rendering/RenderLayerBacking.cpp:
1996 (WebCore::RenderLayerBacking::updateInternalHierarchy): Don't call removeFromParent().
1998 2013-08-07 Tim Horton <timothy_horton@apple.com>
2000 Fall out of simple image layer optimization if the image has EXIF rotation
2001 https://bugs.webkit.org/show_bug.cgi?id=119535
2002 <rdar://problem/14071174>
2004 Reviewed by Simon Fraser.
2006 Test: fast/images/exif-orientation-composited.html
2008 * platform/graphics/BitmapImage.cpp:
2009 (WebCore::BitmapImage::frameOrientationAtIndex):
2010 Ensure that the frame is cached if we're requesting the orientation,
2011 so we can acquire orientation information at any given time.
2013 * platform/mac/DragImageMac.mm:
2014 (WebCore::createDragImageFromImage):
2015 * platform/graphics/BitmapImage.h:
2016 Rename currentFrameOrientation to frameOrientationForCurrentFrame to match
2017 the similarly-behaving nativeImageForCurrentFrame.
2019 * platform/graphics/Image.h:
2020 (WebCore::Image::orientationForCurrentFrame): Added. Virtual, overriden by BitmapImage.
2022 * rendering/RenderLayerBacking.cpp:
2023 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
2024 If the given image has a non-default image orientation, don't use direct compositing.
2026 2013-08-07 Antti Koivisto <antti@apple.com>
2028 fast/frames/seamless/seamless-custom-font-pruning-crash.html asserts
2029 https://bugs.webkit.org/show_bug.cgi?id=119557
2031 Rubber-stamped by Eric Carlson.
2033 Pass Style::Detach style change to seamless document as Style::Force. Style::resolveTree does not expect to be called with Detach.
2035 * html/HTMLIFrameElement.cpp:
2036 (WebCore::HTMLIFrameElement::didRecalcStyle):
2038 2013-08-07 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>
2040 Disable HTTP request "Accept-Encoding:" header field on gstreamer source element to avoid receiving the wrong size when retrieving data
2041 https://bugs.webkit.org/show_bug.cgi?id=115354
2043 Reviewed by Philippe Normand.
2045 The default value for the HTTP "Accept-Encoding:" header field in the request allows
2046 compressed data to be received on requests.
2047 While this works fine for most cases, it can break the webkit source that needs to rely on the
2048 the proper data size when receiving the response (even though the received data is already
2049 uncompressed the size reported in ResourceResponse::expectedContentLength() is the same
2050 represented by the HTTP header field "Content-Length" which is the size of the compressed data).
2052 This patch disables the HTTP "Accept-Encoding:" header field when using the request
2053 as we don't want the received response to be encoded in any way, as we need to rely on the proper
2054 size of the returned data on ResourceHandle::didReceiveResponse().
2056 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2057 (webKitWebSrcStart):
2058 * platform/network/soup/ResourceRequest.h:
2059 (ResourceRequestBase):
2060 (WebCore::ResourceRequest::acceptEncoding):
2061 (WebCore::ResourceRequest::setAcceptEncoding):
2062 (WebCore::ResourceRequest::ResourceRequestBase):
2063 * platform/network/soup/ResourceRequestSoup.cpp:
2064 (WebCore::ResourceRequest::updateSoupMessage):
2065 (WebCore::ResourceRequest::toSoupMessage):
2067 2013-08-07 Allan Sandfeld Jensen <allan.jensen@digia.com>
2069 [Qt] REGRESSION(r) Two pixel result fail after r153522
2070 https://bugs.webkit.org/show_bug.cgi?id=119392
2072 Reviewed by Jocelyn Turcotte.
2074 Consider scaling transform on the painter to determine final destination size.
2076 Covered by existing tests.
2078 * platform/graphics/qt/ImageQt.cpp:
2079 (WebCore::prescaleImageIfRequired):
2080 (WebCore::BitmapImage::draw):
2082 2013-08-07 Antti Koivisto <antti@apple.com>
2084 2.5% regression on page cycler moz
2085 https://bugs.webkit.org/show_bug.cgi?id=102822
2087 Reviewed by Andreas Kling.
2089 DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache() triggers a style recalc for quirks mode
2090 documents in the beginning of document parsing via Document::setCompatibilityMode. This often coalesces
2091 with style recalc triggered by stylesheet loading. However on very simple documents it can generate genuinely
2094 * dom/DocumentStyleSheetCollection.cpp:
2095 (WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
2097 Check that we actually have cached injected stylesheets before triggering style recalc.
2099 * page/PageGroup.cpp:
2100 (WebCore::PageGroup::addUserStyleSheetToWorld):
2101 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
2102 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
2103 (WebCore::PageGroup::removeAllUserContent):
2107 (WebCore::PageGroup::invalidateInjectedStyleSheetCacheInAllFrames):
2109 Always invalidate style when user sheets change since we don't do that in
2110 DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache anymore.
2114 2013-08-07 Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>
2116 Do no check seek offset against internal size on gstreamer source element
2117 https://bugs.webkit.org/show_bug.cgi?id=116533
2119 Reviewed by Philippe Normand.
2121 The internal size on gstreamer source element may be wrong in case the received size in
2122 didReceiveResponse is not accurate. Lets just try to seek and let it fail if necessary.
2124 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2125 (webKitWebSrcSeekDataCb):
2127 2013-08-07 Antti Koivisto <antti@apple.com>
2129 Create WebCore/style and move StyleResolveTree there
2130 https://bugs.webkit.org/show_bug.cgi?id=119543
2132 Reviewed by Andreas Kling.
2134 WebCore/css is bloated. We should move the internal style representation and the style resolver
2135 related code to a directory of their own. CSS language related code including parser and
2136 CSSOM stays under css.
2138 Things named StyleFoo should generally move under WebCore/style. They should also be moved to
2139 the Style namespace at the same time.
2143 * GNUmakefile.list.am:
2146 * WebCore.vcxproj/WebCore.vcxproj:
2147 * WebCore.vcxproj/WebCoreCommon.props:
2148 * WebCore.vcxproj/copyForwardingHeaders.cmd:
2149 * WebCore.xcodeproj/project.pbxproj:
2150 * css/StyleResolveTree.cpp: Removed.
2151 * css/StyleResolveTree.h: Removed.
2153 * style/StyleResolveTree.cpp: Copied from Source/WebCore/css/StyleResolveTree.cpp.
2154 * style/StyleResolveTree.h: Copied from Source/WebCore/css/StyleResolveTree.h.
2156 2013-08-07 Antti Koivisto <antti@apple.com>
2158 Move style recalculation out from Element
2159 https://bugs.webkit.org/show_bug.cgi?id=119497
2161 Reviewed by Andreas Kling.
2163 Element currently does too much. Element::recalcStyle() and the related functions can be turned into
2164 standalone functions that operate on DOM tree. This will also give more freedom for future refactoring,
2165 for example making style recalculation non-recursive.
2167 * WebCore.xcodeproj/project.pbxproj:
2168 * css/StyleResolveTree.cpp: Added.
2169 (WebCore::Style::determineChange):
2171 - moved and renamed from Node::diff
2172 - factored to use early return style
2173 - simplifield the null input logic
2175 (WebCore::Style::pseudoStyleCacheIsInvalid):
2177 - moved from Element::pseudoStyleCacheIsInvalid
2178 - narrowed to take RenderObject rather than operate on Element
2180 (WebCore::Style::resolveLocal):
2182 - split from Element::recalcStyle
2183 - factored to use early return style
2185 (WebCore::Style::resolveTree):
2187 - moved and renamed from Element::recalcStyle
2189 * css/StyleResolveTree.h: Added.
2191 - introcuduce Style namespace for style related classes and functions
2192 - move and rename Node::StyleChange -> Style::Change
2194 * css/StyleResolver.h:
2195 (WebCore::StyleResolverParentPusher::StyleResolverParentPusher):
2196 (WebCore::StyleResolverParentPusher::push):
2197 (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
2199 Moved this stack helper to StyleResolver.h for now since it is needed by both
2200 StyleRecalculation and Element.
2203 (WebCore::Document::recalcStyle):
2204 (WebCore::Document::updateStyleIfNeeded):
2205 (WebCore::Document::updateLayoutIgnorePendingStylesheets):
2206 (WebCore::Document::attach):
2207 (WebCore::Document::styleResolverChanged):
2208 (WebCore::Document::webkitWillEnterFullScreenForElement):
2211 (WebCore::shouldIgnoreAttributeCase):
2212 (WebCore::Element::updatePseudoElement):
2213 (WebCore::Element::resetComputedStyle):
2214 (WebCore::Element::willRecalcStyle):
2215 (WebCore::Element::didRecalcStyle):
2218 - remove Element::recalcStyle
2219 - make a few private functions needed by StyleRecalculation public
2221 * dom/ElementShadow.cpp:
2222 (WebCore::ElementShadow::recalcStyle):
2223 * dom/ElementShadow.h:
2227 - remove Node::StyleChange
2230 * dom/PseudoElement.cpp:
2231 (WebCore::PseudoElement::didRecalcStyle):
2232 * dom/PseudoElement.h:
2233 * dom/ShadowRoot.cpp:
2234 (WebCore::ShadowRoot::recalcStyle):
2235 (WebCore::ShadowRoot::setResetStyleInheritance):
2238 (WebCore::Text::recalcTextStyle):
2240 * html/HTMLFormControlElement.cpp:
2241 (WebCore::HTMLFormControlElement::didRecalcStyle):
2242 * html/HTMLFormControlElement.h:
2243 * html/HTMLFrameSetElement.cpp:
2244 (WebCore::HTMLFrameSetElement::willRecalcStyle):
2245 * html/HTMLFrameSetElement.h:
2246 * html/HTMLIFrameElement.cpp:
2247 (WebCore::HTMLIFrameElement::didRecalcStyle):
2248 * html/HTMLIFrameElement.h:
2249 * html/HTMLMediaElement.cpp:
2250 (WebCore::HTMLMediaElement::didRecalcStyle):
2251 * html/HTMLMediaElement.h:
2252 * html/HTMLOptionElement.cpp:
2253 (WebCore::HTMLOptionElement::didRecalcStyle):
2254 * html/HTMLOptionElement.h:
2255 * html/HTMLPlugInImageElement.cpp:
2256 (WebCore::HTMLPlugInImageElement::willRecalcStyle):
2257 (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
2258 (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
2259 * html/HTMLPlugInImageElement.h:
2260 * inspector/InspectorOverlay.cpp:
2261 (WebCore::InspectorOverlay::update):
2262 * loader/DocumentWriter.cpp:
2263 (WebCore::DocumentWriter::reportDataReceived):
2265 (WebCore::Frame::setPageAndTextZoomFactors):
2267 (WebCore::Page::setPageScaleFactor):
2268 * rendering/RenderBlock.cpp:
2269 (WebCore::RenderBlock::updateFirstLetterStyle):
2270 * svg/SVGElement.cpp:
2271 (WebCore::SVGElement::willRecalcStyle):
2273 * svg/SVGUseElement.cpp:
2274 (WebCore::SVGUseElement::willRecalcStyle):
2275 * svg/SVGUseElement.h:
2277 2013-08-07 Mihnea Ovidenie <mihnea@adobe.com>
2279 [CSSRegions] Wrong auto-height region computation for nested named flows
2280 https://bugs.webkit.org/show_bug.cgi?id=119517
2282 Reviewed by David Hyatt.
2284 Test: fast/regions/abspos-autoheight-nested-region.html
2286 In the case of an (inner) auto-height region that is absolutely positioned in a named flow that is displayed in an (outer) auto-height region,
2287 when we are doing the layout for the named flow we need to add a "forced region break" also for the case of simplified layout, otherwise
2288 the outer auto-height region will not get the chance to compute its auto-height, ending up with a huge value that was used to initialize
2289 the auto-height computed value before the start of the layout algorithm.
2291 * rendering/RenderBlock.cpp:
2292 (WebCore::RenderBlock::simplifiedLayout):
2294 2013-08-06 Stephanie Lewis <slewis@apple.com>
2296 Update Order Files for Safari
2297 <rdar://problem/14517392>
2301 No change in functionality.
2305 2013-08-04 Sam Weinig <sam@webkit.org>
2307 Remove support for HTML5 Microdata
2308 https://bugs.webkit.org/show_bug.cgi?id=119480
2310 Reviewed by Anders Carlsson.
2313 * Configurations/FeatureDefines.xcconfig:
2314 * DerivedSources.cpp:
2315 * DerivedSources.make:
2316 * DerivedSources.pri:
2317 * GNUmakefile.list.am:
2320 * WebCore.vcxproj/WebCore.vcxproj:
2321 * WebCore.vcxproj/WebCore.vcxproj.filters:
2322 * WebCore.xcodeproj/project.pbxproj:
2323 * bindings/gobject/GNUmakefile.am:
2324 * bindings/js/JSBindingsAllInOne.cpp:
2325 * bindings/js/JSHTMLCollectionCustom.cpp:
2326 (WebCore::JSHTMLCollection::nameGetter):
2327 * bindings/js/JSHTMLElementCustom.cpp:
2328 * bindings/js/JSMicroDataItemValueCustom.cpp: Removed.
2329 * bindings/scripts/CodeGeneratorJS.pm:
2330 (GenerateImplementation):
2335 (WebCore::Element::ensureCachedHTMLCollection):
2336 * dom/LiveNodeList.cpp:
2337 (WebCore::LiveNodeListBase::rootNode):
2338 (WebCore::LiveNodeListBase::invalidateCache):
2339 (WebCore::LiveNodeList::namedItem):
2340 * dom/LiveNodeList.h:
2341 (WebCore::LiveNodeListBase::shouldInvalidateTypeOnAttributeChange):
2342 * dom/MicroDataItemList.cpp: Removed.
2343 * dom/MicroDataItemList.h: Removed.
2346 * dom/NodeRareData.cpp:
2347 * dom/NodeRareData.h:
2348 * dom/PropertyNodeList.cpp: Removed.
2349 * dom/PropertyNodeList.h: Removed.
2350 * dom/PropertyNodeList.idl: Removed.
2351 * html/CollectionType.h:
2352 * html/HTMLAnchorElement.cpp:
2353 * html/HTMLAnchorElement.h:
2354 * html/HTMLAreaElement.cpp:
2355 * html/HTMLAreaElement.h:
2356 * html/HTMLCollection.cpp:
2357 (WebCore::shouldOnlyIncludeDirectChildren):
2358 (WebCore::rootTypeFromCollectionType):
2359 (WebCore::invalidationTypeExcludingIdAndNameAttributes):
2360 (WebCore::isMatchingElement):
2361 (WebCore::LiveNodeListBase::item):
2362 * html/HTMLElement.cpp:
2363 (WebCore::HTMLElement::parseAttribute):
2364 (WebCore::HTMLElement::isURLAttribute):
2365 * html/HTMLElement.h:
2366 * html/HTMLElement.idl:
2367 * html/HTMLEmbedElement.cpp:
2368 * html/HTMLEmbedElement.h:
2369 * html/HTMLIFrameElement.cpp:
2370 * html/HTMLIFrameElement.h:
2371 * html/HTMLImageElement.cpp:
2372 * html/HTMLImageElement.h:
2373 * html/HTMLLinkElement.cpp:
2374 * html/HTMLLinkElement.h:
2375 * html/HTMLMediaElement.cpp:
2376 * html/HTMLMediaElement.h:
2377 * html/HTMLMetaElement.cpp:
2378 * html/HTMLMetaElement.h:
2379 * html/HTMLObjectElement.cpp:
2380 * html/HTMLObjectElement.h:
2381 * html/HTMLPropertiesCollection.cpp: Removed.
2382 * html/HTMLPropertiesCollection.h: Removed.
2383 * html/HTMLPropertiesCollection.idl: Removed.
2384 * html/HTMLSourceElement.cpp:
2385 * html/HTMLSourceElement.h:
2386 * html/HTMLTrackElement.cpp:
2387 * html/HTMLTrackElement.h:
2388 * html/MicroDataAttributeTokenList.cpp: Removed.
2389 * html/MicroDataAttributeTokenList.h: Removed.
2390 * html/MicroDataItemValue.cpp: Removed.
2391 * html/MicroDataItemValue.h: Removed.
2392 * html/MicroDataItemValue.idl: Removed.
2394 2013-08-06 Tim Horton <timothy_horton@apple.com>
2396 Remove PlatformCALayer::contentsTransform and ::setContentsTransform
2397 https://bugs.webkit.org/show_bug.cgi?id=119529
2399 Reviewed by Sam Weinig.
2401 No new tests, removing dead code.
2403 These methods are not used and are currently unimplemented.
2405 * platform/graphics/ca/PlatformCALayer.h:
2406 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2407 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2409 2013-08-06 Alex Christensen <achristensen@apple.com>
2411 Moved GraphicsContext3DPrivate out of cairo directory to be used by the AppleWin port.
2412 https://bugs.webkit.org/show_bug.cgi?id=119525
2414 Reviewed by Dean Jackson.
2416 * GNUmakefile.list.am:
2417 * PlatformGTK.cmake:
2418 * WebCore.vcxproj/WebCore.vcxproj:
2419 * WebCore.vcxproj/WebCore.vcxproj.filters:
2420 Changed location of GraphicsContext3DPrivate.cpp and GraphicsContext3DPrivate.h.
2421 * platform/graphics/GraphicsContext3DPrivate.cpp: Copied from WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp.
2422 * platform/graphics/GraphicsContext3DPrivate.h: Copied from WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h.
2423 * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Removed.
2424 * platform/graphics/cairo/GraphicsContext3DPrivate.h: Removed.
2426 2013-08-06 Brent Fulgham <bfulgham@apple.com>
2428 [Windows] Unreviewed build correction after r153754 and r153757.
2430 * page/animation/CSSPropertyAnimation.cpp:
2431 (WebCore::blendFunc): Don't force std::remainder, since we are using our own
2432 custom implementation on Windows.
2434 2013-08-06 Brent Fulgham <bfulgham@apple.com>
2436 Improper Calculation of In-band Cue Colors
2437 https://bugs.webkit.org/show_bug.cgi?id=119523
2439 Reviewed by Eric Carlson.
2441 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2442 (WebCore::makeRGBA32FromARGBCFArray): Remove redundant multiplication by
2443 255. The internal conversion logic already converts to bytes.
2445 2013-08-06 Rob Buis <rwlbuis@webkit.org>
2447 Speculative build fix after r153754.
2449 * page/animation/CSSPropertyAnimation.cpp:
2450 (WebCore::blendFunc):
2452 2013-07-23 David Farler <dfarler@apple.com>
2454 Provide optional OTHER_CFLAGS, OTHER_CPPFLAGS, OTHER_LDFLAGS additions for building with ASAN
2455 https://bugs.webkit.org/show_bug.cgi?id=117762
2457 Reviewed by Mark Rowe.
2459 No new tests necessary.
2461 * Configurations/DebugRelease.xcconfig:
2462 Add ASAN_OTHER_CFLAGS, CPLUSPLUSFLAGS, LDFLAGS.
2463 * Configurations/WebCore.xcconfig:
2464 Add ASAN_OTHER_LDFLAGS.
2465 * Configurations/WebCoreTestShim.xcconfig:
2466 Add ASAN_OTHER_LDFLAGS.
2467 * Configurations/WebCoreTestSupport.xcconfig:
2468 Add ASAN_OTHER_LDFLAGS.
2469 * WebCore.xcodeproj/project.pbxproj:
2470 Don't use ASAN for build tools.
2472 2013-08-05 Rob Buis <rwlbuis@webkit.org>
2474 SVG stroke-dasharray is not animatable
2475 https://bugs.webkit.org/show_bug.cgi?id=118574
2477 Reviewed by Dirk Schulze.
2479 Make stroke-dasharray a property that can be animated using CSS transitions.
2481 * page/animation/CSSPropertyAnimation.cpp:
2482 (WebCore::blendFunc):
2483 (WebCore::CSSPropertyAnimation::ensurePropertyMap):
2484 * rendering/style/RenderStyle.h:
2486 2013-08-06 Sergio Villar Senin <svillar@igalia.com>
2488 [CSS Grid Layout] Allow defining named grid lines on the grid element
2489 https://bugs.webkit.org/show_bug.cgi?id=118255
2491 Reviewed by Andreas Kling.
2493 From Blink r149798 by <jchaffraix@chromium.org>
2495 This change adds parsing, style resolution and getComputedStyle
2496 support for named grid lines at the grid element level
2497 (i.e. extends our <track-list> support). Per the specification, we
2498 allow multiple grid lines with the same name.
2500 To fully support resolving the grid lines to a position on our
2501 grid, we need to add the parsing at the grid item's level (which
2502 means extending our <grid-line> support). This will be done in a
2505 Test: fast/css-grid-layout/named-grid-line-get-set.html
2507 * css/CSSComputedStyleDeclaration.cpp:
2508 (WebCore::addValuesForNamedGridLinesAtIndex):
2509 (WebCore::valueForGridTrackList):
2510 (WebCore::ComputedStyleExtractor::propertyValue):
2511 * css/CSSParser.cpp:
2512 (WebCore::CSSParser::parseGridTrackList):
2513 * css/StyleResolver.cpp:
2514 (WebCore::createGridTrackList):
2515 (WebCore::StyleResolver::applyProperty):
2516 * rendering/style/RenderStyle.h:
2517 * rendering/style/StyleGridData.cpp:
2518 (WebCore::StyleGridData::StyleGridData):
2519 * rendering/style/StyleGridData.h:
2520 (WebCore::StyleGridData::operator==):
2522 2013-08-06 Allan Sandfeld Jensen <allan.jensen@digia.com>
2524 [Qt] Fix minimal build.
2526 Unreviewed build fix.
2528 Fix build witt XSLT disabled
2530 * xml/parser/XMLDocumentParserLibxml2.cpp:
2531 (WebCore::hasNoStyleInformation):
2533 2013-08-06 Zan Dobersek <zdobersek@igalia.com>
2535 webkit-gtk fails to build with bison-3.0
2536 https://bugs.webkit.org/show_bug.cgi?id=119373
2538 Reviewed by Gustavo Noronha Silva.
2540 * GNUmakefile.am: Remove rules for generating ANGLE's glslang source files with Bison.
2542 2013-06-26 Sergio Villar Senin <svillar@igalia.com>
2544 [CSS Grid Layout] Add support for parsing <grid-line> that includes a 'span'
2545 https://bugs.webkit.org/show_bug.cgi?id=118051
2547 Reviewed by Andreas Kling.
2549 From Blink r148766 by <jchaffraix@chromium.org>
2551 This adds the parsing, style resolution and getComputedStyle bits
2552 to our code. The rendering code was not made aware of the new type
2553 of GridPosition yet.
2555 * css/CSSComputedStyleDeclaration.cpp:
2556 (WebCore::valueForGridPosition):
2557 * css/CSSParser.cpp:
2558 (WebCore::CSSParser::parseValue):
2559 (WebCore::CSSParser::parseGridPosition):
2561 * css/CSSValueKeywords.in:
2562 * css/StyleResolver.cpp:
2563 (WebCore::StyleResolver::adjustRenderStyle):
2564 (WebCore::StyleResolver::adjustGridItemPosition):
2565 (WebCore::createGridPosition):
2566 * css/StyleResolver.h:
2567 * rendering/RenderGrid.cpp:
2568 (WebCore::RenderGrid::resolveGridPositionFromStyle):
2569 * rendering/style/GridPosition.h:
2570 (WebCore::GridPosition::isInteger):
2571 (WebCore::GridPosition::isSpan):
2572 (WebCore::GridPosition::setSpanPosition):
2573 (WebCore::GridPosition::spanPosition):
2575 2013-06-25 Sergio Villar Senin <svillar@igalia.com>
2577 [CSS Grid Layout] Rename grid placement properties
2578 https://bugs.webkit.org/show_bug.cgi?id=117878
2580 Reviewed by Andreas Kling.
2582 Renamed the grid placement properties to match the latest version
2583 of the spec. The new names are -webkit-grid-column-{start|end} and
2584 -webkit-grid-row-{start|end}.
2586 No new tests needed as we're just renaming some properties,
2587 functionality already covered by existing tests in
2588 fast/css-grid-layout.
2590 * css/CSSComputedStyleDeclaration.cpp:
2591 (WebCore::ComputedStyleExtractor::propertyValue):
2592 * css/CSSParser.cpp:
2593 (WebCore::CSSParser::parseValue):
2594 * css/CSSProperty.cpp:
2595 (WebCore::CSSProperty::isInheritedProperty):
2596 * css/CSSPropertyNames.in:
2597 * css/StylePropertyShorthand.cpp:
2598 (WebCore::webkitGridColumnShorthand):
2599 (WebCore::webkitGridRowShorthand):
2600 * css/StyleResolver.cpp:
2601 (WebCore::StyleResolver::applyProperty):
2602 * rendering/RenderGrid.cpp:
2603 (WebCore::RenderGrid::maximumIndexInDirection):
2604 (WebCore::RenderGrid::resolveGridPositionsFromStyle):
2605 (WebCore::RenderGrid::resolveGridPositionFromStyle):
2606 * rendering/RenderGrid.h:
2607 * rendering/style/RenderStyle.h:
2608 * rendering/style/StyleGridItemData.cpp:
2609 (WebCore::StyleGridItemData::StyleGridItemData):
2610 * rendering/style/StyleGridItemData.h:
2611 (WebCore::StyleGridItemData::operator==):
2613 2013-08-05 Przemyslaw Szymanski <p.szymanski3@samsung.com>
2615 [WebGL] validateRenderingState method name change
2616 https://bugs.webkit.org/show_bug.cgi?id=119485
2618 According to validateRenderingState method functionality its name should be
2619 changed. This method validates only vertex attributes.
2621 Reviewed by Dean Jackson.
2623 No new tests. Covered by existing tests. No changes in functionality.
2625 * html/canvas/WebGLRenderingContext.cpp:
2626 (WebCore::WebGLRenderingContext::validateVertexAttributes):
2627 (WebCore::WebGLRenderingContext::drawArrays):
2628 (WebCore::WebGLRenderingContext::drawElements):
2629 * html/canvas/WebGLRenderingContext.h:
2631 2013-07-27 Mark Rowe <mrowe@apple.com>
2633 Logging should be configurable using human-readable channel names rather than crazy bitmasks
2634 <http://webkit.org/b/119031>
2636 Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
2637 and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.
2639 Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
2640 "all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
2641 being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
2642 for history and loading being enabled.
2644 For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
2645 the old user defaults to remain set for those people that need to switch between version of WebKit before and
2646 after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
2647 the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.
2649 For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
2650 consistency with the other platforms and to enable more code sharing.
2652 While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
2653 adding a new logging channel. Now only the header in the relevant project needs to be updated.
2655 Reviewed by Sam Weinig.
2657 * GNUmakefile.list.am: Remove the now-unused InitializeLogging.h
2658 * Target.pri: Ditto.
2659 * WebCore.xcodeproj/project.pbxproj: Ditto.
2660 * platform/InitializeLogging.h: Removed. Ditto.
2661 * platform/Logging.cpp: Use WEBCORE_LOG_CHANNELS to define all of the channels.
2662 (WebCore::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
2663 to find a log channel rather than repeating the names of the log channels a further two times each.
2664 (WebCore::initializeLoggingChannelsIfNecessary): Pass the channels and the log level string to the new
2665 WTF function that handles the initialization.
2666 * platform/Logging.h: Declare a WEBCORE_LOG_CHANNELS macro that can be used to apply a preprocessor macro
2667 across the set of all logging channels. Use this macro to declare the logging channels.
2668 * platform/blackberry/LoggingBlackBerry.cpp:
2669 (WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
2670 * platform/efl/LoggingEfl.cpp:
2671 (WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable, and then prepend
2672 NotYetImplemented to it so that that channel will be enabled by default.
2673 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2674 (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink): Accommodate the rename to logChannelByName.
2675 * platform/gtk/LoggingGtk.cpp:
2676 (WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable, and then prepend
2677 NotYetImplemented to it so that that channel will be enabled by default.
2678 * platform/mac/LoggingMac.mm:
2679 (WebCore::logLevelString): Pull the value out of the WebCoreLogging user default key.
2680 * platform/qt/LoggingQt.cpp:
2681 (WebCore::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable, and then prepend
2682 NotYetImplemented to it so that the channel will be enabled by default.
2683 * platform/win/LoggingWin.cpp:
2684 (WebCore::logLevelString): Pull the value out of the WebCoreLogging environment variable.
2686 2013-08-05 Ryosuke Niwa <rniwa@webkit.org>
2688 Editor::updateMarkersForWordsAffectedByEditing(bool) shouldn't compute start and end of words when there are nor markers
2689 https://bugs.webkit.org/show_bug.cgi?id=119501
2691 Reviewed by Enrica Casucci.
2693 Exit early in updateMarkersForWordsAffectedByEditing before calling startOfWord and endOfWord if there are no document markers.
2695 * dom/DocumentMarkerController.h:
2696 (WebCore::DocumentMarkerController::hasMarkers): Added.
2697 * editing/Editor.cpp:
2698 (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
2700 2013-08-05 Dean Jackson <dino@apple.com>
2702 Update HTMLPreloadScanner to handle img srcset
2703 https://bugs.webkit.org/show_bug.cgi?id=119360
2705 Reviewed by Sam Weinig.
2707 This patch is a merge of similar patches from Yoav Weiss <yoav@yoav.ws>
2710 Test: fast/preloader/image-srcset.html
2712 * html/HTMLImageElement.cpp:
2713 (WebCore::HTMLImageElement::parseAttribute): Move srcset parsing into
2714 HTMLParserIdioms, and call it when we hit src or srcset.
2715 * html/HTMLImageElement.h: Remove code that was moved to HTMLParserIdioms.
2717 * html/parser/HTMLDocumentParser.cpp:
2718 (WebCore::HTMLDocumentParser::pumpTokenizer): Pass device scale into preloader.
2719 (WebCore::HTMLDocumentParser::insert):
2721 * html/parser/HTMLPreloadScanner.cpp:
2722 (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): Takes device scale as a parameter.
2723 (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): Resolve between src and srcSet if necessary.
2724 (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Add support for srcset attribute.
2725 (WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): New flag to indicate if we should
2726 replace any existing value.
2727 (WebCore::TokenPreloadScanner::TokenPreloadScanner): Takes device scale.
2728 (WebCore::TokenPreloadScanner::scanCommon): Pass device scale.
2729 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2730 * html/parser/HTMLPreloadScanner.h: New attribute to constructor for device scale. New member
2731 variable on TokenPreloadScanner that holds the srcset value.
2733 * html/parser/HTMLParserIdioms.cpp:
2734 (WebCore::ImageWithScale::operator==): Used for sorting.
2735 (WebCore::compareByScaleFactor): Used for sorting.
2736 (WebCore::bestFitSourceForImageAttributes): New method that takes the code from HTMLImageElement
2737 for parsing src and srcset attributes, and finding the best match.
2738 * html/parser/HTMLParserIdioms.h:
2740 2013-08-05 Oliver Hunt <oliver@apple.com>
2742 Move TypedArray implementation into JSC
2743 https://bugs.webkit.org/show_bug.cgi?id=119489
2745 Reviewed by Filip Pizlo.
2747 Update WebCore for new location of TypedArray implementation.
2749 * ForwardingHeaders/runtime/ArrayBuffer.h: Added.
2750 * ForwardingHeaders/runtime/ArrayBufferView.h: Added.
2751 * ForwardingHeaders/runtime/Float32Array.h: Added.
2752 * ForwardingHeaders/runtime/Float64Array.h: Added.
2753 * ForwardingHeaders/runtime/Int16Array.h: Added.
2754 * ForwardingHeaders/runtime/Int32Array.h: Added.
2755 * ForwardingHeaders/runtime/Int8Array.h: Added.
2756 * ForwardingHeaders/runtime/IntegralTypedArrayBase.h: Added.
2757 * ForwardingHeaders/runtime/TypedArrayBase.h: Added.
2758 * ForwardingHeaders/runtime/Uint16Array.h: Added.
2759 * ForwardingHeaders/runtime/Uint32Array.h: Added.
2760 * ForwardingHeaders/runtime/Uint8Array.h: Added.
2761 * ForwardingHeaders/runtime/Uint8ClampedArray.h: Added.
2762 * Modules/webaudio/AnalyserNode.h:
2763 (WebCore::AnalyserNode::getFloatFrequencyData):
2764 (WebCore::AnalyserNode::getByteFrequencyData):
2765 (WebCore::AnalyserNode::getByteTimeDomainData):
2766 * Modules/webaudio/AsyncAudioDecoder.cpp:
2767 * Modules/webaudio/AsyncAudioDecoder.h:
2768 (WebCore::AsyncAudioDecoder::DecodingTask::audioData):
2769 * Modules/webaudio/AudioBuffer.h:
2770 * Modules/webaudio/AudioContext.cpp:
2771 * Modules/webaudio/AudioParam.h:
2772 * Modules/webaudio/AudioParamTimeline.h:
2773 * Modules/webaudio/PeriodicWave.h:
2774 * Modules/webaudio/RealtimeAnalyser.cpp:
2775 * Modules/webaudio/RealtimeAnalyser.h:
2776 * Modules/webaudio/ScriptProcessorNode.cpp:
2777 * Modules/webaudio/WaveShaperProcessor.h:
2778 * Modules/websockets/ThreadableWebSocketChannel.h:
2779 * Modules/websockets/WebSocket.cpp:
2780 * Modules/websockets/WebSocket.h:
2781 * Modules/websockets/WebSocketChannel.cpp:
2782 * Modules/websockets/WebSocketChannel.h:
2783 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2784 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2786 * bindings/js/JSArrayBufferCustom.cpp:
2787 * bindings/js/JSArrayBufferViewHelper.h:
2788 * bindings/js/JSAudioContextCustom.cpp:
2789 * bindings/js/JSCryptoCustom.cpp:
2790 * bindings/js/JSDictionary.h:
2791 * bindings/js/JSFileReaderCustom.cpp:
2792 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2793 * bindings/js/JSXMLHttpRequestCustom.cpp:
2794 * bindings/js/SerializedScriptValue.cpp:
2795 (WebCore::SerializedScriptValue::transferArrayBuffers):
2796 * bindings/js/SerializedScriptValue.h:
2797 * bindings/scripts/CodeGeneratorJS.pm:
2798 (AddIncludesForType):
2801 * dom/MessageEvent.h:
2802 * fileapi/FileReader.cpp:
2803 * fileapi/FileReader.h:
2804 * fileapi/FileReaderLoader.cpp:
2805 * fileapi/FileReaderLoader.h:
2806 * fileapi/FileReaderSync.cpp:
2807 * fileapi/FileReaderSync.h:
2808 * fileapi/WebKitBlobBuilder.cpp:
2809 * fileapi/WebKitBlobBuilder.h:
2810 * html/HTMLMediaElement.cpp:
2812 * html/canvas/ArrayBuffer.idl:
2813 * html/canvas/ArrayBufferView.idl:
2814 * html/canvas/CanvasRenderingContext2D.cpp:
2815 * html/canvas/DataView.h:
2816 * html/canvas/Float32Array.idl:
2817 * html/canvas/Float64Array.idl:
2818 * html/canvas/Int16Array.idl:
2819 * html/canvas/Int32Array.idl:
2820 * html/canvas/Int8Array.idl:
2821 * html/canvas/Uint16Array.idl:
2822 * html/canvas/Uint32Array.idl:
2823 * html/canvas/Uint8Array.idl:
2824 * html/canvas/Uint8ClampedArray.idl:
2825 * html/canvas/WebGLBuffer.h:
2826 (WebCore::WebGLBuffer::elementArrayBuffer):
2827 * html/canvas/WebGLGetInfo.cpp:
2828 * html/canvas/WebGLGetInfo.h:
2829 * html/canvas/WebGLRenderingContext.cpp:
2830 * html/canvas/WebGLRenderingContext.h:
2831 * inspector/InspectorMemoryAgent.cpp:
2834 * platform/graphics/GraphicsContext3D.cpp:
2835 * platform/graphics/ImageBuffer.h:
2836 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2837 * platform/graphics/cg/ImageBufferDataCG.h:
2838 * platform/graphics/filters/FEBlend.cpp:
2839 * platform/graphics/filters/FEColorMatrix.cpp:
2840 * platform/graphics/filters/FEComponentTransfer.cpp:
2841 * platform/graphics/filters/FEComposite.cpp:
2842 * platform/graphics/filters/FEConvolveMatrix.cpp:
2843 * platform/graphics/filters/FECustomFilter.cpp:
2844 * platform/graphics/filters/FEDisplacementMap.cpp:
2845 * platform/graphics/filters/FEDropShadow.cpp:
2846 * platform/graphics/filters/FEGaussianBlur.cpp:
2847 * platform/graphics/filters/FELighting.h:
2848 * platform/graphics/filters/FEMorphology.cpp:
2849 * platform/graphics/filters/FETurbulence.cpp:
2850 * platform/graphics/filters/FilterEffect.cpp:
2851 * platform/graphics/filters/FilterEffect.h:
2852 * platform/graphics/mac/GraphicsContext3DMac.mm:
2853 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2854 * testing/Internals.h:
2855 * xml/XMLHttpRequest.cpp:
2856 * xml/XMLHttpRequest.h:
2857 (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
2859 2013-08-05 Alexey Proskuryakov <ap@apple.com>
2861 <rdar://problem/14637103> REGRESSION (r153060?): Microphone appears in the way
2862 of text when dictating an e-mail
2863 https://bugs.webkit.org/show_bug.cgi?id=119496
2865 Reviewed by Ryosuke Niwa.
2867 Test: platform/mac/editing/input/firstrectforcharacterrange-caret-in-br.html
2869 * rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
2870 FloatRect::unite() doesn't preserve empty rects, which we need here.
2871 We alrady handle the case of collapsed range in Editor::firstRectForRange(), and
2872 this is similar, but we can't currently cover both with one simple fix.
2874 2013-08-05 Morten Stenshorne <mstensho@opera.com>
2876 Region based columns not painted correctly in non-default writing-modes
2877 https://bugs.webkit.org/show_bug.cgi?id=118506
2879 Reviewed by David Hyatt.
2881 The column translation offset was calculated incorrectly.
2882 The dirty rect intersection check was also wrong.
2884 Added some documentation, to make it clear what's going on.
2886 Tests: fast/multicol/newmulticol/hide-box-horizontal-bt.html
2887 fast/multicol/newmulticol/hide-box-vertical-lr.html
2888 fast/multicol/newmulticol/hide-box-vertical-rl.html
2890 * rendering/RenderMultiColumnSet.cpp:
2891 (WebCore::RenderMultiColumnSet::collectLayerFragments):
2893 2013-08-05 Morten Stenshorne <mstensho@opera.com>
2895 Region based columns not clipped properly
2896 https://bugs.webkit.org/show_bug.cgi?id=118499
2898 Reviewed by David Hyatt.
2900 Need to call RenderRegion::overflowRectForFlowThreadPortion() first,
2901 and THEN clip in the column gaps. overflowRectForFlowThreadPortion()
2902 expands the logical left and right to the flow thread's overflow
2903 rectangle, effectively defeating inline direction clipping completely.
2905 Tests: fast/multicol/newmulticol/clipping-overflow-hidden.html
2906 fast/multicol/newmulticol/clipping-top-overflow.html
2907 fast/multicol/newmulticol/clipping.html
2909 * rendering/RenderMultiColumnSet.cpp:
2910 (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2912 2013-08-05 Vivek Galatage <vivek.vg@samsung.com>
2914 XMLTreeViewer should be created only in the XML viewer mode
2915 https://bugs.webkit.org/show_bug.cgi?id=119483
2917 Reviewed by Alexey Proskuryakov.
2919 XMLTreeViewer is created even for the XSL transform which is avoided by the patch.
2920 The XMLTreeViewer::hasNoStyleInformation() is moved to XMLDocumentParserLibxml2.cpp
2921 as static inline method as XMLTreeViewer should not have the responsibility for it.
2922 Also removes an unnecessary conditional check while deciding for XML viewer mode.
2924 Blink patch review links:
2925 https://codereview.chromium.org/19552003/
2926 https://codereview.chromium.org/22150003/
2928 No new tests as the patch is about code refactoring.
2930 * xml/XMLTreeViewer.cpp:
2931 * xml/XMLTreeViewer.h:
2932 * xml/parser/XMLDocumentParserLibxml2.cpp:
2933 (WebCore::hasNoStyleInformation):
2934 (WebCore::XMLDocumentParser::doEnd):
2936 2013-08-03 Jer Noble <jer.noble@apple.com>
2938 Loading a video with a custom URL scheme will result in stalling playback
2939 https://bugs.webkit.org/show_bug.cgi?id=119469
2941 Reviewed by Eric Carlson.
2943 Break the assumption that only one AVAssetResourceRequest will be outstanding simultaneously
2944 by storing a HashMap of AVAssetResourceRequests and their resulting WebCoreAVFResourceLoader.
2945 When loading is stopped (due to completion or error), notify the MediaPlayerPrivateAVFoundation
2946 parent so that the map can be emptied.
2948 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2949 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2950 (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Store the request
2951 in m_resourceLoaderMap.
2952 (WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Pull the request from
2953 m_resourceLoaderMap.
2954 (WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest): Remove the requset from
2955 m_resourceLoaderMap.
2956 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
2957 * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
2958 (WebCore::WebCoreAVFResourceLoader::create): Return a PassRefPtr, rather than a PassOwnPtr.
2959 (WebCore::WebCoreAVFResourceLoader::stopLoading): Call didStopLoadingRequest.
2961 2013-08-05 Abhijeet Kandalkar <abhijeet.k@samsung.com>
2963 Spatial Navigation should avoid unwanted calculation while deciding focus candidate.
2964 https://bugs.webkit.org/show_bug.cgi?id=117265
2966 Reviewed by Antonio Gomes.
2968 Spatial Navigation should consider only those nodes as candidate which are exactly in the focus-direction.
2969 e.g. If we are moving down then the nodes that are above CURRENT focused node should be considered as invalid.
2970 Added isValidCandidate() which checks whether node is exactly in the focus-direction.
2972 Test: fast/spatial-navigation/snav-search-optimization.html
2974 * page/FocusController.cpp:
2975 (WebCore::FocusController::findFocusCandidateInContainer):
2976 (WebCore::FocusController::advanceFocusDirectionally):
2978 (WebCore::Page::Page):
2980 (WebCore::Page::setLastSpatialNavigationCandidateCount):
2981 (WebCore::Page::lastSpatialNavigationCandidateCount):
2982 * page/SpatialNavigation.cpp:
2983 (WebCore::isValidCandidate):
2984 * page/SpatialNavigation.h:
2985 * testing/Internals.cpp:
2986 (WebCore::Internals::lastSpatialNavigationCandidateCount):
2987 * testing/Internals.h:
2988 * testing/Internals.idl:
2990 2013-08-05 Mihai Tica <mitica@adobe.com>
2992 [CSS Background Blending] Specifying background-image and background-color
2993 with opaque image doesn't trigger blending. The fix consists of adding a
2994 check whether blend mode is set in hasOpaqueImage.
2996 https://bugs.webkit.org/show_bug.cgi?id=119434
2998 Reviewed by Dirk Schulze.
3000 Test: css3/compositing/background-blend-mode-separate-layer-declaration.html
3002 * rendering/style/FillLayer.cpp:
3003 (WebCore::FillLayer::hasOpaqueImage):
3005 2013-08-04 Zalan Bujtas <zalan@apple.com>
3007 Background doesn't fully repaint when body has margins.
3008 https://bugs.webkit.org/show_bug.cgi?id=119033
3010 Reviewed by Simon Fraser.
3012 Ensure that background-color changes do not leave unpainted areas when
3015 Both <body> and <html> background-color get propagated up to the viewport.
3016 If <body> has background-color attribute set, while <html> doesn't, the color is
3017 applied not only on the <body> but on both the <html> and the viewport. However,
3018 it's not enough to mark the RenderView dirty because with tiles backing on,
3019 there could be areas outside of the viewport that need repaint. By marking
3020 the RenderView's graphics layer dirty instead, we ensure that all the related
3021 tiles get marked dirty too and the new background color covers all areas.
3023 Manual test added. When forcing top-level composition on (even with embedded iframe to
3024 make sure we don't do paintsIntoWindow rendering), the test case execution changes so much,
3025 that the repaint rects don't reflect the functionality difference anymore.
3027 * page/FrameView.cpp:
3028 (WebCore::FrameView::reset):
3029 (WebCore::FrameView::layout):
3031 (WebCore::FrameView::needsFullRepaint):
3032 * rendering/RenderBox.cpp:
3033 (WebCore::RenderBox::styleWillChange):
3034 * rendering/RenderObjectChildList.cpp:
3035 (WebCore::RenderObjectChildList::removeChildNode):
3036 * rendering/RenderView.cpp:
3037 (WebCore::RenderView::repaintRootContents):
3038 (WebCore::RenderView::repaintViewAndCompositedLayers):
3039 * rendering/RenderView.h:
3041 2013-08-04 Andreas Kling <akling@apple.com>
3043 Document needn't expose its active element.
3044 <http://webkit.org/b/119466>
3046 Reviewed by Antonio Gomes.
3048 The Document::m_activeElement pointer is only used inside updateHoverActiveState(),
3049 so we can remove the activeElement()/setActiveElement() accessors.
3053 (WebCore::Document::updateHoverActiveState):
3055 2013-08-04 Andreas Kling <akling@apple.com>
3057 Inserting a rule into an empty style sheet shouldn't trigger style recalc unless necessary.
3058 <http://webkit.org/b/119475>
3059 <rdar://problem/14643481>
3061 Reviewed by Antti Koivisto.
3063 This is kind of a cheesy optimization, but it turns out that the use case is quite common.
3064 The pattern goes like this:
3066 (1) Create <style> element.
3067 (2) Add it to the document's <head>.
3068 (3) .addRule() one rule through the CSSOM API.
3070 Prior to this patch, (3) would always cause a full (deferred) style recalc.
3072 Now that we exclude empty style sheets from the document's (effective) active set,
3073 we can piggyback on the style invalidation analysis when transitioning from an empty
3074 sheet to a single-rule sheet.
3076 In other words, add a special code path for the first rule insertion into an empty,
3077 in-document style sheet to minimize the amount of invalidation that happens.
3079 * css/CSSStyleSheet.cpp:
3080 (WebCore::CSSStyleSheet::didMutateRules):
3081 (WebCore::CSSStyleSheet::insertRule):
3082 * css/CSSStyleSheet.h:
3083 (WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
3084 (WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):
3086 2013-08-04 Claudio Saavedra <csaavedra@igalia.com>
3088 [GTK] Fix a C++11 warning.
3090 Rubber-stamped by Martin Robinson.
3092 * platform/gtk/FileSystemGtk.cpp:
3093 (WebCore::sharedResourcesPath): Fix a C++11 warning.
3095 2013-08-04 Diego Pino Garcia <dpino@igalia.com>
3097 [GTK] Remove legacy hack in CodeGeneratorGObject.pm
3098 https://bugs.webkit.org/show_bug.cgi?id=117545
3100 Reviewed by Carlos Garcia Campos.
3102 There's a checking that sets gtype to uint in case it's ushort. gtype
3103 is a value obtained from GetGValueTypeName(), which never returns
3106 * bindings/scripts/CodeGeneratorGObject.pm:
3107 (GenerateProperty): remove unnecessary glitch
3109 2013-08-04 Andreas Kling <akling@apple.com>
3111 [Mac] Disable screen font substitution at WebCore-level in OS X 10.9+
3112 <http://webkit.org/b/119474>
3113 <rdar://problem/14643349>
3115 Reviewed by Dan Bernstein.
3117 Disable screen font substitution by default in Settings so internal WebCore clients
3118 such as SVG-as-image will get the right default setting.
3120 * page/Settings.cpp:
3121 (WebCore::Settings::Settings):
3122 (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
3123 (WebCore::Settings::setScreenFontSubstitutionEnabled):
3125 (WebCore::Settings::screenFontSubstitutionEnabled):
3127 * page/mac/SettingsMac.mm:
3128 (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
3130 2013-08-03 Tim Horton <timothy_horton@apple.com>
3132 Refine the unavailable plug-in indicator
3133 https://bugs.webkit.org/show_bug.cgi?id=119400
3134 <rdar://problem/14616012>
3136 Reviewed by Oliver Hunt.
3138 Add a border, flip the text and background colors, and make the indicator
3139 much higher contrast, to be more visible on a variety of sites.
3140 Also, refine the arrow to be less blocky and inlaid inside a circle.
3142 * rendering/RenderEmbeddedObject.cpp:
3143 (WebCore::replacementTextRoundedRectPressedColor):
3144 (WebCore::replacementTextRoundedRectColor):
3145 (WebCore::replacementTextColor):
3146 (WebCore::unavailablePluginBorderColor):
3147 (WebCore::drawReplacementArrow):
3148 (WebCore::RenderEmbeddedObject::paintReplaced):
3149 (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
3150 (WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
3151 (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
3152 * rendering/RenderEmbeddedObject.h:
3154 2013-08-03 Yoav Weiss <yoav@yoav.ws>
3156 PreloadScanner preloads external CSS with non-matching media attribute
3157 https://bugs.webkit.org/show_bug.cgi?id=106198
3159 Reviewed by Dean Jackson.
3161 Test: http/tests/loading/preload-css-test.html
3163 * html/parser/HTMLPreloadScanner.cpp:
3164 Remove m_linkMediaAttributeIsScreen
3165 Remove MediaQueryEvaluator calls
3166 Add m_mediaAttribute that gets the value of the "media" attribute
3167 Pass m_mediaAttribute to PreloadRequest
3168 (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
3169 (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
3170 (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
3171 (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
3172 (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
3173 * html/parser/HTMLResourcePreloader.cpp:
3174 Add MediaQueryEvaluator calls to see if "media" matches
3175 Perform preload only to resource with a matching media (if media exists)
3176 (WebCore::PreloadRequest::isSafeToSendToAnotherThread):
3177 (WebCore::mediaAttributeMatches):
3178 (WebCore::HTMLResourcePreloader::preload):
3179 * html/parser/HTMLResourcePreloader.h:
3180 Add a constructor with a mediaAttribute value
3181 Add m_mediaAttribute & its getter.
3182 (WebCore::PreloadRequest::create):
3183 (WebCore::PreloadRequest::media):
3184 (WebCore::PreloadRequest::PreloadRequest):
3186 2013-08-03 Andreas Kling <akling@apple.com>
3188 RenderBoxModelObject::firstLetterRemainingText should be a RenderTextFragment*.
3189 <http://webkit.org/b/119181>
3191 Reviewed by Sam Weinig.
3193 De-generalize this code a bit since we know that the firstLetterRemainingText() is always
3194 going to be a RenderTextFragment.
3196 * rendering/RenderBoxModelObject.h:
3197 * rendering/RenderBoxModelObject.cpp:
3198 (WebCore::RenderBoxModelObject::firstLetterRemainingText):
3199 (WebCore::RenderBoxModelObject::setFirstLetterRemainingText):
3201 Make these two deal in RenderTextFragment*.
3203 * rendering/RenderBlock.cpp:
3204 (WebCore::RenderBlock::updateFirstLetterStyle):
3206 Tighten up some pointer types so we don't have to cast as much.
3208 2013-08-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3210 Introduce toSVGMaskElement(), and use it
3211 https://bugs.webkit.org/show_bug.cgi?id=119443
3213 Reviewed by Andreas Kling.
3215 As a step to change static_cast with toSVGXXX, static_cast<SVGMaskElement*> can
3216 be changed with toSVGMaskElement().
3218 Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=155432
3220 * rendering/svg/RenderSVGResourceMasker.cpp:
3221 (WebCore::RenderSVGResourceMasker::applyResource):
3222 (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
3223 * rendering/svg/RenderSVGResourceMasker.h:
3224 * svg/SVGMaskElement.h:
3225 (WebCore::toSVGMaskElement):
3227 2013-08-02 Benjamin Poulain <bpoulain@apple.com>
3229 REGRESSION (r153005): Crash in SpaceSplitString::spaceSplitStringContainsValue on Facebook
3230 https://bugs.webkit.org/show_bug.cgi?id=119384
3232 Reviewed by Alexey Proskuryakov.
3234 When removing the "rel" attribute from HTMLAnchorElement, we parse the attribute for no value.
3235 Following r153005, we no longer checked for null String, which caused a crash in that case.
3237 Creating a SpaceSplitString from a null string causes the SpaceSplitString to be null. In that case
3238 SpaceSplitString::contains() would always return false.
3239 This patch modify SpaceSplitString::spaceSplitStringContainsValue() to follow the exact same
3242 Test: fast/dom/HTMLAnchorElement/remove-rel-attribute.html
3244 * dom/SpaceSplitString.cpp:
3245 (WebCore::SpaceSplitString::spaceSplitStringContainsValue):
3247 2013-08-02 Dean Jackson <dino@apple.com>
3249 Force elements with perspective or preserve-3d to disallow direct composited backgrounds
3250 https://bugs.webkit.org/show_bug.cgi?id=119462
3251 <rdar://problem/14607548>
3253 Reviewed by Simon Fraser.
3255 Bug 119461 (http://wkb.ug/119461) describes how a directly composited
3256 background color can intersect with its children. It's not clear exactly
3257 what the best way to fix that is, but for the moment we should disallow
3258 any element that has perspective or a preserve-3d transform style from
3259 getting a directly composited background.
3261 Test: compositing/background-color/no-composited-background-color-when-perspective.html
3263 * rendering/RenderLayerBacking.cpp:
3264 (WebCore::hasPerspectiveOrPreserves3D): New static helper.
3265 (WebCore::supportsDirectBoxDecorationsComposition): Return false if the above function is true.
3267 2013-08-02 Oliver Hunt <oliver@apple.com>
3269 Update binding test results
3271 * bindings/scripts/test/JS/JSFloat64Array.cpp:
3272 (WebCore::JSFloat64Array::getOwnPropertySlot):
3273 (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
3274 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3275 (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
3276 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3277 (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
3279 2013-08-02 Gavin Barraclough <barraclough@apple.com>
3281 Remove no-arguments constructor to PropertySlot
3282 https://bugs.webkit.org/show_bug.cgi?id=119460
3284 Reviewed by Geoff Garen.
3286 This constructor was unsafe if getValue is subsequently called,
3287 and the property is a getter. Simplest to just remove it.
3289 * bindings/js/JSDOMWindowCustom.cpp:
3290 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
3291 (WebCore::DialogHandler::returnValue):
3292 * bindings/js/JSHistoryCustom.cpp:
3293 (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
3294 * bindings/js/JSLocationCustom.cpp:
3295 (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
3296 * bindings/js/JSPluginElementFunctions.cpp:
3297 (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
3298 * bindings/js/JSStorageCustom.cpp:
3299 (WebCore::JSStorage::deleteProperty):
3300 (WebCore::JSStorage::putDelegate):
3301 * bindings/scripts/CodeGeneratorJS.pm:
3302 (GenerateGetOwnPropertyDescriptorBody):
3303 * bridge/runtime_array.cpp:
3304 (JSC::RuntimeArray::getOwnPropertyDescriptor):
3305 * bridge/runtime_method.cpp:
3306 (JSC::RuntimeMethod::getOwnPropertyDescriptor):
3307 * bridge/runtime_object.cpp:
3308 (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
3310 2013-08-02 Andreas Kling <akling@apple.com>
3312 Removing a <link> element with an empty stylesheet shouldn't trigger style recalc.
3313 <http://webkit.org/b/119442>
3314 <rdar://problem/14631785>
3316 Reviewed by Antti Koivisto.
3318 Let Document decide whether or not to do a style recalc after a <link> element is removed.
3319 This avoids unnecessary work when removing a <link> that refers to an empty style sheet.
3321 Some Facebook pages have a <link rel="stylesheet" href="data:text/css;base64,"> that gets
3322 removed during the initial page load, causing style recalc.
3324 * html/HTMLLinkElement.cpp:
3325 (WebCore::HTMLLinkElement::removedFrom):
3327 Use DeferRecalcStyleIfNeeded. Since the style sheet is being removed, it will either
3328 cause a recalc (because it's no longer in the set of active sheets) or do nothing.
3330 2013-08-02 Patrick Gansterer <paroga@webkit.org>
3332 Remove WebCore folder from include statements
3333 https://bugs.webkit.org/show_bug.cgi?id=119438
3335 Reviewed by Darin Adler.
3337 This aligns the style of the changed files with the other WebCore code.
3339 * platform/network/curl/CurlDownload.cpp:
3340 * platform/network/curl/CurlDownload.h:
3342 2013-08-02 Ryosuke Niwa <rniwa@webkit.org>
3344 FormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
3345 https://bugs.webkit.org/show_bug.cgi?id=119309
3347 Reviewed by Kent Tamura.
3349 Merge https://chromium.googlesource.com/chromium/blink/+/6fbdcbf311de539107bc28711b3f7a527176e97b.
3351 I'm not merging the test since the attached test case only works when the shadow DOM API is enabled.
3353 * html/FormAssociatedElement.cpp:
3354 (WebCore::FormAssociatedElement::formAttributeChanged):
3355 (WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):
3357 2013-08-02 Christophe Dumez <ch.dumez@sisa.samsung.com>
3359 compareDocumentPosition() should report PRECEDING or FOLLOWING information even if nodes are disconnected
3360 https://bugs.webkit.org/show_bug.cgi?id=119316
3362 Reviewed by Ryosuke Niwa.
3364 As per the latest specification, compareDocumentPosition() should report PRECEDING or FOLLOWING
3365 information even if nodes are disconnected:
3366 - http://dom.spec.whatwg.org/#dom-node-comparedocumentposition
3368 This behavior is consistent with both IE10, Firefox 22 and since recently Blink.
3370 No new tests, covered by existing tests.
3373 (WebCore::compareDetachedElementsPosition):
3374 (WebCore::Node::compareDocumentPosition):
3376 2013-08-02 Simon Fraser <simon.fraser@apple.com>
3378 Revert r153632, since it caused fast/forms/change-form-element-document-crash.html
3381 * html/FormAssociatedElement.cpp:
3382 (WebCore::FormAssociatedElement::formAttributeChanged):
3383 (WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):
3385 2013-08-02 Mario Sanchez Prada <mario.prada@samsung.com>
3387 Implement atk_text_get_text_*_offset for WORD
3388 https://bugs.webkit.org/show_bug.cgi?id=114871
3390 Reviewed by Martin Robinson.
3392 Re-implement this functions without using GailTextUtil nor Pango.
3394 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3395 (textForObject): Made the parameter a const, to avoid warnings.
3396 (getSelectionOffsetsForObject): Add special cases for END boundaries.
3397 (emptyTextSelectionAtOffset): Convenience function to be used in
3398 early returns from functions returning both text and offsets.
3399 (webkitAccessibleTextGetChar): Use emptyTextSelectionAtOffset(),
3400 and remove checks that are now done outside of this function, in
3401 webkitAccessibleTextGetTextForOffset().
3402 (nextWordStartPosition): Helper function to reliably find the
3403 start of the next word as and user would do it by navigating with
3404 Ctrl and the arrows (considering spaces and punctuation).
3405 (previousWordEndPosition): Similar to nextWordStartPosition, but
3406 written to help find the end of the previous one.
3407 (wordAtPositionForAtkBoundary): Helper function to find the word
3408 at a given position considering values of AtkTextBoundary.
3409 (numberOfReplacedElementsBeforeOffset): Helper function to help
3410 figure out how many embedded objects we have exposed for an
3411 AtkText object, used to adjust offsets coming from outside.
3412 (webkitAccessibleTextGetWordForBoundary): New function,
3413 implementing atk_text_get_text_*_offset for WORD.
3414 (webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
3415 WORD boundaries with webkitAccessibleTextGetWordForBoundary().
3416 Also, moved the initialization of the start and end offsets to the
3417 bottom, into the gail/pango section, since those values will be
3418 from now on initialized in getSelectionOffsetsForObject().
3419 (webkitAccessibleTextGetSelection): Removed the initialization of
3420 the start and end offsets, since those values will be from now on
3421 initialized in getSelectionOffsetsForObject().
3423 2013-08-02 Zoltan Arvai <zarvai@inf.u-szeged.hu>
3425 Buildfix for !ENABLE(SVG) platforms after r153581.
3426 https://bugs.webkit.org/show_bug.cgi?id=119444
3428 Reviewed by Andreas Kling.
3430 Adding missing guards.
3432 * css/StylePropertyShorthand.cpp:
3433 (WebCore::matchingShorthandsForLonghand):
3434 * css/StylePropertyShorthand.h:
3436 2013-08-02 Brady Eidson <beidson@apple.com>
3438 REGRESSION (r130783): Scrolling is broken going back to a cached page from a page that still has outstanding subresources.
3439 <rdar://problem/14601124> and https://bugs.webkit.org/show_bug.cgi?id=119416
3441 Reviewed by Darin Adler.
3443 Test: http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html
3445 * loader/DocumentLoader.cpp:
3446 (WebCore::DocumentLoader::stopLoading): Always explicitly cancel the Document parser when stopLoading is called.
3448 2013-08-02 Antoine Quint <graouts@apple.com>
3450 <input type="search"> doesn't correctly handle the "size" attribute
3451 https://bugs.webkit.org/show_bug.cgi?id=119174
3453 We weren't taking into account the decorations for search fields (results and close buttons)
3454 when computing the preferred logical width for these fields based on the "size" attribute
3455 and as a result we would not guarantee that we could show the number of characters set by
3456 the "size" attribute.
3458 To make the process of reporting extra width due to decorations cleaner, we add a new decorationWidth()
3459 method for InputType subclasses to override and called through HTMLInputElement::decorationWidth()
3460 and have NumberInputType and SearchInputType return custom decoration widths.
3462 Reviewed by Darin Adler.
3464 Test: fast/forms/search/search-size-with-decorations.html
3466 * html/HTMLInputElement.cpp:
3467 (WebCore::HTMLInputElement::decorationWidth):
3468 * html/HTMLInputElement.h:
3469 * html/InputType.cpp:
3470 (WebCore::InputType::decorationWidth):
3472 Expose a new method to get the width for the input's decoration through the InputType.
3474 * html/NumberInputType.cpp:
3475 (WebCore::NumberInputType::decorationWidth):
3476 * html/NumberInputType.h:
3477 Override InputType::decorationWidth() to return the decoration width for a number input
3478 using the same code previously used in RenderTextControlSingleLine::preferredContentLogicalWidth().
3480 * html/SearchInputType.cpp:
3481 (WebCore::SearchInputType::sizeShouldIncludeDecoration):
3482 Override InputType::sizeShouldIncludeDecoration() to return true since search fields
3483 have custom decoration adding to the size of the field.
3485 (WebCore::SearchInputType::decorationWidth):
3486 Return the combined size of the results and cancel buttons, as available.
3487 * html/SearchInputType.h:
3489 * rendering/RenderTextControlSingleLine.cpp:
3490 (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
3491 Remove the code specific to NumberInputType (which was moved to InputType::decorationWidth())
3492 and replace it with a call to HTMLInputElement::decorationWidth() since this method will now
3493 return the extra decoration width for an input element should it have any.
3495 2013-08-02 Patrick Gansterer <paroga@webkit.org>
3497 [WIN] Fix build without precompiled header.
3499 * accessibility/win/AccessibilityObjectWrapperWin.h: Added missing include.
3500 * rendering/RenderThemeWin.cpp: Ditto.
3502 2013-08-02 Byungwoo Lee <bw80.lee@samsung.com>
3504 Remove redundant call of argsList->current() from loops in CSSParser.
3505 https://bugs.webkit.org/show_bug.cgi?id=119432
3507 Reviewed by Christophe Dumez.
3509 while loops in CSSParser call argList->current() function at the start
3510 of each iteration, but this is redundant because argsList->next() at
3511 the end of the iteration calls the argList->current() and returns the
3514 Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=155402
3516 * css/CSSParser.cpp:
3517 (WebCore::CSSParser::parseMixFunction):
3518 (WebCore::CSSParser::parseCustomFilterFunctionWithInlineSyntax):
3520 2013-08-01 Andreas Kling <akling@apple.com>
3522 Removing an empty style sheet shouldn't trigger style recalc.
3523 <http://webkit.org/b/119428>
3524 <rdar://problem/14629045>
3526 Reviewed by Antti Koivisto.
3528 Teach DocumentStyleSheetCollection to filter out empty style sheets when deciding whether
3529 or not to trigger a style recalc. We can then be clever when an empty style sheet is removed
3530 from the document, and avoid causing extra work.
3532 Some pages use this pattern:
3534 (1) Create a <style> element.
3535 (2) Add it to the document's <head> element.
3536 (3) Insert some CSS as a text child of the <style> element.
3538 Since the <style> element is already inside the document at (3), we had to treat this as an
3539 old style sheet being removed, even though it was just an empty sheet of nothing.
3541 With this patch, Document gains enough smarts to know that removing/adding an empty sheet
3542 won't affect layout/rendering in any meaningful way, thus a style recalc can be avoided.
3546 (WebCore::Document::styleResolverChanged):
3548 Add a DeferRecalcStyleIfNeeded mode to styleResolverChanged().
3550 * css/CSSStyleSheet.h:
3551 * css/CSSStyleSheet.cpp:
3552 (WebCore::CSSStyleSheet::clearOwnerNode):
3554 Use DeferRecalcStyleIfNeeded when saying bye from a CSSStyleSheet and let Document decide
3555 if removing the sheet should trigger style recalc instead of always assuming it should.
3557 * dom/DocumentStyleSheetCollection.cpp:
3558 (WebCore::filterEnabledNonemptyCSSStyleSheets):
3559 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3561 Exclude empty sheets from the activeAuthorStyleSheets() collection. They are still
3562 visible through CSSOM's document.styleSheets.
3564 2013-08-02 Zalan Bujtas <zalan@apple.com>
3566 Frame flattening: Change the logic on whether resize event needs to be dispatched.
3567 https://bugs.webkit.org/show_bug.cgi?id=119394
3569 Reviewed by Simon Fraser.
3571 http://trac.webkit.org/changeset/149287 changed the logic so that resize events are
3572 sent out from FrameView::setFrameRect() too. Checking whether frame flattening is
3573 enabled is sufficient enough to ensure that no extra resize events are dispatched.
3575 Test: fast/frames/flattening/iframe-flattening-resize-event-count.html
3577 * page/FrameView.cpp:
3578 (WebCore::FrameView::FrameView):
3579 (WebCore::FrameView::setFrameRect):
3580 (WebCore::FrameView::frameFlatteningEnabled):
3581 (WebCore::FrameView::supportsFrameFlattening):
3582 (WebCore::FrameView::avoidScrollbarCreation):
3583 (WebCore::FrameView::calculateScrollbarModesForLayout):
3584 (WebCore::FrameView::layout):
3585 (WebCore::FrameView::isInChildFrameWithFrameFlattening):
3587 * rendering/RenderFrameBase.cpp:
3588 (WebCore::RenderFrameBase::layoutWithFlattening):
3590 2013-08-01 Commit Queue <commit-queue@webkit.org>
3592 Unreviewed, rolling out r153608.
3593 http://trac.webkit.org/changeset/153608
3594 https://bugs.webkit.org/show_bug.cgi?id=119425
3596 Snorkled fast/multicol/overflow-content-expected.html
3597 (Requested by kling on #webkit).
3599 * css/StyleResolver.cpp:
3600 (WebCore::StyleResolver::applyMatchedProperties):
3602 2013-08-01 Ruth Fong <ruth_fong@apple.com>
3604 [Forms: color] <input type='color'> popover color well implementation
3605 <rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356
3607 Reviewed by Benjamin Poulain.
3609 * Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.
3611 2013-07-31 Ryosuke Niwa <rniwa@webkit.org>
3613 FormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
3614 https://bugs.webkit.org/show_bug.cgi?id=119309
3616 Reviewed by Kent Tamura.
3618 Merge https://chromium.googlesource.com/chromium/blink/+/6fbdcbf311de539107bc28711b3f7a527176e97b.
3620 I'm not merging the test since the attached test case only works when the shadow DOM API is enabled.
3622 * html/FormAssociatedElement.cpp:
3623 (WebCore::FormAssociatedElement::formAttributeChanged):
3624 (WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):
3626 2013-08-01 Rob Buis <rwlbuis@webkit.org>
3628 selectors should match attribute name with case sensitivity based on element & document type
3629 https://bugs.webkit.org/show_bug.cgi?id=71152
3631 Reviewed by Darin Adler.
3633 Support case-sensitive attribute name selecting for non HTML. In order to do this we have to
3634 store the attribute name in the selector as-is when css parsing, and get the lowercase localName
3635 on demand for case-insensitive matching. The only time we want case-insensitive matching is when
3636 we try to match a HTML element in a HTML document.
3638 Tests: fast/dom/SelectorAPI/attrname-case-insensitive.html
3639 fast/dom/SelectorAPI/attrname-case-sensitive.xhtml
3640 svg/css/case-sensitive-attrname-selectors.html
3642 * css/CSSGrammar.y.in: do not lowercase attribute selector name.
3643 * css/CSSParserValues.h:
3644 (WebCore::CSSParserSelector::setAttribute):
3645 * css/CSSSelector.cpp:
3646 (WebCore::CSSSelector::setAttribute):
3647 * css/CSSSelector.h: allow access to lowered version of attribute localName if needed.
3648 (WebCore::CSSSelector::attributeCanonicalLocalName):
3649 * css/SelectorChecker.cpp:
3650 (WebCore::anyAttributeMatches): do only case-insensitive matching for HTML.
3651 (WebCore::SelectorChecker::checkOne):
3652 * css/SelectorChecker.h:
3653 (WebCore::SelectorChecker::checkExactAttribute): do only case-insensitive matching for HTML.
3654 * css/SelectorCheckerFastPath.cpp:
3655 (WebCore::HTMLNames::checkExactAttributeValue):
3656 * css/SelectorCheckerFastPath.h:
3657 (WebCore::SelectorCheckerFastPath::matchesRightmostAttributeSelector):
3659 (WebCore::Attribute::matches): use more convenient parameters.
3661 2013-08-01 Brent Fulgham <bfulgham@apple.com>
3663 [Windows] WebKit1 Fullscreen Video Play is Broken
3664 https://bugs.webkit.org/show_bug.cgi?id=119415
3666 Reviewed by Jer Noble.
3668 * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add
3669 call for ACFPlayerLayerSetFrame
3670 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3671 (WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible):
3672 Tear down video player when leaving Fullscreen mode and not using
3673 the newer Fullscreen feature.
3674 (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper):
3675 Disconnect from notifications for AVCFPlayerItemPresentationSizeChangedNotification,
3676 AVCFPlayerItemDuratoinChangedNotification, and disconnect any
3677 LegibleOutput items added to the player item.
3678 (WebCore::AVFWrapper::createPlayerItem): Add notifications for
3679 AVCFPlayerItemPresentationSizeChanged.
3680 (WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer): Notify
3681 the AVCFPLayerLayer when the display size has changed.
3682 * platform/graphics/ca/win/CACFLayerTreeHost.h:
3683 (WebCore::CACFLayerTreeHost::manualCreateRenderer): Added.
3684 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
3685 (WebCore::WKCACFViewLayerTreeHost::manualCreateRenderer): Added.
3686 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3687 (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Minor
3689 (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
3690 Make sure a Direct3D renderer is created when building the full screen
3691 window for Video playback.
3693 2013-08-01 Dean Jackson <dino@apple.com>
3695 srcset algorithm breaks base64 src attributes
3696 https://bugs.webkit.org/show_bug.cgi?id=119413
3698 Reviewed by Darin Adler.
3700 Base64 encoded src attributes typically have a COMMA
3701 character which was breaking in the candidate matching
3702 algorithm. Make sure to handle that case, and to unescape
3705 Slight cleanup of the srcset matching algorithm. The
3706 candidates are now gathered from a single update
3707 method. I've renamed the methods in the process.
3708 This means we now reparse the srcset attribute if
3709 only the src changes, but I think the code is
3712 Tests: fast/hidpi/image-srcset-data-src.html
3713 fast/hidpi/image-srcset-data-srcset.html
3714 fast/hidpi/image-srcset-nomodifier.html
3715 fast/hidpi/image-srcset-viewport-modifiers.html
3717 * html/HTMLImageElement.cpp:
3718 (WebCore::HTMLImageElement::HTMLImageElement): No need to initialise m_bestFitImageURL.
3719 (WebCore::HTMLImageElement::imageSourceURL): Use isEmpty() rather than checking for nullAtom.
3720 (WebCore::HTMLImageElement::determineBestImageForScaleFactor): New renamed method that selects the best
3721 candidate for the image source.
3722 (WebCore::HTMLImageElement::collectImageCandidatesFromSrcSet): Gather the srcset images. Changes include
3723 simplifying the whitespace and skipping candidates that we don't yet support.
3724 (WebCore::HTMLImageElement::collectImageCandidateFromSrc): Add the src attribute to the list of candidates.
3725 (WebCore::HTMLImageElement::parseAttribute): Now both attributes call determineBestImageForScaleFactor.
3726 * html/HTMLImageElement.h: No need for m_srcImageIndex any more.
3728 2013-08-01 Romain Perier <romain.perier@gmail.com>
3730 Implement img element's srcset attribute
3731 https://bugs.webkit.org/show_bug.cgi?id=110252
3733 Reviewed by Dean Jackson.
3735 Tests: fast/hidpi/image-srcset-simple.html
3736 fast/hidpi/image-srcset-src-selection.html
3737 fast/hidpi/image-srcset-simple.html
3738 fast/hidpi/image-srcset-src-selection.html
3739 fast/hidpi/image-srcset-only-src-attribute.html
3740 fast/hidpi/image-srcset-same-alternative-for-both-attributes.html
3741 fast/hidpi/image-srcset-invalid-inputs.html
3742 fast/hidpi/image-srcset-invalid-inputs-except-one.html
3743 fast/hidpi/image-srcset-invalid-inputs-correct-src.html
3744 fast/hidpi/image-srcset-change-dynamically-from-js.html
3745 fast/hidpi/image-srcset-remove-dynamically-from-js.html
3747 * html/HTMLAttributeNames.in: Add srcset attribute.
3748 * html/HTMLImageElement.cpp:
3749 (WebCore::HTMLImageElement::HTMLImageElement):
3750 Adding initialization for new variables member.
3751 (WebCore::HTMLImageElement::imageSourceURL):
3752 Override this method to return the choosen image transparently to the ImageLoader.
3753 (WebCore::HTMLImageElement::updateBestImageForScaleFactor):
3754 New method to select the good image candidate dependending on the scale factor. This method is separated from
3755 parsing because it will be useful for selecting a new image candidate on the fly if the device scale factor changes.
3756 (WebCore::HTMLImageElement::updateImagesFromSrcSet):
3757 New method for parsing the srcset attribute and build a list of images with the corresponding scale factor.
3758 (WebCore::HTMLImageElement::parseAttribute):
3759 Adding support for processing the image candidates, select the good one and call ImageLoader for rendering.
3760 * html/HTMLImageElement.h:
3761 - Adding new methods declarations.
3762 - Adding new type definition.
3763 - Adding new variable member to store the URL of the choosen image.
3764 - Adding new variable member to store the index of the src image.
3765 - Adding new Vector to store the list of images after parsing.
3766 * html/HTMLImageElement.idl: Adding srcset attribute for the differents existing bidings.
3768 2013-08-01 Filip Pizlo <fpizlo@apple.com>
3770 DFG optimizations don't handle neutered arrays properly
3771 https://bugs.webkit.org/show_bug.cgi?id=119409
3773 Reviewed by Mark Hahnenberg and Oliver Hunt.
3775 Test: fast/js/dfg-typed-array-neuter.
3777 * bindings/js/SerializedScriptValue.cpp:
3778 (WebCore::neuterView):
3779 (WebCore::SerializedScriptValue::transferArrayBuffers):
3780 (WebCore::SerializedScriptValue::create):
3781 * bindings/js/SerializedScriptValue.h:
3783 2013-08-01 Morten Stenshorne <mstensho@opera.com>
3785 REGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
3786 https://bugs.webkit.org/show_bug.cgi?id=113058
3788 Before sharing CSS properties with an element in the cache, we need to
3789 check that the new element is suitable for this, just like we check
3790 elements before inserting them into the cache.
3792 Reviewed by Andreas Kling.
3794 Test: fast/css/identical-logical-height-decl.html
3796 * css/StyleResolver.cpp:
3797 (WebCore::StyleResolver::applyMatchedProperties):
3799 2013-08-01 Mark Lam <mark.lam@apple.com>
3801 Fixed expected test results for run-bindings-tests after r153532, r153537.
3802 https://bugs.webkit.org/show_bug.cgi?id=119410.
3804 Reviewed by Simon Fraser.
3808 * bindings/scripts/test/JS/JSFloat64Array.cpp:
3809 (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
3810 (WebCore::JSFloat64ArrayPrototype::getOwnPropertySlot):
3811 (WebCore::JSFloat64Array::getOwnPropertySlot):
3812 (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
3813 * bindings/scripts/test/JS/JSFloat64Array.h:
3814 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3815 (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertySlot):
3816 (WebCore::JSTestActiveDOMObjectPrototype::getOwnPropertySlot):
3817 (WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
3818 * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
3819 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3820 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
3821 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
3822 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
3823 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
3824 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
3825 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3826 (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
3827 (WebCore::JSTestEventConstructor::getOwnPropertySlot):
3828 * bindings/scripts/test/JS/JSTestEventConstructor.h:
3829 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3830 (WebCore::JSTestEventTargetConstructor::getOwnPropertySlot):
3831 (WebCore::JSTestEventTargetPrototype::getOwnPropertySlot):
3832 (WebCore::JSTestEventTarget::getOwnPropertySlot):
3833 (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
3834 * bindings/scripts/test/JS/JSTestEventTarget.h:
3835 * bindings/scripts/test/JS/JSTestException.cpp:
3836 (WebCore::JSTestExceptionConstructor::getOwnPropertySlot):
3837 (WebCore::JSTestException::getOwnPropertySlot):
3838 * bindings/scripts/test/JS/JSTestException.h:
3839 * bindings/scripts/test/JS/JSTestInterface.cpp:
3840 (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
3841 (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
3842 (WebCore::JSTestInterface::getOwnPropertySlot):
3843 * bindings/scripts/test/JS/JSTestInterface.h:
3844 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3845 (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
3846 (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
3847 (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
3848 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3849 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3850 (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
3851 (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
3852 * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3853 * bindings/scripts/test/JS/JSTestNode.cpp:
3854 (WebCore::JSTestNodeConstructor::getOwnPropertySlot):
3855 (WebCore::JSTestNode::getOwnPropertySlot):
3856 * bindings/scripts/test/JS/JSTestNode.h:
3857 * bindings/scripts/test/JS/JSTestObj.cpp:
3858 (WebCore::JSTestObjConstructor::getOwnPropertySlot):
3859 (WebCore::JSTestObjPrototype::getOwnPropertySlot):
3860 (WebCore::JSTestObj::getOwnPropertySlot):
3861 * bindings/scripts/test/JS/JSTestObj.h:
3862 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3863 (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertySlot):
3864 (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
3865 * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3866 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3867 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
3868 (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
3869 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3870 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3871 (WebCore::JSTestTypedefsConstructor::getOwnPropertySlot):
3872 (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
3873 (WebCore::JSTestTypedefs::getOwnPropertySlot):
3874 * bindings/scripts/test/JS/JSTestTypedefs.h:
3876 2013-08-01 Alex Christensen <achristensen@apple.com>
3878 Copy eglplatform.h to be found by Windows WebGL build.
3879 https://bugs.webkit.org/show_bug.cgi?id=119299
3881 Reviewed by Brent Fulgham.
3883 * WebCore.vcxproj/WebCorePreBuild.cmd: Copy eglplatform.h.
3885 2013-08-01 Jer Noble <jer.noble@apple.com>
3887 Crash in WebCore: WebCore::AudioSession::beganAudioInterruption + 62
3888 https://bugs.webkit.org/show_bug.cgi?id=119406
3890 Reviewed by Eric Carlson.
3892 Unregister for AudioSession interruption events when being destroyed.
3894 * platform/audio/ios/AudioDestinationIOS.cpp:
3895 (WebCore::AudioDestinationIOS::~AudioDestinationIOS):
3897 2013-08-01 Andreas Kling <akling@apple.com>
3899 Layout should force a StyleResolver rebuild if there isn't one at all.
3900 <http://webkit.org/b/119378>
3902 Reviewed by Antti Koivisto.
3904 We can't tell if viewport-dependent media queries have been invalidated at layout,
3905 unless we have a StyleResolver to ask about this.
3906 In case there isn't one, take the same path as we would with an invalidated query
3907 instead of relying on ensureStyleResolver() to build it.
3909 * page/FrameView.cpp:
3910 (WebCore::FrameView::layout):
3912 2013-08-01 Jacky Jiang <zhajiang@blackberry.com>
3914 [BlackBerry] Crash at absoluteClippedOverflowRect() in PluginView::calculateClipRect()
3915 https://bugs.webkit.org/show_bug.cgi?id=119401
3917 Reviewed by George Staikos.
3920 The renderer of the PluginView's element has been detached due to transition
3921 to a new load. We should return an empty contentRect if there even isn't
3922 a renderer. This is a speculative fix based on the stack trace provided.
3924 * plugins/blackberry/PluginViewBlackBerry.cpp:
3925 (WebCore::PluginView::calculateClipRect):
3927 2013-08-01 Tim Horton <timothy_horton@apple.com>
3929 Unavailable plug-in indicator arrow should be inside the rounded rect, not in its own circle
3930 https://bugs.webkit.org/show_bug.cgi?id=119400
3931 <rdar://problem/14616012>
3933 Reviewed by Anders Carlsson.
3935 * rendering/RenderEmbeddedObject.cpp:
3936 (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
3937 Shift the arrow in by 9px, and make the text's rounded rect include it,
3938 instead of having the arrow in a separate circle.
3940 2013-08-01 Patrick Gansterer <paroga@webkit.org>
3942 Merge FrameWinCE into FrameWin
3943 https://bugs.webkit.org/show_bug.cgi?id=117988
3945 Reviewed by Brent Fulgham.
3947 Reuse the code from FrameWin.cpp instead of duplicating it.
3949 * PlatformWinCE.cmake:
3950 * page/win/FrameGdiWin.cpp: Added.
3951 (WebCore::imageFromRect):
3952 * page/wince/FrameWinCE.cpp: Removed.
3954 2013-08-01 Alex Christensen <achristensen@apple.com>
3956 Made OESTextureHalfFloat work on Windows.
3957 https://bugs.webkit.org/show_bug.cgi?id=119298
3959 Reviewed by Christophe Dumez.
3961 * DerivedSources.cpp: Added JSOESTextureHalfFloat.cpp inside of #if ENABLE(WEBGL).
3962 * WebCore.vcxproj/WebCore.vcxproj:
3963 * WebCore.vcxproj/WebCore.vcxproj.filters:
3964 Added JSOESTextureHalfFloat.cpp and JSOESTextureHalfFloat.h.
3965 * html/canvas/OESTextureHalfFloat.idl: Added newline to end of file.
3966 * html/canvas/WebGLObject.cpp: Removed unused #includes.
3968 2013-08-01 Patrick Gansterer <paroga@webkit.org>
3970 Rearrange the code of FrameWin
3971 https://bugs.webkit.org/show_bug.cgi?id=117984
3973 Reviewed by Brent Fulgham.
3975 Move code from the CG implementation into the general file so we can
3976 share the code with Windows CE port in a next step. In a first step
3977 it only shares more code between the CG and Cairo implementations.
3978 Also use OwnPtr instead of plain pointers to make ownership more clear.
3980 * page/win/FrameCGWin.cpp:
3981 (WebCore::imageFromRect):
3982 * page/win/FrameCairoWin.cpp:
3983 (WebCore::imageFromRect):
3984 * page/win/FrameWin.cpp:
3985 (WebCore::imageFromSelection):
3986 (WebCore::Frame::dragImageForSelection):
3987 (WebCore::Frame::nodeImage):
3988 * page/win/FrameWin.h:
3990 2013-08-01 Andrei Parvu <parvu@adobe.com>
3992 mask-repeat: round bug
3994 Added the round functionality to -webkit-mask-repeat and background-repeat. The tile size of the
3995 image is scaled so that the image can fit a whole number of times in the background.
3996 https://bugs.webkit.org/show_bug.cgi?id=119080
3998 Reviewed by Dirk Schulze.
4000 Tests: css3/masking/mask-repeat-round-auto1.html
4001 css3/masking/mask-repeat-round-auto2.html
4002 css3/masking/mask-repeat-round-border.html
4003 css3/masking/mask-repeat-round-content.html
4004 css3/masking/mask-repeat-round-padding.html
4005 css3/background/background-repeat-round-auto1.html
4006 css3/background/background-repeat-round-auto2.html
4007 css3/background/background-repeat-round-border.html
4008 css3/background/background-repeat-round-content.html
4009 css3/background/background-repeat-round-padding.html
4013 * rendering/RenderBoxModelObject.cpp:
4014 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
4016 2013-08-01 Alexis Menard <alexis@webkit.org>
4018 Reduce CSSProperty's StylePropertyMetadata memory footprint by half when used inside a ImmutableStylePropertySet.
4019 https://bugs.webkit.org/show_bug.cgi?id=117715
4021 Reviewed by Andreas Kling.
4023 Today CSSProperty holds its metadata in the following way :
4025 --------------------------------------------------------------------------------------------
4026 | m_propertyID : 14 We use 14 bits because CSSPropertyIDs start at 1001. |
4027 | m_shorthandID : 14 id of the shorthand this property was set, 0 if not part of a shorthand|
4031 --------------------------------------------------------------------------------------------
4033 The proposal to decrease the memory footprint on CSSProperty's metadata
4034 only stand when stored inside ImmutableStylePropertySet which uses a custom
4035 way to allocate and lay out the StylePropertyMetadata and the CSSValues in
4036 memory because the idea behind is that the content will not change.
4037 The MutableStylePropertySet uses a regular vector to retrieve, remove
4038 and modify the CSSProperties. ImmutableStylePropertySet is used by default
4039 when parsing up until someone start to access the CSSOM like
4040 div.style which will convert the immutable to a mutable set. It is also good
4041 to note that a CSSProperty is created for every single statement inside a block
4042 in a stylesheet so we do have quite a bunch around. Another consideration is
4043 that the only client to the m_shorthandID is the inspector which uses it
4044 to group the longhands into a shorthand drop down list.
4046 The new proposal is the following one :
4047 - Reduce m_propertyID to 10 bits by not starting the CSSPropertyIDs from
4048 1001 but rather 0 (or 3 as two are hardcoded CSSPropertyInvalid and CSSPropertyVariable).
4049 - Use the fact that we statically know which longhand belong to which shorthand. So
4050 we create a static mapping between longhands and shorthands.