1 2013-05-01 Ryosuke Niwa <rniwa@webkit.org>
3 [Mac] Text replacement should use correction indicator
4 https://bugs.webkit.org/show_bug.cgi?id=115471
6 Reviewed by Darin Adler.
8 Support autocorrection panel for text replacements by making AlternativeTextTypeCorrection
9 handle text replacements as well as automatic spelling correction.
11 No new tests. Unfortunately this feature is not testable as is. We need to provide some
12 internals or testRunner methods to make this feature testable in the long term.
14 * editing/AlternativeTextController.cpp:
15 (WebCore::AlternativeTextController::timerFired): Trigger both TextCheckingTypeReplacement
16 and TextCheckingTypeShowCorrectionPanel.
19 (WebCore::Editor::markAndReplaceFor): Autocorrection panel maybe used for both
20 TextCheckingTypeReplacement and TextCheckingTypeShowCorrectionPanel.
22 2013-05-01 Tim Horton <timothy_horton@apple.com>
24 Move knowledge of PDF/PostScript MIME types into MIMETypeRegistry
25 https://bugs.webkit.org/show_bug.cgi?id=115487
27 Reviewed by Darin Adler.
29 No new tests, just a refactoring.
32 Export newly-added isPDFOrPostScriptMIMEType and getPDFAndPostScriptMIMETypes.
34 * dom/DOMImplementation.cpp:
35 (WebCore::DOMImplementation::createDocument):
36 Adopt MIMETypeRegistry::isPDFOrPostScriptMIMEType instead of duplicating
37 the list of MIME types. The previous list did not include PostScript, but
38 it seems reasonable to put plugins ahead of built-in support for it in addition to PDF.
40 * platform/MIMETypeRegistry.cpp:
41 (WebCore::initializePDFAndPostScriptMIMETypes): Added.
42 (WebCore::initializeMIMETypeRegistry): Call initializePDFAndPostScriptMIMETypes.
43 (WebCore::MIMETypeRegistry::isPDFOrPostScriptMIMEType):
44 Consult our new HashSet to see if the given MIME type is one of those used for PDF or PS.
46 (WebCore::MIMETypeRegistry::getPDFAndPostScriptMIMETypes): Added.
47 * platform/MIMETypeRegistry.h:
48 (MIMETypeRegistry): Add isPDFOrPostScriptMIMEType and getPDFAndPostScriptMIMETypes.
50 2013-05-01 Anders Carlsson <andersca@apple.com>
52 Implement LocalStorageDatabase::importItems
53 https://bugs.webkit.org/show_bug.cgi?id=115493
55 Reviewed by Andreas Kling.
57 Export symbols needed by WebKit2.
61 2013-05-01 Anders Carlsson <andersca@apple.com>
63 Begin work on loading items from the local storage database
64 https://bugs.webkit.org/show_bug.cgi?id=115489
66 Reviewed by Andreas Kling.
68 Export symbols and SQLite headers needed.
71 * WebCore.xcodeproj/project.pbxproj:
73 2013-05-01 Hans Muller <hmuller@adobe.com>
74 [CSS Exclusions] Programmatic layout tests fail when subpixel layout is disabled
75 https://bugs.webkit.org/show_bug.cgi?id=115455
77 First round of changes to restore platform/mac exclusion tests that started failing when
78 subpixel layout was turned off.
80 Reviewed by Dirk Schulze.
82 * rendering/ExclusionPolygon.cpp:
83 (WebCore::appendArc): Ensure that the 3rd of 5 added vertices is in the center of the arc.
84 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop): Use ceiledLayoutUnit() for downwards-snapping first fit location.
85 * rendering/ExclusionRectangle.cpp:
86 (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): Ditto.
88 2013-05-01 Enrica Casucci <enrica@apple.com>
90 Incorrect layout for blocks containing ideographs with -webkit-linebox-contain: glyphs, font, inline-box.
91 https://bugs.webkit.org/show_bug.cgi?id=115478.
93 Reviewed by Dave Hyatt.
95 Test: fast/block/lineboxcontain/block-with-ideographs.xhtml
97 When computing ascent and descent we need to take into account
98 the baseline type. RootInlineBox::ascentAndDescentForBox failed
99 to do that in few cases.
101 * rendering/RootInlineBox.cpp:
102 (WebCore::RootInlineBox::ascentAndDescentForBox):
104 2013-05-01 Anders Carlsson <andersca@apple.com>
106 Add LocalStorageDatabase class
107 https://bugs.webkit.org/show_bug.cgi?id=115486
109 Reviewed by Sam Weinig.
111 Export symbols needed by WebKit2.
115 2013-05-01 Eric Carlson <eric.carlson@apple.com>
117 [Mac Lion] Assertion failure in MediaControlTextTrackContainerElement::updateDisplay()
118 https://bugs.webkit.org/show_bug.cgi?id=115289
120 Reviewed by Jer Noble.
122 No new tests, this is a speculative fix for an infrequent assertion.
124 * html/HTMLMediaElement.cpp:
125 (WebCore::HTMLMediaElement::textTrackRemoveCue): Mark the cue as inactive when it is removed
128 2013-05-01 Joseph Pecoraro <pecoraro@apple.com>
130 TextTrackMenu crashes in ports where MediaElement players are lazily created
131 https://bugs.webkit.org/show_bug.cgi?id=115485
133 Null check the player for ports, like iOS, that lazily create the player.
135 Reviewed by Eric Carlson.
137 * html/HTMLMediaElement.cpp:
138 (WebCore::HTMLMediaElement::platformTextTrackMenu):
139 (WebCore::HTMLMediaElement::closeCaptionTracksChanged):
141 2013-05-01 Anders Carlsson <andersca@apple.com>
143 Add FunctionDispatcher class and make RunLoop derive from it
144 https://bugs.webkit.org/show_bug.cgi?id=115480
146 Reviewed by Sam Weinig.
148 Change RunLoop to be a subclass of FunctionDispatcher.
150 * platform/RunLoop.h:
153 2013-05-01 Eric Carlson <eric.carlson@apple.com>
155 HTMLMediaElement::updateActiveTextTrackCues can do unnecessary work
156 https://bugs.webkit.org/show_bug.cgi?id=81856
158 Reviewed by Jer Noble.
160 No new tests, covered by existing tests.
162 * html/HTMLMediaElement.h:
163 (WebCore::HTMLMediaElement::ignoreTrackDisplayUpdateRequests): Add an early return when there
164 is obviously no work to be done.
166 2013-04-30 Jer Noble <jer.noble@apple.com>
168 Closed caption lines overlap
169 https://bugs.webkit.org/show_bug.cgi?id=115438
170 <rdar://problem/13351747>
172 Reviewed by Eric Carlson.
174 Take the line-box padding into account when determining line hight by setting
175 the -webkit-line-box-contain property to include 'inline-box'.
177 * css/mediaControls.css:
178 (video::-webkit-media-text-track-container):
180 2013-05-01 David Kilzer <ddkilzer@apple.com>
182 BUILD FIX (r149410): CFRunLoopStop() doesn't know what to do with a RetainPtr<CFRunLoopRef>
184 Fixes the following build failure:
186 WebCore/platform/cf/RunLoopCF.cpp:82:5: error: no matching function for call to 'CFRunLoopStop'
187 CFRunLoopStop(m_runLoop);
190 * platform/cf/RunLoopCF.cpp:
191 (WebCore::RunLoop::stop): Call RetainPtr::get().
193 2013-05-01 Per-Erik Brodin <per-erik.brodin@ericsson.com>
195 EventSource: Loss of reconnect time precision due to integer division
196 https://bugs.webkit.org/show_bug.cgi?id=115358
198 Make sure precision is not lost when converting the reconnect time from milliseconds to seconds.
200 Reviewed by Alexey Proskuryakov.
202 Test: http/tests/eventsource/eventsource-retry-precision.html
204 * page/EventSource.cpp:
205 (WebCore::EventSource::scheduleReconnect):
207 2013-05-01 Andreas Kling <akling@apple.com>
209 REGRESSION(r149287): Assertion failure in fast/frames/flattening/iframe-flattening-crash.html
210 <http://webkit.org/b/115386>
211 <rdar://problem/13769995>
213 Reviewed by Antti Koivisto.
215 Only send synchronous resize events for the main frame. Subframes change size during layout,
216 so it never really makes sense for them to use synchronous dispatch anyway.
218 * page/FrameView.cpp:
219 (WebCore::FrameView::dispatchResizeEvent):
221 2013-05-01 Csaba Osztrogonác <ossy@webkit.org>
223 Unreviewed trivial buildfix after r149432.
225 * testing/Internals.cpp:
228 2013-05-01 Sergio Villar Senin <svillar@igalia.com>
230 Show a block cursor in overtype mode
231 https://bugs.webkit.org/show_bug.cgi?id=114819
233 Reviewed by Ryosuke Niwa.
235 Test: editing/selection/block-cursor-overtype-mode.html
237 Overtype mode will use block cursor instead of a caret to
238 highlight the next character to be replaced. It will fully cover
239 the next character to be replaced (except at the end of a line
240 where the usual blinking caret will be shown).
242 This new block cursor is internally implemented as a selection
243 (not exposed to JavaScript) because the selection code knows how
244 to deal with bidi text.
246 * WebCore.exp.in: Export symbols for testing purposes.
247 * WebCore.order: Ditto.
248 * editing/Editor.cpp:
249 (WebCore::Editor::toggleOverwriteModeEnabled): Added a call to
250 FrameLoader::setShouldShowBlockCursor.
254 * editing/FrameSelection.cpp:
255 (WebCore::FrameSelection::FrameSelection):
256 (WebCore::FrameSelection::updateAppearance): Use a 1-character
257 long selection to paint the cursor in overtype mode.
258 (WebCore::FrameSelection::setShouldShowBlockCursor):
260 * editing/FrameSelection.h:
261 (WebCore::FrameSelection::shouldShowBlockCursor):
263 * testing/Internals.cpp:
265 (WebCore::Internals::selectionBounds): Added a new method which
266 returns the IntRect issued by FrameSelection::bounds().
267 * testing/Internals.h: Ditto.
268 * testing/Internals.idl: Ditto.
270 2013-04-30 Darin Adler <darin@apple.com>
272 [Mac] Remove adoptNS/retain pairs, since the two cancel each other out
273 https://bugs.webkit.org/show_bug.cgi?id=115426
275 Reviewed by Anders Carlsson.
277 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
278 (PlatformCAAnimation::PlatformCAAnimation):
279 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
280 (PlatformCAFilters::filterValueForOperation):
281 * platform/network/mac/ResourceResponseMac.mm:
282 (WebCore::ResourceResponse::nsURLResponse):
283 Remove adoptNS and release from code that is doing both.
285 2013-04-29 Sam Weinig <sam@webkit.org>
287 Add API to allow WebKit2 banners to get mouse events
288 https://bugs.webkit.org/show_bug.cgi?id=115395
290 Reviewed by Beth Dakin.
293 * platform/ScrollView.cpp:
294 (WebCore::ScrollView::rootViewToTotalContents):
295 * platform/ScrollView.h:
296 Add and expose rootViewToTotalContents().
298 2013-04-30 Anders Carlsson <andersca@apple.com>
300 Make RunLoop ref-counted
301 https://bugs.webkit.org/show_bug.cgi?id=115384
303 Reviewed by Benjamin Poulain.
305 Add a RunLoop::Holder class which creates and holds the ref-counted RunLoop object.
307 * platform/RunLoop.cpp:
309 (WebCore::RunLoop::Holder::Holder):
310 (WebCore::RunLoop::Holder::runLoop):
311 (WebCore::RunLoop::current):
312 * platform/RunLoop.h:
314 2013-04-30 Anders Carlsson <andersca@apple.com>
316 Clean up RunLoop code
317 https://bugs.webkit.org/show_bug.cgi?id=115454
319 Reviewed by Andreas Kling.
321 Delete a couple of functions from RunLoopCF.cpp and just use the generic ones in RunLoop.cpp,
322 use RetainPtr instead of manual retain/release. Always use an AutoreleasePool when calling performWork or timers.
324 * platform/RunLoop.cpp:
325 (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
327 * platform/RunLoop.h:
330 * platform/cf/RunLoopCF.cpp:
331 (WebCore::RunLoop::performWork):
332 (WebCore::RunLoop::RunLoop):
333 (WebCore::RunLoop::~RunLoop):
334 (WebCore::RunLoop::wakeUp):
335 (WebCore::RunLoop::TimerBase::timerFired):
336 (WebCore::RunLoop::TimerBase::TimerBase):
337 (WebCore::RunLoop::TimerBase::start):
338 (WebCore::RunLoop::TimerBase::stop):
339 (WebCore::RunLoop::TimerBase::isActive):
340 * platform/mac/RunLoopMac.mm:
341 (WebCore::RunLoop::run):
342 (WebCore::RunLoop::stop):
344 2013-04-30 David Hyatt <hyatt@apple.com>
346 <button> ignores margin-bottom.
347 https://bugs.webkit.org/show_bug.cgi?id=114940
349 Reviewed by Beth Dakin.
351 Make sure that the inner block inside the <button> (flexbox) acts like it
352 establishes a block formatting context, i.e., it should refuse to collapse
353 its margins with its children. This causes margins to stay inside the <button>
354 and be honored, adding to the button's overall height.
356 Basically we have to remove the restriction that anonymous blocks can't be
357 BFCs on the bottom margin.
359 Added fast/forms/content-with-margins-inside-button.html
361 * rendering/RenderBlock.cpp:
362 (WebCore::RenderBlock::handleAfterSideOfBlock):
364 2013-04-30 Andrei Bucur <abucur@adobe.com>
366 Cleanup HTMLOListElement<->RenderListItem bridge
367 https://bugs.webkit.org/show_bug.cgi?id=115434
369 Reviewed by Darin Adler.
371 Refactor the way HTMLOListElement is accessing its list items. Instead
372 of exposing the nextListItem function, wrap the desiredfunctionality
373 in static methods on RenderListItem. This should make the code more readable.
374 I've also added more constness to some functions in RenderListItem.
376 Tests: No new tests, just refactoring.
378 * html/HTMLOListElement.cpp:
379 (WebCore::HTMLOListElement::updateItemValues): Use updateItemValuesForOrderedList.
380 (WebCore::HTMLOListElement::recalculateItemCount): Use itemCountForOrderedList.
381 * rendering/RenderListItem.cpp:
382 (WebCore::isList): Add more constness.
383 (WebCore::nextListItem): Make local to the CPP and add constness.
384 (WebCore::previousListItem): Add constness.
385 (WebCore::RenderListItem::updateItemValuesForOrderedList): Called by OL elements.
386 (WebCore::RenderListItem::itemCountForOrderedList): Called by OL elements.
387 (WebCore::previousOrNextItem):
388 * rendering/RenderListItem.h: Add updateItemValuesForOrderedList and itemCountForOrderedList.
390 2013-04-30 Anders Carlsson <andersca@apple.com>
392 More StorageTracker cleanup
393 https://bugs.webkit.org/show_bug.cgi?id=115435
395 Reviewed by Andreas Kling.
397 Use bind instead of "onMainThread" helper functions.
399 * storage/StorageAreaSync.cpp:
400 (WebCore::StorageAreaSync::deleteEmptyDatabase):
401 * storage/StorageTracker.cpp:
402 (WebCore::StorageTracker::syncImportOriginIdentifiers):
403 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
404 (WebCore::StorageTracker::deleteOriginWithIdentifier):
405 * storage/StorageTracker.h:
408 2013-04-30 Geoffrey Garen <ggaren@apple.com>
410 Objective-C JavaScriptCore API should publicly support bridging to C
411 https://bugs.webkit.org/show_bug.cgi?id=115447
413 Reviewed by Mark Hahnenberg.
415 * bindings/js/ScriptControllerMac.mm:
416 (WebCore::ScriptController::javaScriptContext):
417 * bindings/objc/WebScriptObject.mm:
418 (-[WebScriptObject JSValue]):
420 2013-04-30 Simon Fraser <simon.fraser@apple.com>
422 Fix an issue with JSPerformance.cpp in the WebCore.xcodeproj where
423 it was being recognized as a diretory rather than a file, introduced
426 * WebCore.xcodeproj/project.pbxproj:
428 2013-04-30 Beth Dakin <bdakin@apple.com>
430 Page::pageCount() is inaccurate when we allow the first paint in App Mode
431 https://bugs.webkit.org/show_bug.cgi?id=115442
433 <rdar://problem/13758445>
435 Reviewed by Dave Hyatt.
437 We should set the height here all the time, even if it is the first layout.
438 * rendering/RenderBlock.cpp:
439 (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
441 2013-04-30 Andreas Kling <akling@apple.com>
443 Don't create StyleResolvers just to invalidate them.
444 <http://webkit.org/b/115436>
446 Reviewed by Geoffrey Garen.
448 Renamed Document::styleResolver() to ensureStyleResolver() so it's clear that it never returns null.
449 Removed a bunch of unnecessary null-checks I spotted while doing this.
451 Also fixed Element::willModifyAttribute() and FrameView::setFrameRect() to not create a StyleResolver
452 and immediately invalidate it in some cases.
454 * css/FontLoader.cpp:
455 (WebCore::FontLoader::loadFont):
456 (WebCore::FontLoader::checkFont):
457 (WebCore::FontLoader::resolveFontStyle):
458 * css/MediaQueryMatcher.cpp:
459 (WebCore::MediaQueryMatcher::prepareEvaluator):
460 * css/StyleMedia.cpp:
461 (WebCore::StyleMedia::matchMedium):
463 (WebCore::Document::styleForElementIgnoringPendingStylesheets):
464 (WebCore::Document::styleForPage):
466 (WebCore::Document::ensureStyleResolver):
467 * dom/DocumentStyleSheetCollection.cpp:
468 (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
469 (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
470 (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
472 (WebCore::StyleResolverParentPusher::push):
473 (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
474 (WebCore::Element::styleForRenderer):
475 (WebCore::Element::recalcStyle):
476 (WebCore::Element::willModifyAttribute):
477 * dom/NodeRenderingContext.cpp:
478 (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
479 * dom/ShadowRoot.cpp:
480 (WebCore::ShadowRoot::recalcStyle):
481 (WebCore::ShadowRoot::attach):
483 (WebCore::Text::recalcTextStyle):
484 * editing/EditingStyle.cpp:
485 (WebCore::styleFromMatchedRulesForElement):
486 * html/HTMLCanvasElement.cpp:
487 * html/HTMLCanvasElement.h:
488 * html/HTMLInputElement.cpp:
489 (WebCore::HTMLInputElement::customStyleForRenderer):
490 * html/HTMLOptGroupElement.cpp:
491 (WebCore::HTMLOptGroupElement::updateNonRenderStyle):
492 * html/HTMLOptionElement.cpp:
493 (WebCore::HTMLOptionElement::updateNonRenderStyle):
494 * html/HTMLPlugInImageElement.cpp:
495 (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
496 * html/canvas/CanvasRenderingContext2D.cpp:
497 (WebCore::CanvasRenderingContext2D::setFont):
498 * html/shadow/DateTimeEditElement.cpp:
499 (WebCore::DateTimeEditElement::customStyleForRenderer):
500 * inspector/InspectorCSSAgent.cpp:
501 (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
502 * page/DOMWindow.cpp:
503 (WebCore::DOMWindow::getMatchedCSSRules):
504 * page/FrameView.cpp:
505 (WebCore::FrameView::setFrameRect):
506 * page/animation/KeyframeAnimation.cpp:
507 (WebCore::KeyframeAnimation::KeyframeAnimation):
508 * rendering/RenderListBox.cpp:
509 (WebCore::RenderListBox::updateFromElement):
510 (WebCore::RenderListBox::paintItemForeground):
511 * rendering/RenderMenuList.cpp:
512 (WebCore::RenderMenuList::fontSelector):
513 * rendering/RenderObject.cpp:
514 (WebCore::RenderObject::getUncachedPseudoStyle):
515 * rendering/RenderRegion.cpp:
516 (WebCore::RenderRegion::checkRegionStyle):
517 (WebCore::RenderRegion::computeStyleInRegion):
518 * rendering/RenderSearchField.cpp:
519 (WebCore::RenderSearchField::fontSelector):
520 * rendering/svg/RenderSVGInlineText.cpp:
521 (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
522 * svg/SVGElement.cpp:
523 (WebCore::SVGElement::customStyleForRenderer):
524 * svg/SVGElementRareData.h:
525 (WebCore::SVGElementRareData::overrideComputedStyle):
527 2013-04-30 Simon Fraser <simon.fraser@apple.com>
529 Cap max CALayer tree depth to avoid crashes
530 https://bugs.webkit.org/show_bug.cgi?id=115431
531 <rdar://problem/13401861>
533 Reviewed by Tim Horton.
535 Core Animation can crash if fed deeply nested layer trees.
536 Avoid this by capping CALayer tree depth at some empirically-determined
539 Test: compositing/layer-creation/deep-tree.html
541 * platform/graphics/ca/GraphicsLayerCA.h:
542 (WebCore::GraphicsLayerCA::CommitState::CommitState): Add treeDepth to the CommitState.
543 * platform/graphics/ca/GraphicsLayerCA.cpp: Set cMaxLayerTreeDepth to 250
544 (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): We need a dummy CommitState
545 here. It is not expected that flushCompositingStateForThisLayerOnly() will be called for
546 a layer in the middle of the hierarchy, only for custom-managed leaf layers, so we don't try
547 to compute the correct tree depth.
548 (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass in the commitState. Since this is
549 copied for each frame, no need to decrement commitState.treeDepth.
550 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Increment treeDepth once or
551 twice. If we've reached max, be sure to set the ChildrenChanged flag. We delay tree truncation
552 until commitLayerChangesAfterSublayers() since ChildrenChanged can be set again when children
554 (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers):
555 (WebCore::GraphicsLayerCA::updateSublayerList): If we've hit max depth, just set
558 2013-04-30 Darin Adler <darin@apple.com>
561 https://bugs.webkit.org/show_bug.cgi?id=115427
563 Reviewed by Andreas Kling.
565 * platform/graphics/cg/GraphicsContext3DCG.cpp:
566 (WebCore::GraphicsContext3D::ImageExtractor::extractImage): Fixed indenting to match
569 * platform/mac/ScrollAnimatorMac.mm:
570 (WebCore::ScrollAnimatorMac::pinnedInDirection): Removed an excess "+" that is harmless
573 * platform/mac/SharedBufferMac.mm: Tweaked blank lines for better paragraphing.
575 2013-04-30 Ryosuke Niwa <rniwa@webkit.org>
577 Simplify ContainerNode::removeChildren
578 https://bugs.webkit.org/show_bug.cgi?id=115398
580 Reviewed by Andreas Kling.
582 Back port https://chromium.googlesource.com/chromium/blink/+/b981f01cd065236b5ff7e3a8446d15b384c1b557
583 by Andrei Bucur, which includes both this and his r148754.
585 * dom/ContainerNode.cpp:
586 (WebCore::ContainerNode::removeChildren):
588 2013-04-30 Carlos Garcia Campos <cgarcia@igalia.com>
590 [SOUP] Move default buffer handling from ResourceHandleClient to ResourceHandlesoup
591 https://bugs.webkit.org/show_bug.cgi?id=115364
593 Reviewed by Martin Robinson.
595 ResourceHandleClient that is cross-platform file is not the right
596 place for the default ResourceHandle read buffer. We can make
597 getBuffer return 0 by default and handle it in ResourceHandleSoup,
598 creating a default buffer when the client doesn't provide one.
600 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
601 (StreamingClient::getOrCreateReadBuffer): Adapt to API change.
602 * platform/network/ResourceHandle.h:
603 (ResourceHandle): Add ensureReadBuffer().
604 * platform/network/ResourceHandleClient.cpp:
605 (WebCore::ResourceHandleClient::~ResourceHandleClient): Remove
607 * platform/network/ResourceHandleClient.h:
608 (WebCore::ResourceHandleClient::getOrCreateReadBuffer): Rename
609 getBuffer() as getOrCreateReadBuffer() and use a reference for the
610 out parameter instead of a pointer.
611 (ResourceHandleClient): Remove soup specific code.
612 * platform/network/ResourceHandleInternal.h:
613 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Rename
614 m_buffer and m_bufferSize as m_readBufferPtr and m_readBufferSize
615 and add m_readBuffer to be used as default read buffer.
616 * platform/network/soup/ResourceHandleSoup.cpp:
617 (WebCore::ResourceHandle::ensureReadBuffer): Helper function to
618 make usre we have a read buffer before a read operation. It first
619 checks if the client provides a buffer and if it doesn't it
620 creates or reuses the default buffer.
621 (WebCore::redirectSkipCallback): Call ensureReadBuffer() and adapt
622 to variable name changes.
623 (WebCore::cleanupSoupRequestOperation): Adapt to variable name
625 (WebCore::nextMultipartResponsePartCallback): Call
626 ensureReadBuffer() and adapt to variable name changes.
627 (WebCore::sendRequestCallback): Ditto.
628 (WebCore::readCallback): Ditto.
630 2013-04-30 Andreas Kling <akling@apple.com>
632 REGRESSION(r149287): Assertion failure in fast/frames/flattening/iframe-flattening-crash.html
633 <http://webkit.org/b/115386>
634 <rdar://problem/13769995>
636 Reviewed by Darin Adler.
638 Put the resize event on the Document's event queue if it happens while layout is in progress.
639 This avoids re-entering layout while laying out flattened subframes.
641 Also move the little logic for the resize event from EventHandler to FrameView (the only client.)
643 * page/EventHandler.cpp:
644 * page/EventHandler.h:
645 * page/FrameView.cpp:
646 (WebCore::FrameView::dispatchResizeEvent):
648 2013-04-30 Anders Carlsson <andersca@apple.com>
653 * storage/StorageTracker.h:
656 2013-04-30 Anders Carlsson <andersca@apple.com>
658 More StorageTracker cleanup
659 https://bugs.webkit.org/show_bug.cgi?id=115429
661 Reviewed by Andreas Kling.
663 Make a bunch of member functions private, and remove StorageTracker::syncLocalStorage.
666 * storage/StorageTracker.cpp:
667 * storage/StorageTracker.h:
670 2013-04-30 Andreas Kling <akling@apple.com>
672 REGRESSION(r149313) Crash at WebCore::FrameView::setFrameRect() when navigating back to previous page while find banner is displayed.
673 <http://webkit.org/b/115421>
674 <rdar://problem/13765739>
676 Reviewed by Antti Koivisto.
678 Add missing null-checks for Document and StyleResolver when re-evaluating media queries due to viewport changes.
680 No layout test, since we can't show the find banner from WebCore, and I can't think of another way to
681 trigger a back navigation to a Document-less Frame that would also change the FrameView's size.
683 * page/FrameView.cpp:
684 (WebCore::FrameView::setFrameRect):
686 2013-04-30 Glenn Adams <glenn@skynav.com>
688 The bison grammar for @supports should return 0 in case of an error
689 https://bugs.webkit.org/show_bug.cgi?id=115402
691 Reviewed by Darin Adler.
693 Back ported from https://chromium.googlesource.com/chromium/blink/+/74399c27c8b93286bae03a1d6371735935b34d85.
695 Test: css3/supports-crash.html
697 * css/CSSGrammar.y.in:
699 2013-04-30 Darin Adler <darin@apple.com>
701 [CG] Over-release in MIME type registry code
702 https://bugs.webkit.org/show_bug.cgi?id=115423
704 Reviewed by Eric Carlson.
706 Sam Weinig spotted these by code inspection. I don't know how to make a test demonstrating
707 the problem, but this is clearly an over-release.
709 * platform/MIMETypeRegistry.cpp:
710 (WebCore::initializeSupportedImageMIMETypes): Removed incorrect adoptCF call on a string we
711 are getting from a CFArray.
712 (WebCore::initializeSupportedImageMIMETypesForEncoding): Ditto.
714 2013-04-30 Mike Lattanzio <mlattanzio@blackberry.com>
716 [BlackBerry] ImageBuffer::copyImage leaking memory
717 https://bugs.webkit.org/show_bug.cgi?id=115359
719 Reviewed by George Staikos.
721 Use a WebCore::Vector to ensure the temporary data is destroyed.
722 The TiledImage does not take ownership of the data.
724 * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
725 (WebCore::ImageBuffer::copyImage):
727 2013-04-30 Noam Rosenthal <noam@webkit.org>
729 [Texmap] Avoid using overlap/non-overlap region in cases where the overhead is bigger than the gain
730 https://bugs.webkit.org/show_bug.cgi?id=115226
732 Reviewed by Allan Sandfeld Jensen.
734 When there are several fragmeneted overlap regions, or when the overlap region is bigger than the
735 non-overlap region, it's more efficient to have a single intermediate surface rather than split
736 the rendering to overlap/non-overlap.
738 Covered by tests in compositing/overlap-blending.
740 * platform/graphics/texmap/TextureMapperLayer.cpp:
741 (WebCore::TextureMapperLayer::shouldBlend):
744 (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
745 Consolidate to one overlap rect when one of the following occurs:
746 - The overlap region's area is larger than the non-overlap region area.
747 - There are many fragmented overlap regions and no non-overlap regions.
749 2013-04-30 Christophe Dumez <ch.dumez@sisa.samsung.com>
751 Stop using "in" keyword in IDL files
752 https://bugs.webkit.org/show_bug.cgi?id=115418
754 Reviewed by Kentaro Hara.
756 Stop using "in" keyword in IDL files as this is no longer part of the
757 Web IDL specification and it brings no additional information.
759 For now, the IDL parser will still accept the "in" keyword for operation
760 argument to not break anything. However, we should remove support for it
763 No new tests, no behavior change.
765 * Modules/battery/BatteryManager.idl:
766 * Modules/encryptedmedia/MediaKeySession.idl:
767 * Modules/encryptedmedia/MediaKeys.idl:
768 * Modules/filesystem/DOMWindowFileSystem.idl:
769 * Modules/filesystem/DirectoryEntry.idl:
770 * Modules/filesystem/DirectoryEntrySync.idl:
771 * Modules/filesystem/DirectoryReader.idl:
772 * Modules/filesystem/EntriesCallback.idl:
773 * Modules/filesystem/Entry.idl:
774 * Modules/filesystem/EntryArray.idl:
775 * Modules/filesystem/EntryArraySync.idl:
776 * Modules/filesystem/EntryCallback.idl:
777 * Modules/filesystem/EntrySync.idl:
778 * Modules/filesystem/ErrorCallback.idl:
779 * Modules/filesystem/FileCallback.idl:
780 * Modules/filesystem/FileEntry.idl:
781 * Modules/filesystem/FileSystemCallback.idl:
782 * Modules/filesystem/FileWriter.idl:
783 * Modules/filesystem/FileWriterCallback.idl:
784 * Modules/filesystem/FileWriterSync.idl:
785 * Modules/filesystem/MetadataCallback.idl:
786 * Modules/filesystem/WorkerContextFileSystem.idl:
787 * Modules/gamepad/GamepadList.idl:
788 * Modules/geolocation/Geolocation.idl:
789 * Modules/geolocation/PositionCallback.idl:
790 * Modules/geolocation/PositionErrorCallback.idl:
791 * Modules/indexeddb/IDBCursor.idl:
792 * Modules/indexeddb/IDBDatabase.idl:
793 * Modules/indexeddb/IDBFactory.idl:
794 * Modules/indexeddb/IDBIndex.idl:
795 * Modules/indexeddb/IDBKeyRange.idl:
796 * Modules/indexeddb/IDBObjectStore.idl:
797 * Modules/indexeddb/IDBRequest.idl:
798 * Modules/indexeddb/IDBTransaction.idl:
799 * Modules/mediasource/MediaSource.idl:
800 * Modules/mediasource/SourceBuffer.idl:
801 * Modules/mediasource/SourceBufferList.idl:
802 * Modules/mediastream/MediaStream.idl:
803 * Modules/mediastream/MediaStreamTrack.idl:
804 * Modules/mediastream/NavigatorMediaStream.idl:
805 * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
806 * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
807 * Modules/mediastream/RTCDTMFSender.idl:
808 * Modules/mediastream/RTCDataChannel.idl:
809 * Modules/mediastream/RTCErrorCallback.idl:
810 * Modules/mediastream/RTCIceCandidate.idl:
811 * Modules/mediastream/RTCPeerConnection.idl:
812 * Modules/mediastream/RTCSessionDescription.idl:
813 * Modules/mediastream/RTCSessionDescriptionCallback.idl:
814 * Modules/mediastream/RTCStatsCallback.idl:
815 * Modules/mediastream/RTCStatsReport.idl:
816 * Modules/mediastream/RTCStatsResponse.idl:
817 * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
818 * Modules/networkinfo/NetworkInfoConnection.idl:
819 * Modules/notifications/Notification.idl:
820 * Modules/notifications/NotificationCenter.idl:
821 * Modules/notifications/NotificationPermissionCallback.idl:
822 * Modules/quota/StorageErrorCallback.idl:
823 * Modules/quota/StorageInfo.idl:
824 * Modules/quota/StorageQuota.idl:
825 * Modules/quota/StorageQuotaCallback.idl:
826 * Modules/quota/StorageUsageCallback.idl:
827 * Modules/speech/SpeechGrammarList.idl:
828 * Modules/speech/SpeechRecognition.idl:
829 * Modules/speech/SpeechRecognitionResult.idl:
830 * Modules/speech/SpeechRecognitionResultList.idl:
831 * Modules/speech/SpeechSynthesisUtterance.idl:
832 * Modules/vibration/NavigatorVibration.idl:
833 * Modules/webaudio/AnalyserNode.idl:
834 * Modules/webaudio/AudioBuffer.idl:
835 * Modules/webaudio/AudioBufferCallback.idl:
836 * Modules/webaudio/AudioBufferSourceNode.idl:
837 * Modules/webaudio/AudioContext.idl:
838 * Modules/webaudio/AudioListener.idl:
839 * Modules/webaudio/AudioNode.idl:
840 * Modules/webaudio/AudioParam.idl:
841 * Modules/webaudio/BiquadFilterNode.idl:
842 * Modules/webaudio/OfflineAudioContext.idl:
843 * Modules/webaudio/OscillatorNode.idl:
844 * Modules/webaudio/PannerNode.idl:
845 * Modules/webdatabase/DOMWindowWebDatabase.idl:
846 * Modules/webdatabase/Database.idl:
847 * Modules/webdatabase/DatabaseCallback.idl:
848 * Modules/webdatabase/DatabaseSync.idl:
849 * Modules/webdatabase/SQLResultSetRowList.idl:
850 * Modules/webdatabase/SQLStatementCallback.idl:
851 * Modules/webdatabase/SQLStatementErrorCallback.idl:
852 * Modules/webdatabase/SQLTransaction.idl:
853 * Modules/webdatabase/SQLTransactionCallback.idl:
854 * Modules/webdatabase/SQLTransactionErrorCallback.idl:
855 * Modules/webdatabase/SQLTransactionSync.idl:
856 * Modules/webdatabase/SQLTransactionSyncCallback.idl:
857 * Modules/webdatabase/WorkerContextWebDatabase.idl:
858 * Modules/websockets/WebSocket.idl:
859 * bindings/scripts/test/TestCallback.idl:
860 * bindings/scripts/test/TestCustomNamedGetter.idl:
861 * bindings/scripts/test/TestDomainSecurity.idl:
862 * bindings/scripts/test/TestEventTarget.idl:
863 * bindings/scripts/test/TestInterface.idl:
864 * bindings/scripts/test/TestMediaQueryListListener.idl:
865 * bindings/scripts/test/TestNamedConstructor.idl:
866 * bindings/scripts/test/TestObj.idl:
867 * bindings/scripts/test/TestOverloadedConstructors.idl:
868 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
869 * bindings/scripts/test/TestSupplemental.idl:
870 * bindings/scripts/test/TestTypedArray.idl:
871 * bindings/scripts/test/TestTypedefs.idl:
872 * css/CSSHostRule.idl:
873 * css/CSSMediaRule.idl:
874 * css/CSSPrimitiveValue.idl:
875 * css/CSSRuleList.idl:
876 * css/CSSStyleDeclaration.idl:
877 * css/CSSStyleSheet.idl:
878 * css/CSSSupportsRule.idl:
879 * css/CSSValueList.idl:
880 * css/FontLoader.idl:
882 * css/MediaQueryList.idl:
883 * css/MediaQueryListListener.idl:
884 * css/StyleMedia.idl:
885 * css/StyleSheetList.idl:
886 * css/WebKitCSSKeyframesRule.idl:
887 * css/WebKitCSSMatrix.idl:
888 * dom/CharacterData.idl:
889 * dom/ClientRectList.idl:
891 * dom/CompositionEvent.idl:
892 * dom/CustomEvent.idl:
893 * dom/DOMImplementation.idl:
894 * dom/DOMNamedFlowCollection.idl:
895 * dom/DOMStringList.idl:
896 * dom/DataTransferItem.idl:
897 * dom/DataTransferItemList.idl:
898 * dom/DeviceMotionEvent.idl:
899 * dom/DeviceOrientationEvent.idl:
901 * dom/DocumentFragment.idl:
904 * dom/EventListener.idl:
905 * dom/EventTarget.idl:
906 * dom/HashChangeEvent.idl:
907 * dom/KeyboardEvent.idl:
908 * dom/MessageEvent.idl:
909 * dom/MessagePort.idl:
910 * dom/MouseEvent.idl:
911 * dom/MutationEvent.idl:
912 * dom/MutationObserver.idl:
913 * dom/NamedNodeMap.idl:
915 * dom/NodeFilter.idl:
917 * dom/OverflowEvent.idl:
918 * dom/PropertyNodeList.idl:
920 * dom/RequestAnimationFrameCallback.idl:
921 * dom/ShadowRoot.idl:
922 * dom/StringCallback.idl:
925 * dom/TouchEvent.idl:
928 * dom/WebKitNamedFlow.idl:
929 * dom/WheelEvent.idl:
931 * fileapi/FileList.idl:
932 * fileapi/FileReader.idl:
933 * fileapi/FileReaderSync.idl:
934 * html/DOMFormData.idl:
935 * html/DOMTokenList.idl:
937 * html/HTMLAllCollection.idl:
938 * html/HTMLAudioElement.idl:
939 * html/HTMLButtonElement.idl:
940 * html/HTMLCanvasElement.idl:
941 * html/HTMLCollection.idl:
942 * html/HTMLDocument.idl:
943 * html/HTMLElement.idl:
944 * html/HTMLFieldSetElement.idl:
945 * html/HTMLFormControlsCollection.idl:
946 * html/HTMLInputElement.idl:
947 * html/HTMLKeygenElement.idl:
948 * html/HTMLMediaElement.idl:
949 * html/HTMLObjectElement.idl:
950 * html/HTMLOptionElement.idl:
951 * html/HTMLOptionsCollection.idl:
952 * html/HTMLOutputElement.idl:
953 * html/HTMLPropertiesCollection.idl:
954 * html/HTMLSelectElement.idl:
955 * html/HTMLTableElement.idl:
956 * html/HTMLTableRowElement.idl:
957 * html/HTMLTableSectionElement.idl:
958 * html/HTMLTextAreaElement.idl:
959 * html/MediaController.idl:
960 * html/TimeRanges.idl:
961 * html/canvas/ArrayBuffer.idl:
962 * html/canvas/CanvasGradient.idl:
963 * html/canvas/CanvasRenderingContext2D.idl:
964 * html/canvas/DOMPath.idl:
965 * html/canvas/DataView.idl:
966 * html/canvas/EXTDrawBuffers.idl:
967 * html/canvas/Float32Array.idl:
968 * html/canvas/Float64Array.idl:
969 * html/canvas/Int16Array.idl:
970 * html/canvas/Int32Array.idl:
971 * html/canvas/Int8Array.idl:
972 * html/canvas/OESVertexArrayObject.idl:
973 * html/canvas/Uint16Array.idl:
974 * html/canvas/Uint32Array.idl:
975 * html/canvas/Uint8Array.idl:
976 * html/canvas/Uint8ClampedArray.idl:
977 * html/canvas/WebGLDebugShaders.idl:
978 * html/canvas/WebGLRenderingContext.idl:
979 * html/track/AudioTrackList.idl:
980 * html/track/TextTrack.idl:
981 * html/track/TextTrackCue.idl:
982 * html/track/TextTrackCueList.idl:
983 * html/track/TextTrackList.idl:
984 * html/track/TextTrackRegionList.idl:
985 * html/track/VideoTrackList.idl:
986 * inspector/InjectedScriptHost.idl:
987 * inspector/InspectorFrontendHost.idl:
988 * inspector/JavaScriptCallFrame.idl:
989 * loader/appcache/DOMApplicationCache.idl:
992 * page/DOMSecurityPolicy.idl:
993 * page/DOMSelection.idl:
994 * page/DOMWindow.idl:
995 * page/EventSource.idl:
998 * page/PagePopupController.idl:
999 * page/Performance.idl:
1000 * page/PerformanceEntryList.idl:
1001 * page/SpeechInputResultList.idl:
1002 * plugins/DOMMimeTypeArray.idl:
1003 * plugins/DOMPlugin.idl:
1004 * plugins/DOMPluginArray.idl:
1005 * storage/Storage.idl:
1006 * storage/StorageEvent.idl:
1007 * svg/ElementTimeControl.idl:
1010 * svg/SVGDocument.idl:
1011 * svg/SVGElementInstanceList.idl:
1012 * svg/SVGFEDropShadowElement.idl:
1013 * svg/SVGFEGaussianBlurElement.idl:
1014 * svg/SVGFEMorphologyElement.idl:
1015 * svg/SVGFilterElement.idl:
1016 * svg/SVGLength.idl:
1017 * svg/SVGLengthList.idl:
1018 * svg/SVGLocatable.idl:
1019 * svg/SVGMarkerElement.idl:
1020 * svg/SVGMatrix.idl:
1021 * svg/SVGNumberList.idl:
1023 * svg/SVGPathElement.idl:
1024 * svg/SVGPathSegList.idl:
1026 * svg/SVGPointList.idl:
1027 * svg/SVGSVGElement.idl:
1028 * svg/SVGStringList.idl:
1029 * svg/SVGStyledElement.idl:
1031 * svg/SVGTextContentElement.idl:
1032 * svg/SVGTransform.idl:
1033 * svg/SVGTransformList.idl:
1034 * testing/InternalSettings.idl:
1035 * testing/Internals.idl:
1036 * workers/AbstractWorker.idl:
1037 * workers/DedicatedWorkerContext.idl:
1038 * workers/SharedWorker.idl:
1039 * workers/Worker.idl:
1040 * workers/WorkerContext.idl:
1041 * xml/DOMParser.idl:
1042 * xml/XMLHttpRequest.idl:
1043 * xml/XMLHttpRequestUpload.idl:
1044 * xml/XMLSerializer.idl:
1045 * xml/XPathEvaluator.idl:
1046 * xml/XPathExpression.idl:
1047 * xml/XPathNSResolver.idl:
1048 * xml/XPathResult.idl:
1049 * xml/XSLTProcessor.idl:
1051 2013-04-30 Noam Rosenthal <noam@webkit.org>
1053 [Texmap] Use fewer intermediate surfaces when compositing filters
1054 https://bugs.webkit.org/show_bug.cgi?id=115224
1056 Reviewed by Allan Sandfeld Jensen.
1058 Until now, when rendering CSS filters, the filters were applied to the texture
1059 and then the resulting texture would be composited to the target surface with
1060 its transform/opacity.
1061 This requires at least two intermediate surface passes for every filtered layer.
1063 This patch makes it so that the last filter pass is applied together with the
1064 resulting surface's opacity and transform, during composition.
1066 Tested by css3/filters tests, whichn now scroll/zoom a lot faster.
1068 * platform/graphics/texmap/TextureMapper.h:
1069 (WebCore::BitmapTexture::applyFilters):
1070 * platform/graphics/texmap/TextureMapperGL.cpp:
1071 (WebCore::TextureMapperGLData::TextureMapperGLData):
1072 (TextureMapperGLData):
1074 (WebCore::optionsForFilterType):
1075 (WebCore::getPassesRequiredForFilter):
1077 (WebCore::gaussianKernel):
1078 (WebCore::prepareFilterProgram):
1079 (WebCore::TextureMapperGL::drawTexture):
1080 (WebCore::TextureMapperGL::drawFiltered):
1081 (WebCore::isCustomFilter):
1082 * platform/graphics/texmap/TextureMapperGL.h:
1086 * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
1087 (WebCore::BitmapTextureImageBuffer::applyFilters):
1088 * platform/graphics/texmap/TextureMapperImageBuffer.h:
1089 (BitmapTextureImageBuffer):
1090 (WebCore::BitmapTextureGL::FilterInfo::FilterInfo):
1091 (WebCore::BitmapTextureGL::filterInfo):
1092 (WebCore::BitmapTextureGL::applyFilters):
1093 Modify TextureMapperGL to remember the last filter operation applied
1094 to a BitmapTexture and apply it when the texture is composited.
1096 * platform/graphics/texmap/TextureMapperLayer.cpp:
1097 (WebCore::TextureMapperLayer::paintIntoSurface):
1098 Simplify the call to applyFilters, since now TextureMapperGL is responsible
1099 for maintaining the content texture.
1102 2013-04-30 Christophe Dumez <ch.dumez@sisa.samsung.com>
1104 [EFL] Enable scaled cursors
1105 https://bugs.webkit.org/show_bug.cgi?id=106242
1107 Reviewed by Gyuyoung Kim.
1109 Correctly copy WebCore::Cursor's m_imageScaleFactor
1110 member in CursorEfl.cpp when MOUSE_CURSOR_SCALE is
1113 No new tests, already covered by existing tests.
1115 * platform/efl/CursorEfl.cpp:
1116 (WebCore::Cursor::Cursor):
1117 (WebCore::Cursor::operator=):
1119 2013-04-30 Thiago Marcos P. Santos <thiago.santos@intel.com>
1121 CSSParser::parseFontFamily should allow the keyword "default" as part of a font name
1122 https://bugs.webkit.org/show_bug.cgi?id=107231
1124 Reviewed by Ryosuke Niwa.
1126 Make sure that using the keyword "default" as font family doesn't
1127 invalidate the whole declaration. It is also OK to use a font that
1128 has "default" as part of a composite name (i.e. "default foo").
1129 This matches the behavior of Firefox and IE.
1131 Test: fast/css/font-family-parse-keyword.html
1133 * css/CSSParser.cpp:
1134 (WebCore::CSSParser::parseFontFamily):
1136 2013-04-30 Zalan Bujtas <zalan@apple.com>
1138 Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
1139 https://bugs.webkit.org/show_bug.cgi?id=111244
1141 Reviewed by David Kilzer.
1143 Enable performance.now() as a minimal subset of Web Timing API.
1144 It returns DOMHighResTimeStamp, a monotonically increasing value representing the
1145 number of milliseconds from the start of the navigation of the current document.
1146 JS libraries use this API to check against the requestAnimationFrame() timestamp.
1148 Test: fast/dom/Window/web-timing-minimal-performance-now.html
1150 * Configurations/FeatureDefines.xcconfig:
1151 * WebCore.xcodeproj/project.pbxproj:
1152 * dom/EventTargetFactory.in:
1153 * page/DOMWindow.cpp:
1154 (WebCore::DOMWindow::~DOMWindow):
1155 (WebCore::DOMWindow::resetDOMWindowProperties):
1159 * page/DOMWindow.idl:
1160 * page/Performance.cpp:
1162 * page/Performance.h:
1164 * page/Performance.idl:
1166 2013-04-30 Commit Queue <rniwa@webkit.org>
1168 Unreviewed, rolling out r149338.
1169 http://trac.webkit.org/changeset/149338
1170 https://bugs.webkit.org/show_bug.cgi?id=115409
1172 Broke layout/perf/API tests on non-Mac:
1173 ThreadSpecific<RefPtr<RunLoop>> does not initialize RunLoop
1174 (Requested by rakuco on #webkit).
1176 * platform/RunLoop.cpp:
1177 (WebCore::RunLoop::current):
1178 * platform/RunLoop.h:
1180 * platform/cf/RunLoopCF.cpp:
1181 (WebCore::RunLoop::initializeMainRunLoop):
1182 (WebCore::RunLoop::current):
1183 (WebCore::RunLoop::~RunLoop):
1184 * platform/efl/RunLoopEfl.cpp:
1185 (WebCore::RunLoop::~RunLoop):
1186 * platform/gtk/RunLoopGtk.cpp:
1187 (WebCore::RunLoop::~RunLoop):
1188 * platform/win/RunLoopWin.cpp:
1189 (WebCore::RunLoop::~RunLoop):
1191 2013-04-30 Alberto Garcia <agarcia@igalia.com>
1193 ImageBufferData: add BlackBerry header
1194 https://bugs.webkit.org/show_bug.cgi?id=115408
1196 Reviewed by Carlos Garcia Campos.
1198 * platform/graphics/ImageBufferData.h:
1200 2013-04-30 Christophe Dumez <ch.dumez@sisa.samsung.com>
1202 Replace "Optional" extended attribute by proper Web IDL "optional" keyword
1203 https://bugs.webkit.org/show_bug.cgi?id=115380
1205 Reviewed by Kentaro Hara.
1207 Replace [Optional] with standard WebIDL optional type prefix:
1208 http://dev.w3.org/2006/webapi/WebIDL/#dfn-optional-argument
1210 The default behavior now matches WebIDL: [Optional] => optional
1212 Two cases where WebKit has extended bindings behavior still
1213 require a non-standard IDL attribute:
1214 [Optional=DefaultIsNullString] => [Default=NullString] optional
1215 [Optional=DefaultIsUndefined] => [Default=Undefined] optional
1217 Based on corresponding Blink patch from Joshua Bell for compatibility.
1219 No new tests, no behavior change.
1221 * Modules/battery/BatteryManager.idl:
1222 * Modules/encryptedmedia/MediaKeySession.idl:
1223 * Modules/encryptedmedia/MediaKeys.idl:
1224 * Modules/filesystem/DOMWindowFileSystem.idl:
1225 * Modules/filesystem/DirectoryEntry.idl:
1226 * Modules/filesystem/DirectoryReader.idl:
1227 * Modules/filesystem/Entry.idl:
1228 * Modules/filesystem/FileEntry.idl:
1229 * Modules/filesystem/FileWriter.idl:
1230 * Modules/filesystem/WorkerContextFileSystem.idl:
1231 * Modules/gamepad/GamepadList.idl:
1232 * Modules/geolocation/Geolocation.idl:
1233 * Modules/indexeddb/IDBCursor.idl:
1234 * Modules/indexeddb/IDBDatabase.idl:
1235 * Modules/indexeddb/IDBFactory.idl:
1236 * Modules/indexeddb/IDBIndex.idl:
1237 * Modules/indexeddb/IDBKeyRange.idl:
1238 * Modules/indexeddb/IDBObjectStore.idl:
1239 * Modules/indexeddb/IDBRequest.idl:
1240 * Modules/indexeddb/IDBTransaction.idl:
1241 * Modules/mediasource/MediaSource.idl:
1242 * Modules/mediasource/SourceBufferList.idl:
1243 * Modules/mediastream/MediaStream.idl:
1244 * Modules/mediastream/MediaStreamTrack.idl:
1245 * Modules/mediastream/NavigatorMediaStream.idl:
1246 * Modules/mediastream/RTCDTMFSender.idl:
1247 * Modules/mediastream/RTCDataChannel.idl:
1248 * Modules/mediastream/RTCPeerConnection.idl:
1249 * Modules/mediastream/RTCStatsResponse.idl:
1250 * Modules/networkinfo/NetworkInfoConnection.idl:
1251 * Modules/notifications/Notification.idl:
1252 * Modules/notifications/NotificationCenter.idl:
1253 * Modules/quota/StorageInfo.idl:
1254 * Modules/quota/StorageQuota.idl:
1255 * Modules/speech/SpeechGrammarList.idl:
1256 * Modules/speech/SpeechRecognition.idl:
1257 * Modules/speech/SpeechSynthesisUtterance.idl:
1258 * Modules/webaudio/AudioContext.idl:
1259 * Modules/webaudio/AudioNode.idl:
1260 * Modules/webdatabase/DOMWindowWebDatabase.idl:
1261 * Modules/webdatabase/Database.idl:
1262 * Modules/webdatabase/DatabaseSync.idl:
1263 * Modules/webdatabase/SQLTransaction.idl:
1264 * Modules/webdatabase/WorkerContextWebDatabase.idl:
1265 * Modules/websockets/WebSocket.idl:
1266 * bindings/scripts/CodeGeneratorJS.pm:
1267 (GetFunctionLength):
1268 (GenerateFunctionParametersCheck):
1269 (GenerateArgumentsCountCheck):
1270 (GenerateParametersCheck):
1271 (GenerateConstructorDefinition):
1272 * bindings/scripts/IDLAttributes.txt:
1273 * bindings/scripts/IDLParser.pm:
1274 (parseOptionalOrRequiredArgument):
1275 * bindings/scripts/test/TestEventTarget.idl:
1276 * bindings/scripts/test/TestInterface.idl:
1277 * bindings/scripts/test/TestNamedConstructor.idl:
1278 * bindings/scripts/test/TestObj.idl:
1279 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1280 * bindings/scripts/test/TestTypedefs.idl: optional cannot be used in a typedef.
1281 * css/CSSHostRule.idl:
1282 * css/CSSMediaRule.idl:
1283 * css/CSSPrimitiveValue.idl:
1284 * css/CSSRuleList.idl:
1285 * css/CSSStyleDeclaration.idl:
1286 * css/CSSStyleSheet.idl:
1287 * css/CSSSupportsRule.idl:
1288 * css/CSSValueList.idl:
1289 * css/FontLoader.idl:
1290 * css/MediaList.idl:
1291 * css/MediaQueryList.idl:
1292 * css/MediaQueryListListener.idl:
1293 * css/StyleMedia.idl:
1294 * css/StyleSheetList.idl:
1295 * css/WebKitCSSKeyframesRule.idl:
1296 * css/WebKitCSSMatrix.idl:
1297 * dom/CharacterData.idl:
1298 * dom/ClientRectList.idl:
1299 * dom/Clipboard.idl:
1300 * dom/CompositionEvent.idl:
1301 * dom/CustomEvent.idl:
1302 * dom/DOMImplementation.idl:
1303 * dom/DOMStringList.idl:
1304 * dom/DataTransferItem.idl:
1305 * dom/DataTransferItemList.idl:
1306 * dom/DeviceMotionEvent.idl:
1307 * dom/DeviceOrientationEvent.idl:
1311 * dom/EventTarget.idl:
1312 * dom/HashChangeEvent.idl:
1313 * dom/KeyboardEvent.idl:
1314 * dom/MessageEvent.idl:
1315 * dom/MessagePort.idl:
1316 * dom/MouseEvent.idl:
1317 * dom/MutationEvent.idl:
1318 * dom/NamedNodeMap.idl:
1320 * dom/NodeFilter.idl:
1322 * dom/OverflowEvent.idl:
1324 * dom/ShadowRoot.idl:
1326 * dom/TextEvent.idl:
1327 * dom/TouchEvent.idl:
1329 * dom/WebKitNamedFlow.idl:
1330 * dom/WheelEvent.idl:
1332 * fileapi/FileReader.idl:
1333 * fileapi/FileReaderSync.idl:
1334 * html/DOMFormData.idl:
1335 * html/DOMTokenList.idl:
1336 * html/HTMLAllCollection.idl:
1337 * html/HTMLAudioElement.idl:
1338 * html/HTMLCanvasElement.idl:
1339 * html/HTMLCollection.idl:
1340 * html/HTMLDocument.idl:
1341 * html/HTMLElement.idl:
1342 * html/HTMLFormControlsCollection.idl:
1343 * html/HTMLInputElement.idl:
1344 * html/HTMLMediaElement.idl:
1345 * html/HTMLOptionElement.idl:
1346 * html/HTMLOptionsCollection.idl:
1347 * html/HTMLSelectElement.idl:
1348 * html/HTMLTableElement.idl:
1349 * html/HTMLTableRowElement.idl:
1350 * html/HTMLTableSectionElement.idl:
1351 * html/HTMLTextAreaElement.idl:
1352 * html/MediaController.idl:
1353 * html/canvas/ArrayBuffer.idl:
1354 * html/canvas/CanvasGradient.idl:
1355 * html/canvas/CanvasRenderingContext2D.idl:
1356 * html/canvas/DOMPath.idl:
1357 * html/canvas/DataView.idl:
1358 * html/canvas/Float32Array.idl:
1359 * html/canvas/Float64Array.idl:
1360 * html/canvas/Int16Array.idl:
1361 * html/canvas/Int32Array.idl:
1362 * html/canvas/Int8Array.idl:
1363 * html/canvas/OESVertexArrayObject.idl:
1364 * html/canvas/Uint16Array.idl:
1365 * html/canvas/Uint32Array.idl:
1366 * html/canvas/Uint8Array.idl:
1367 * html/canvas/Uint8ClampedArray.idl:
1368 * html/track/AudioTrackList.idl:
1369 * html/track/TextTrack.idl:
1370 * html/track/TextTrackCue.idl:
1371 * html/track/TextTrackList.idl:
1372 * html/track/VideoTrackList.idl:
1373 * loader/appcache/DOMApplicationCache.idl:
1374 * page/DOMSelection.idl:
1375 * page/DOMWindow.idl:
1376 * page/EventSource.idl:
1378 * page/Location.idl:
1379 * page/Performance.idl:
1380 * plugins/DOMMimeTypeArray.idl:
1381 * plugins/DOMPlugin.idl:
1382 * plugins/DOMPluginArray.idl:
1383 * storage/StorageEvent.idl:
1384 * svg/ElementTimeControl.idl:
1385 * svg/SVGDocument.idl:
1386 * svg/SVGElementInstanceList.idl:
1387 * svg/SVGFEDropShadowElement.idl:
1388 * svg/SVGFEGaussianBlurElement.idl:
1389 * svg/SVGFEMorphologyElement.idl:
1390 * svg/SVGFilterElement.idl:
1391 * svg/SVGLocatable.idl:
1392 * svg/SVGMarkerElement.idl:
1393 * svg/SVGPathElement.idl:
1394 * svg/SVGSVGElement.idl:
1395 * svg/SVGStyledElement.idl:
1397 * svg/SVGTextContentElement.idl:
1398 * testing/Internals.idl:
1399 * workers/AbstractWorker.idl:
1400 * workers/DedicatedWorkerContext.idl:
1401 * workers/SharedWorker.idl:
1402 * workers/Worker.idl:
1403 * workers/WorkerContext.idl:
1404 * xml/DOMParser.idl:
1405 * xml/XMLHttpRequest.idl:
1406 * xml/XMLHttpRequestUpload.idl:
1407 * xml/XMLSerializer.idl:
1408 * xml/XPathEvaluator.idl:
1409 * xml/XPathExpression.idl:
1410 * xml/XPathNSResolver.idl:
1411 * xml/XPathResult.idl:
1412 * xml/XSLTProcessor.idl:
1414 2013-04-30 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
1416 Fix the USE(3D_GRAPHICS) build with the standard OpenGL on Windows
1417 https://bugs.webkit.org/show_bug.cgi?id=114684
1419 Reviewed by Simon Hausmann.
1421 Currently USE(3D_GRAPHICS) is only supported with OpenGLES through ANGLE
1422 on Windows. Allow building with the stock opengl32.lib on Windows by adding
1423 missing glCompressedTex* entries in OpenGLShims.
1424 Those are used in Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
1425 and will be substituted by the preprocessor.
1427 * platform/graphics/OpenGLShims.cpp:
1428 (WebCore::initializeOpenGLShims):
1429 * platform/graphics/OpenGLShims.h:
1430 (_OpenGLFunctionTable):
1432 2013-04-29 Alberto Garcia <agarcia@igalia.com>
1434 Remove all remaining Skia code
1435 https://bugs.webkit.org/show_bug.cgi?id=115263
1437 Reviewed by Benjamin Poulain.
1439 * html/HTMLCanvasElement.cpp:
1440 (WebCore): Remove the MaxSkiaDim constant, which was a leftover
1442 * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removed.
1443 * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removed.
1444 * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removed.
1445 * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp: Removed.
1447 2013-04-29 Anders Carlsson <andersca@apple.com>
1451 * platform/graphics/SimpleFontData.cpp:
1452 (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
1453 * platform/graphics/mac/SimpleFontDataMac.mm:
1454 (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
1456 2013-04-29 Simon Fraser <simon.fraser@apple.com>
1458 Don't do CGContext flipping when painting subframes in WebKit1 on post-MountainLion OSes
1459 https://bugs.webkit.org/show_bug.cgi?id=115392
1460 <rdar://problem/13421519>
1462 Reviewed by Beth Dakin.
1464 Sync up with AppKit behavior changes that could cause subviews to be flipped when
1467 * platform/mac/WidgetMac.mm:
1468 (WebCore::Widget::paint):
1470 2013-04-29 Chris Fleizach <cfleizach@apple.com>
1472 WEB SPEECH: need to identify the default voice per language
1473 https://bugs.webkit.org/show_bug.cgi?id=115366
1475 Reviewed by Tim Horton.
1477 Use a WKSystemInterface method to determine which voice per language is the default voice.
1479 When looking for a voice, there may not be a default at all, so we need to search until we
1483 * platform/mac/PlatformSpeechSynthesizerMac.mm:
1484 (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1485 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1486 * platform/mac/WebCoreSystemInterface.h:
1487 * platform/mac/WebCoreSystemInterface.mm:
1489 2013-04-29 James Craig <james@cookiecrook.com>
1491 Settings.in selectionIncludesAltImageText should default to true, due to update in HTML spec.
1492 https://bugs.webkit.org/show_bug.cgi?id=115283
1494 Reviewed by Chris Fleizach.
1496 Config change due to this spec update:
1497 https://www.w3.org/Bugs/Public/show_bug.cgi?id=21403
1498 http://html5.org/tools/web-apps-tracker?from=7854&to=7855
1500 Updated existing test coverage.
1504 2013-04-29 Anders Carlsson <andersca@apple.com>
1506 Make RunLoop ref-counted
1507 https://bugs.webkit.org/show_bug.cgi?id=115384
1509 Reviewed by Sam Weinig.
1511 This is a step towards creating a shared base class that both RunLoop and WorkQueue will derive from.
1513 * platform/RunLoop.cpp:
1514 (WebCore::RunLoop::current):
1515 (WebCore::RunLoop::~RunLoop):
1517 * platform/RunLoop.h:
1519 * platform/cf/RunLoopCF.cpp:
1520 (WebCore::RunLoop::initializeMainRunLoop):
1521 (WebCore::RunLoop::current):
1522 (WebCore::RunLoop::~RunLoop):
1524 2013-04-29 Brent Fulgham <bfulgham@webkit.org>
1526 [Windows, WinCairo] Remove link and include directives for pthread.
1527 https://bugs.webkit.org/show_bug.cgi?id=115381
1529 Reviewed by Benjamin Poulain.
1531 Update various VS2005 and VS2010 property sheets to remove
1532 reference to the pthreads Include path and instructions to
1533 link to the pthreads library.
1535 * WebCore.vcproj/QTMovieWinCommon.vsprops:
1536 * WebCore.vcproj/WebCoreCommon.vsprops:
1537 * WebCore.vcproj/WebCoreDebug.vsprops:
1538 * WebCore.vcproj/WebCoreDebugAll.vsprops:
1539 * WebCore.vcproj/WebCoreProduction.vsprops:
1540 * WebCore.vcproj/WebCorePthreads.vsprops: Removed.
1541 * WebCore.vcproj/WebCoreRelease.vsprops:
1542 * WebCore.vcxproj/WebCoreCommon.props:
1543 * WebCore.vcxproj/WebCoreDebug.props:
1544 * WebCore.vcxproj/WebCoreDebugWinCairo.props:
1545 * WebCore.vcxproj/WebCoreProduction.props:
1546 * WebCore.vcxproj/WebCorePthreads.props: Removed.
1547 * WebCore.vcxproj/WebCoreRelease.props:
1548 * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
1550 2013-04-29 Benjamin Poulain <benjamin@webkit.org>
1552 Do not allocate Static Strings for Notification::permissionString
1553 https://bugs.webkit.org/show_bug.cgi?id=115316
1555 Reviewed by Geoffrey Garen.
1557 The code is not nearly hot enough to justify keeping this memory around.
1559 * Modules/notifications/Notification.cpp:
1560 (WebCore::Notification::permission):
1561 (WebCore::Notification::permissionString):
1562 * Modules/notifications/Notification.h:
1565 2013-04-29 Anders Carlsson <andersca@apple.com>
1567 Remove StorageTracker::originsLoaded
1568 https://bugs.webkit.org/show_bug.cgi?id=115382
1570 Reviewed by Sam Weinig.
1572 Remove m_finishedImportingOriginIdentifiers.
1574 * storage/StorageTracker.cpp:
1575 (WebCore::StorageTracker::StorageTracker):
1576 (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
1577 * storage/StorageTracker.h:
1580 2013-04-29 Anders Carlsson <andersca@apple.com>
1582 Get rid of StorageTracker::setClient
1583 https://bugs.webkit.org/show_bug.cgi?id=115376
1585 Reviewed by Sam Weinig.
1588 * storage/StorageTracker.cpp:
1589 * storage/StorageTracker.h:
1592 2013-04-22 Jeffrey Pfau <jpfau@apple.com>
1594 Change approach to third-party blocking for LocalStorage
1595 https://bugs.webkit.org/show_bug.cgi?id=115004
1597 Reviewed by Maciej Stachowiak.
1599 Instead of outright blocking LocalStorage that's used in a third-party
1600 context, silently partition it based on the origin of the top context.
1601 These partitions are then discarded when the page group is unloaded.
1603 No new tests; modified existing tests to account for changes.
1605 * page/DOMWindow.cpp:
1606 (WebCore::DOMWindow::localStorage):
1607 * page/PageGroup.cpp:
1608 (WebCore::PageGroup::localStorage):
1610 (WebCore::PageGroup::transientLocalStorage):
1613 * page/SecurityOrigin.cpp:
1614 (WebCore::SecurityOrigin::canAccessStorage):
1616 2013-04-29 Yi Shen <max.hong.shen@gmail.com>
1618 HTML Editing: Insertion point jumps when using link detection
1619 https://bugs.webkit.org/show_bug.cgi?id=82198
1621 Reviewed by Ryosuke Niwa.
1623 Add links should be done only when typing a word separator (e.g. space or dot) which
1624 breaks the text into two parts - the link and the rest of the text. Reflected in
1625 code, we should only add link when the caret position is at the right end location of
1626 TextChecking result. Otherwise, the text on the right of a word separator could be
1627 highlighted as a link and the insertion point jumps unexpectedly.
1629 Tests: update editing/inserting/typing-space-to-trigger-smart-link.html
1631 * editing/Editor.cpp:
1632 (WebCore::Editor::markAndReplaceFor):
1634 2013-04-29 Beth Dakin <bdakin@apple.com>
1636 Need a LayoutMilestone to fire when we have done our first paint after suppressing
1638 https://bugs.webkit.org/show_bug.cgi?id=115330
1640 <rdar://problem/12722365>
1642 Reviewed by Simon Fraser.
1644 To meet the needs of all of our clients, we really need two milestones. One
1645 indicating that a layout has happened after setVisualUpdatesAllowed(true), and
1646 another indicating that painting has happened.
1648 If layout is needed when setVisualUpdatesAllowed(true) is called, we need to
1649 update it so that we can guarantee the first paint is really happening at this
1650 time. Also fire the DidFirstLayoutAfterSuppressedIncrementalRendering milestone,
1651 and call add DidFirstPaintAfterSuppressedIncrementalRendering to the FrameView's
1652 pending paint milestones.
1653 up the painting milestone.
1655 (WebCore::Document::setVisualUpdatesAllowed):
1657 FrameView now stores m_milestonesPendingPaint. We'll send and clear them once we
1659 * page/FrameView.cpp:
1660 (WebCore::FrameView::FrameView):
1661 (WebCore::FrameView::paintContents):
1662 (WebCore::FrameView::addPaintPendingMilestones):
1663 (WebCore::FrameView::firePaintRelatedMilestones):
1665 (WebCore::FrameView::milestonesPendingPaint):
1668 * page/LayoutMilestones.h:
1671 We don't need m_headerLayerAwaitingFirstFlush anymore since we can use FrameView's
1672 pending paint milestones instead.
1673 * rendering/RenderLayerCompositor.cpp:
1674 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1675 (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1676 (WebCore::RenderLayerCompositor::updateLayerForHeader):
1677 * rendering/RenderLayerCompositor.h:
1678 (RenderLayerCompositor):
1680 2013-04-29 David Hyatt <hyatt@apple.com>
1682 [Mac] Links can't be hovered or clicked with overlay scrollbars hidden.
1683 https://bugs.webkit.org/show_bug.cgi?id=99379
1685 This is also <rdar://problem/10929565> Overlay scrollbars prevent hit-testing on
1686 content underneath them, even when hidden
1688 Reviewed by Beth Dakin.
1690 * rendering/RenderLayer.cpp:
1691 (WebCore::RenderLayer::verticalScrollbarWidth):
1692 (WebCore::RenderLayer::horizontalScrollbarHeight):
1694 2013-04-29 Anders Carlsson <andersca@apple.com>
1696 Begin cleaning up StorageTracker
1697 https://bugs.webkit.org/show_bug.cgi?id=115373
1699 Reviewed by Andreas Kling.
1701 Rename Mutexes to use "Mutex" and not "Guard".
1702 Don't use static locals for ".localstorage" and "*.localstorage" strings.
1703 Put end iterator declarations together with begin declarations.
1705 * storage/StorageTracker.cpp:
1706 (WebCore::StorageTracker::setDatabaseDirectoryPath):
1707 (WebCore::StorageTracker::trackerDatabasePath):
1708 (WebCore::StorageTracker::openTrackerDatabase):
1709 (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
1710 (WebCore::StorageTracker::syncImportOriginIdentifiers):
1711 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1712 (WebCore::StorageTracker::setOriginDetails):
1713 (WebCore::StorageTracker::syncSetOriginDetails):
1714 (WebCore::StorageTracker::origins):
1715 (WebCore::StorageTracker::deleteAllOrigins):
1716 (WebCore::StorageTracker::syncDeleteAllOrigins):
1717 (WebCore::StorageTracker::deleteOrigin):
1718 (WebCore::StorageTracker::syncDeleteOrigin):
1719 (WebCore::StorageTracker::willDeleteAllOrigins):
1720 (WebCore::StorageTracker::willDeleteOrigin):
1721 (WebCore::StorageTracker::canDeleteOrigin):
1722 (WebCore::StorageTracker::cancelDeletingOrigin):
1723 (WebCore::StorageTracker::setClient):
1724 (WebCore::StorageTracker::databasePathForOrigin):
1725 (WebCore::StorageTracker::diskUsageForOrigin):
1726 * storage/StorageTracker.h:
1729 2013-04-29 Andreas Kling <akling@apple.com>
1731 Don't check for @media rules affected by viewport changes in every layout.
1732 <http://webkit.org/b/115370>
1733 <rdar://problem/13765739>
1735 Reviewed by Antti Koivisto.
1737 Move the logic that checks if any @media rules are affected by a change in the viewport
1738 size to FrameView::setFrameRect(). This way it's no longer necessary to do the style
1739 recalc synchronously, which allows us to coalesce multiple updates in some cases.
1741 * page/FrameView.cpp:
1742 (WebCore::FrameView::setFrameRect):
1743 (WebCore::FrameView::layout):
1745 2013-04-29 Anders Carlsson <andersca@apple.com>
1747 Remove the last StorageSyncManager function
1748 https://bugs.webkit.org/show_bug.cgi?id=115371
1750 Reviewed by Sam Weinig.
1752 Move the import scheduling to the StorageAreaSync constructor. Remove code to set m_importComplete to true
1753 since that could only happen if the StorageSyncManager's thread is null which doesn't make any sense.
1755 * storage/StorageAreaSync.cpp:
1756 (WebCore::StorageAreaSync::StorageAreaSync):
1757 (WebCore::StorageAreaSync::create):
1758 * storage/StorageSyncManager.cpp:
1759 * storage/StorageSyncManager.h:
1760 (StorageSyncManager):
1762 2013-04-29 Daker Fernandes Pinheiro <daker.pinheiro@openbossa.org>
1764 Remove unused method RenderMeter::valueRatio()
1765 https://bugs.webkit.org/show_bug.cgi?id=115266
1767 Reviewed by Darin Adler.
1769 The removed method is not used anywhere.
1770 No new tests are required.
1772 * rendering/RenderMeter.cpp:
1773 * rendering/RenderMeter.h:
1776 2013-04-29 Anders Carlsson <andersca@apple.com>
1778 Remove two more StorageSyncManager wrapper functions
1779 https://bugs.webkit.org/show_bug.cgi?id=115367
1781 Reviewed by Andreas Kling.
1783 * storage/StorageAreaSync.cpp:
1784 (WebCore::StorageAreaSync::scheduleFinalSync):
1785 (WebCore::StorageAreaSync::syncTimerFired):
1786 * storage/StorageSyncManager.cpp:
1787 * storage/StorageSyncManager.h:
1789 2013-04-29 Stephen Chenney <schenney@chromium.org>
1791 SVGElement destructor can use invalid iterator
1792 https://bugs.webkit.org/show_bug.cgi?id=115361
1794 Reviewed by Philip Rogers.
1796 When an SVGElement object has rare data, its destructor gets a
1797 hash map iterator for the rare data, uses it to clear resources,
1798 then uses the iterator to delete the rare data. However, the resource
1799 cleanup can delete other SVG elements, thus modifying the hash map
1800 from which the iterator came and hence invalidating the iterator
1803 The fix is to re-get the iterator before deleting the rare data.
1805 Test: svg/custom/svg-element-destructor-iteration-crash.html
1807 * svg/SVGElement.cpp:
1808 (WebCore::SVGElement::~SVGElement): Get a new iterator after clearing rare data.
1810 2013-04-29 Brady Eidson <beidson@apple.com>
1812 REGRESSION: We see authentication challenge sheets for favicon requests.
1813 <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
1815 Reviewed by Alexey Proskuryakov.
1817 No new tests (Not in a tested config, might fix existing test).
1819 Rename ClientCrossOriginCredentialPolicy to ClientCredentialPolicy, make it be three options.
1820 and move it to ResourceHandleTypes where it belongs:
1821 * loader/ResourceLoaderOptions.h:
1822 * platform/network/ResourceHandleTypes.h:
1824 Expose the ClientCredentialPolicy the ResourceLoader was created with:
1825 * loader/ResourceLoader.h:
1826 (WebCore::ResourceLoader::clientCredentialPolicy):
1828 Rework the “should ask client” clause for the new values of ClientCredentialPolicy:
1829 * loader/ResourceLoader.cpp:
1830 (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1832 Rework loadResourceSynchronously() to include a ClientCredentialPolicy argument:
1833 * loader/FrameLoader.cpp:
1834 (WebCore::FrameLoader::loadResourceSynchronously):
1835 * loader/FrameLoader.h:
1836 * loader/LoaderStrategy.cpp:
1837 (WebCore::LoaderStrategy::loadResourceSynchronously):
1838 * loader/LoaderStrategy.h:
1840 Never ask the client for credentials for icon loads:
1841 * loader/icon/IconLoader.cpp:
1842 (WebCore::IconLoader::startLoading):
1844 Update all other users of ClientCredentialPolicy to the appropriate new value,
1845 and update all users of loadResourceSynchronously to the new function signature:
1846 * inspector/InspectorFrontendHost.cpp:
1847 (WebCore::InspectorFrontendHost::loadResourceSynchronously):
1848 * loader/DocumentLoader.cpp:
1849 (WebCore::DocumentLoader::startLoadingMainResource):
1850 * loader/DocumentThreadableLoader.cpp:
1851 (WebCore::DocumentThreadableLoader::loadRequest):
1852 * loader/FrameLoader.cpp:
1853 (WebCore::FrameLoader::loadResourceSynchronously):
1854 * loader/FrameLoader.h:
1856 * loader/LoaderStrategy.cpp:
1857 (WebCore::LoaderStrategy::loadResourceSynchronously):
1858 * loader/LoaderStrategy.h:
1860 * loader/NetscapePlugInStreamLoader.cpp:
1861 (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
1862 * loader/cache/CachedResourceLoader.cpp:
1863 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1864 (WebCore::CachedResourceLoader::defaultCachedResourceOptions):
1865 * xml/XSLTProcessorLibxslt.cpp:
1866 (WebCore::docLoaderFunc):
1867 * xml/parser/XMLDocumentParserLibxml2.cpp:
1868 (WebCore::openFunc):
1872 2013-04-29 Anders Carlsson <andersca@apple.com>
1874 Add a StorageSyncManager::dispatch helper function
1875 https://bugs.webkit.org/show_bug.cgi?id=115365
1877 Reviewed by Andreas Kling.
1879 * storage/StorageSyncManager.cpp:
1880 (WebCore::StorageSyncManager::dispatch):
1882 (WebCore::StorageSyncManager::close):
1883 (WebCore::StorageSyncManager::scheduleImport):
1884 (WebCore::StorageSyncManager::scheduleSync):
1885 (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
1886 * storage/StorageSyncManager.h:
1887 (StorageSyncManager):
1889 2013-04-29 Anders Carlsson <andersca@apple.com>
1891 Re-indent StorageSyncManager and remove SecurityOrigin forward declaration.
1893 Rubber-stamped by Andreas Kling.
1895 * storage/StorageSyncManager.h:
1897 2013-04-27 Anders Carlsson <andersca@apple.com>
1899 Get rid of StorageTask
1900 https://bugs.webkit.org/show_bug.cgi?id=115313
1902 Reviewed by Andreas Kling.
1905 * GNUmakefile.list.am:
1907 * WebCore.vcproj/WebCore.vcproj:
1908 * WebCore.vcxproj/WebCore.vcxproj:
1909 * WebCore.vcxproj/WebCore.vcxproj.filters:
1910 * WebCore.xcodeproj/project.pbxproj:
1911 * storage/StorageSyncManager.cpp:
1912 * storage/StorageTask.cpp: Removed.
1913 * storage/StorageTask.h: Removed.
1914 * storage/StorageThread.cpp:
1915 (WebCore::StorageThread::threadEntryPoint):
1916 (WebCore::StorageThread::dispatch):
1917 (WebCore::StorageThread::terminate):
1918 * storage/StorageThread.h:
1920 * storage/StorageTracker.cpp:
1922 2013-04-29 Andreas Kling <akling@apple.com>
1924 Add branch-prediction hint to FAST_RETURN_IF_NO_FRONTENDS.
1925 <http://webkit.org/b/115357>
1927 Reviewed by Anders Carlsson.
1929 Since this macro is used in some very hot code paths, give the compiler an extra hint
1930 to try and minimize the impact it has when the inspector is not active.
1932 * inspector/InspectorInstrumentation.h:
1934 2013-04-29 Patrick Gansterer <paroga@webkit.org>
1936 [WIN] Add WTF_USE_IMLANG_FONT_LINK2
1937 https://bugs.webkit.org/show_bug.cgi?id=115198
1939 Reviewed by Andreas Kling.
1941 Add this new define to have a central place for switching
1942 the IMLangFontLinkType and adop all usages of the type.
1943 This makes the usage of the code easier on desktop pcs.
1945 * platform/graphics/FontCache.h:
1947 * platform/graphics/wince/FontCacheWinCE.cpp:
1948 (WebCore::currentFontContainsCharacter):
1949 (WebCore::createMLangFont):
1950 (WebCore::FontCache::getFontDataForCharacters):
1951 * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1952 (WebCore::SimpleFontData::containsCharacters):
1954 2013-04-29 Noam Rosenthal <noam@webkit.org>
1956 Get rid of "non-composited contents" in CoordinatedLayerTreeHost
1957 https://bugs.webkit.org/show_bug.cgi?id=110355
1959 Reviewed by Jocelyn Turcotte.
1961 When in force compositing mode, always assume that the main layer needs
1962 a backing store. Make setVisibleContentRectTrajectoryVector and accumulatedCoverRect
1963 recursive so that they don't rely on a specialized layer.
1965 No new testable behavior, changes to coverRect and trajectory vector only
1966 affect tiling latency in rare cases that are not trivial to test.
1968 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1969 (WebCore::CoordinatedGraphicsLayer:setVisibleContentRectTrajectoryVector):
1970 Make the trajectory vector recursive, though limited only to layers with
1971 translate/identity. This allows us to keep the trajectory vector while removing
1972 the non-composited contents specialization.
1974 (WebCore::CoordinatedGraphicsLayer::accumulatedCoverRect):
1975 Added accumulatedCoverRect, so that the coverRect calculations for the UI process
1976 are not bound to the non-composited contents layer.
1978 (WebCore::CoordinatedGraphicsLayer::findDescendantWithContentsRecursively):
1979 Instead of saving a reference to the non-composited contents layer, we assume that
1980 the first layer we found recursively which has contents is the one to be used for
1981 coverRect/trajectory calculations.
1984 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1985 (CoordinatedGraphicsLayer):
1986 * rendering/RenderLayerBacking.cpp:
1987 (WebCore::RenderLayerBacking::paintsIntoWindow):
1988 Always create a layer for the non-composited contents when in forceCompositing mode.
1990 2013-04-29 Dirk Schulze <krit@webkit.org>
1992 Animate clip rect() between different Length types
1993 https://bugs.webkit.org/show_bug.cgi?id=115336
1995 Reviewed by Andreas Kling.
1997 At the moment the animation for the 'clip' property
1998 has an early return if the type of two Length values
1999 does not match. This patch removes this early return.
2001 Modified existing tests to cover the changes.
2003 * page/animation/CSSPropertyAnimation.cpp:
2004 (WebCore::blendFunc):
2006 2013-04-29 Andreas Kling <akling@apple.com>
2008 When updating geometry, send JavaScript resize before before layout/paint.
2009 <http://webkit.org/b/115199>
2010 <rdar://problem/13735535>
2012 Reviewed by Geoffrey Garen.
2014 Make the "resize" event synchronous and dispatch it before doing any automatic
2015 resize-induced layout. This avoids unnecessary work in cases where an event handler
2016 does something that dirties style.
2018 It also avoids a kind of JS-side FOUC that happens if we drop out to the runloop
2019 and paint before the resize event handler runs; for example, when viewing a popup
2020 on <http://lokeshdhakar.com/projects/lightbox2/> and resizing the window, the dark
2021 overlay sometimes resizes out of sync with the web view, since a paint may happen
2022 between automatic layout and the resize event.
2024 * page/EventHandler.h:
2025 * page/EventHandler.cpp:
2026 (WebCore::EventHandler::dispatchResizeEvent):
2028 * page/FrameView.cpp:
2029 (WebCore::FrameView::dispatchResizeEvent):
2031 Renamed sendResizeEvent() to dispatchResizeEvent() and made it dispatch the event
2032 synchronously instead of adding it to the DocumentEventQueue.
2034 (WebCore::FrameView::performPostLayoutTasks):
2035 (WebCore::FrameView::setFrameRect):
2037 Dispatch the "resize" event right when the new frame rect is set.
2039 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2041 Remove OS(WINCE) from (Render|Scrollbar)ThemeWin.cpp
2042 https://bugs.webkit.org/show_bug.cgi?id=115348
2044 Reviewed by Andreas Kling.
2046 Compile DIBPixelData.cpp on Windows CE too, which allows us
2047 to get rid of a few #if OS(WINCE) in other code parts.
2049 * PlatformWinCE.cmake:
2050 * platform/graphics/win/DIBPixelData.cpp:
2051 (WebCore::DIBPixelData::setRGBABitmapAlpha):
2052 * platform/win/ScrollbarThemeWin.cpp:
2053 (WebCore::ScrollbarThemeWin::paintTrackPiece):
2054 (WebCore::ScrollbarThemeWin::paintButton):
2055 (WebCore::ScrollbarThemeWin::paintThumb):
2056 * rendering/RenderThemeWin.cpp:
2057 (WebCore::drawControl):
2059 2013-04-29 Eli Fidler <efidler@blackberry.com>
2061 [BlackBerry] Fake-bold monospace fonts need to use non-fake-bold advances
2062 https://bugs.webkit.org/show_bug.cgi?id=115280
2064 Reviewed by George Staikos.
2066 BlackBerry PR 330864
2068 Tested by fast/css/css3-ch-unit.html
2070 * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
2071 (WebCore::FontPlatformData::applyState):
2072 (WebCore::FontPlatformData::isFixedPitch):
2073 * platform/graphics/blackberry/ITypeUtils.h:
2074 * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
2075 (WebCore::SimpleFontData::platformWidthForGlyph):
2077 2013-04-29 ChangSeok Oh <changseok.oh@collabora.com>
2079 [GTK][AC] Clean up code related with the children management stuff for clutter based AC
2080 https://bugs.webkit.org/show_bug.cgi?id=114260
2082 Reviewed by Gustavo Noronha Silva.
2084 Remove unused or usless code for children management stuff.
2086 No new tests since no functionality changed.
2088 * platform/graphics/clutter/GraphicsLayerActor.cpp:
2089 (_GraphicsLayerActorPrivate):
2090 (graphics_layer_actor_class_init):
2091 (graphicsLayerActorAllocate):
2092 (graphicsLayerActorDraw):
2093 (graphicsLayerActorNew):
2094 (graphicsLayerActorSetSublayers):
2095 * platform/graphics/clutter/GraphicsLayerActor.h:
2096 * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2097 (WebCore::idleDestroy):
2098 (WebCore::GraphicsLayerClutter::ensureStructuralLayer):
2099 (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
2101 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2103 [WIN] Guard cfHDropFormat() with USE(CF) instead of OS(WINCE)
2104 https://bugs.webkit.org/show_bug.cgi?id=115195
2106 Reviewed by Andreas Kling.
2108 USE(CF) is the correct guard, which works on desktop pcs too.
2110 * platform/win/ClipboardWin.cpp:
2111 (WebCore::ClipboardWin::files):
2112 * platform/win/DragDataWin.cpp:
2113 (WebCore::DragData::containsFiles):
2114 (WebCore::DragData::numberOfFiles):
2115 (WebCore::DragData::asFilenames):
2117 2013-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
2119 Unreviewed. Fix make distcheck.
2121 * GNUmakefile.am: Add missing scripts to EXTRA_DIST.
2122 * GNUmakefile.list.am: Add missing files to compilation.
2124 2013-04-29 Noam Rosenthal <noam@webkit.org>
2126 [Qt] fast/canvas/webgl/webgl-composite-modes.html broken after r148433.
2127 https://bugs.webkit.org/show_bug.cgi?id=115243
2129 Reviewed by Jocelyn Turcotte.
2131 When compositing a layer with a canvas or directly composited image, it is
2132 wrong to use TextureMapperLayer::setBackingStore. Instead, setContentsLayer
2133 should be used, which allows for the layer to have both a backing store and
2136 * platform/graphics/texmap/TextureMapperLayer.cpp:
2137 (WebCore::TextureMapperLayer::paintSelf):
2138 * platform/graphics/texmap/TextureMapperLayer.h:
2140 (WebCore::TextureMapperLayer::State::State):
2141 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2142 (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
2143 (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
2144 (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2146 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2148 Unreviewed build fix.
2150 * bindings/js/WorkerScriptDebugServer.cpp: Added missing header.
2152 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2154 Unreviewed build fix.
2156 * platform/graphics/wince/FontWinCE.cpp:
2157 (WebCore::generateComponents):
2159 2013-04-29 Patrick Gansterer <paroga@webkit.org>
2161 Remove OS(WINCE) from HTMLSelectElement.cpp
2162 https://bugs.webkit.org/show_bug.cgi?id=115194
2164 Reviewed by Andreas Kling.
2166 Use the same files like the the other PLATFORM(WIN) ports use.
2168 * PlatformWinCE.cmake:
2169 * html/HTMLSelectElement.cpp:
2172 2013-04-25 Ryosuke Niwa <rniwa@webkit.org>
2174 StaticHashSetNodeList is unnecessary
2175 https://bugs.webkit.org/show_bug.cgi?id=115219
2177 Reviewed by Antonio Gomes.
2179 Moved Document::nodesFromRect into Internals::nodesFromRect per
2180 https://chromium.googlesource.com/chromium/blink/+/78207c5c34383fbb807bb9347deb67168f09bb04.
2182 Also made TouchAdjustment functions use HashListSet directly instead of wrapping it inside
2183 a StaticHashSetNodeList since there was no need to use the latter.
2185 With these two changes, I deleted StaticHashSetNodeList.
2187 * GNUmakefile.list.am:
2190 * WebCore.xcodeproj/project.pbxproj:
2195 * dom/StaticHashSetNodeList.cpp: Removed.
2196 * dom/StaticHashSetNodeList.h: Removed.
2197 * page/EventHandler.cpp:
2198 (WebCore::EventHandler::bestClickableNodeForTouchPoint):
2199 (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
2200 (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
2201 * page/TouchAdjustment.cpp:
2202 (WebCore::TouchAdjustment::compileSubtargetList):
2203 (WebCore::TouchAdjustment::compileZoomableSubtargets):
2204 (WebCore::findBestClickableCandidate):
2205 (WebCore::findBestContextMenuCandidate):
2206 (WebCore::findBestZoomableArea):
2207 * page/TouchAdjustment.h:
2209 * testing/Internals.cpp:
2210 (WebCore::Internals::nodesFromRect):
2212 2013-04-28 Dean Jackson <dino@apple.com>
2214 [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
2215 https://bugs.webkit.org/show_bug.cgi?id=115310
2217 Reviewed by Simon Fraser.
2219 Disable the automatic pixel doubling in canvas backing stores on high
2220 dpi devices. This will potentially make canvases look worse of high dpi
2221 displays, but only if they were ignoring devicePixelRatio. Since the
2222 majority of high dpi displays *do not* auto-double (including mobile
2223 devices and other desktop browsers), this provides consistency and less
2224 chance of unnecessary memory use.
2226 * Configurations/FeatureDefines.xcconfig: Remove ENABLE_HIGH_DPI_CANVAS_macosx.
2228 2013-04-28 Christophe Dumez <ch.dumez@sisa.samsung.com>
2230 Get rid of [Callback] IDL extended attribute for parameters
2231 https://bugs.webkit.org/show_bug.cgi?id=115250
2233 Reviewed by Kentaro Hara.
2235 Remove the WebKit-specific [Callback] extended attribute and make the bindings
2236 generator smart enough to know when a parameter is of callback type on its
2239 No new tests, no behavior change.
2241 * DerivedSources.make: Use WebCore/Modules as IDL include path instead of using
2242 subdirs. The generator will search recursively anyway and the list of subdirs was
2244 * Modules/filesystem/DOMWindowFileSystem.idl:
2245 * Modules/filesystem/DirectoryEntry.idl:
2246 * Modules/filesystem/DirectoryReader.idl:
2247 * Modules/filesystem/Entry.idl:
2248 * Modules/filesystem/FileEntry.idl:
2249 * Modules/filesystem/WorkerContextFileSystem.idl:
2250 * Modules/mediastream/NavigatorMediaStream.idl:
2251 * Modules/mediastream/RTCPeerConnection.idl:
2252 * Modules/notifications/Notification.idl:
2253 * Modules/notifications/NotificationCenter.idl:
2254 * Modules/quota/StorageInfo.idl:
2255 * Modules/quota/StorageQuota.idl:
2256 * Modules/webaudio/AudioContext.idl:
2257 * Modules/webdatabase/DOMWindowWebDatabase.idl:
2258 * Modules/webdatabase/Database.idl:
2259 * Modules/webdatabase/DatabaseSync.idl:
2260 * Modules/webdatabase/SQLTransaction.idl:
2261 * Modules/webdatabase/WorkerContextWebDatabase.idl:
2262 * bindings/gobject/GNUmakefile.am: Add missing IDL include dirs.
2263 * bindings/scripts/CodeGenerator.pm:
2265 (IsCallbackInterface):
2266 * bindings/scripts/CodeGeneratorGObject.pm:
2268 * bindings/scripts/CodeGeneratorJS.pm:
2269 (GenerateParametersCheckExpression):
2270 (GenerateParametersCheck):
2271 * bindings/scripts/IDLAttributes.txt: Remove "Callback" extended attribute.
2272 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2273 (WebDOMTestCallback::callbackWithArrayParam):
2274 (WebDOMTestCallback::callbackWithSerializedScriptValueParam):
2275 (WebDOMTestCallback::callbackWithNonBoolReturnType):
2276 (WebDOMTestCallback::callbackRequiresThisToPass):
2277 * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2278 (WebDOMTestCallback):
2279 * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2280 (WebDOMTestObj::convert1):
2281 (WebDOMTestObj::convert2):
2282 (WebDOMTestObj::convert4):
2283 (WebDOMTestObj::convert5):
2284 * bindings/scripts/test/CPP/WebDOMTestObj.h:
2285 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
2286 (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
2287 (WebDOMTestSerializedScriptValueInterface::multiTransferList):
2288 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
2289 (WebDOMTestSerializedScriptValueInterface):
2290 * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
2291 (WebDOMTestTypedefs::multiTransferList):
2292 * bindings/scripts/test/CPP/WebDOMTestTypedefs.h:
2293 (WebDOMTestTypedefs):
2294 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2295 (webkit_dom_test_callback_callback_with_array_param):
2296 (webkit_dom_test_callback_callback_with_serialized_script_value_param):
2297 (webkit_dom_test_callback_callback_with_non_bool_return_type):
2298 (webkit_dom_test_callback_callback_requires_this_to_pass):
2299 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2300 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2301 (webkit_dom_test_obj_convert1):
2302 (webkit_dom_test_obj_convert2):
2303 (webkit_dom_test_obj_convert4):
2304 (webkit_dom_test_obj_convert5):
2305 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2306 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2307 (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
2308 (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
2309 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2310 * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
2311 (webkit_dom_test_typedefs_multi_transfer_list):
2312 * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
2313 * bindings/scripts/test/JS/JSTestCallback.cpp:
2314 (WebCore::JSTestCallback::callbackWithArrayParam):
2315 (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
2316 (WebCore::JSTestCallback::callbackRequiresThisToPass):
2317 * bindings/scripts/test/JS/JSTestCallback.h:
2319 * bindings/scripts/test/JS/JSTestObj.cpp:
2320 (WebCore::jsTestObjPrototypeFunctionConvert1):
2321 (WebCore::jsTestObjPrototypeFunctionConvert2):
2322 (WebCore::jsTestObjPrototypeFunctionConvert4):
2323 (WebCore::jsTestObjPrototypeFunctionConvert5):
2324 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2325 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2326 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2327 (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
2328 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2329 (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
2330 * bindings/scripts/test/ObjC/DOMTestCallback.h:
2331 * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2332 (-[DOMTestCallback callbackWithArrayParam:]):
2333 (-[DOMTestCallback callbackWithSerializedScriptValueParam:strArg:]):
2334 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2335 (-[DOMTestCallback callbackRequiresThisToPass:testNodeParam:]):
2336 * bindings/scripts/test/ObjC/DOMTestObj.h:
2337 * bindings/scripts/test/ObjC/DOMTestObj.mm:
2338 (-[DOMTestObj convert1:]):
2339 (-[DOMTestObj convert2:]):
2340 (-[DOMTestObj convert4:]):
2341 (-[DOMTestObj convert5:]):
2342 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2343 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
2344 (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
2345 (-[DOMTestSerializedScriptValueInterface multiTransferList:tx:second:txx:]):
2346 * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
2347 * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
2348 (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
2349 * bindings/scripts/test/TestCallback.idl: Use valid types instead of Class1, Class2, ...
2350 so that the bindings generator does not complain about not being able to resolve
2352 * bindings/scripts/test/TestObj.idl: Use valid parameter types instead of 'a', 'b', 'd', 'e'
2353 so that the bindings generator does not complain about them.
2354 * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2355 * bindings/scripts/test/TestTypedefs.idl:
2356 * css/FontLoader.idl:
2357 * dom/DataTransferItem.idl:
2358 * page/DOMWindow.idl:
2360 2013-04-27 Darin Adler <darin@apple.com>
2362 Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2363 https://bugs.webkit.org/show_bug.cgi?id=115307
2365 Reviewed by Geoffrey Garen.
2367 This change was done by a global replace followed by compiling and inspecting for
2368 cases that needed to be tweaked by hand.
2370 * accessibility/ios/AXObjectCacheIOS.mm:
2371 (WebCore::AXObjectCache::attachWrapper):
2372 * accessibility/mac/AXObjectCacheMac.mm:
2373 (WebCore::AXObjectCache::attachWrapper):
2374 * bridge/objc/objc_class.mm:
2375 (JSC::Bindings::ObjcClass::methodNamed):
2376 (JSC::Bindings::ObjcClass::fieldNamed):
2377 * bridge/objc/objc_runtime.mm:
2378 (JSC::Bindings::ObjcField::ObjcField):
2379 * editing/mac/EditorMac.mm:
2380 (WebCore::Editor::fontAttributesForSelectionStart):
2381 * history/cf/HistoryPropertyList.cpp:
2382 (WebCore::HistoryPropertyListWriter::releaseData):
2383 * html/HTMLMediaElement.cpp:
2384 (WebCore::createFileURLForApplicationCacheResource):
2385 * loader/archive/cf/LegacyWebArchive.cpp:
2386 (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2387 (WebCore::LegacyWebArchive::create):
2388 (WebCore::LegacyWebArchive::rawDataRepresentation):
2389 * loader/archive/cf/LegacyWebArchiveMac.mm:
2390 (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2391 * loader/mac/ResourceLoaderMac.mm:
2392 (WebCore::ResourceLoader::willCacheResponse):
2393 * page/CaptionUserPreferencesMac.mm:
2394 (WebCore::CaptionUserPreferencesMac::userPrefersCaptions):
2395 (WebCore::CaptionUserPreferencesMac::userPrefersSubtitles):
2396 (WebCore::CaptionUserPreferencesMac::captionsWindowCSS):
2397 (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS):
2398 (WebCore::CaptionUserPreferencesMac::captionsTextColor):
2399 (WebCore::CaptionUserPreferencesMac::captionsDefaultFontCSS):
2400 (WebCore::CaptionUserPreferencesMac::preferredLanguages):
2401 (WebCore::trackDisplayName):
2402 * platform/Language.cpp:
2403 (WebCore::displayNameForLanguageLocale):
2404 * platform/LocalizedStrings.cpp:
2405 (WebCore::contextMenuItemTagSearchWeb):
2406 (WebCore::imageTitle):
2407 * platform/MIMETypeRegistry.cpp:
2408 (WebCore::initializeSupportedImageMIMETypes):
2409 (WebCore::initializeSupportedImageMIMETypesForEncoding):
2410 * platform/audio/mac/AudioFileReaderMac.cpp:
2411 (WebCore::AudioFileReader::AudioFileReader):
2412 * platform/cf/KURLCFNet.cpp:
2413 (WebCore::KURL::fileSystemPath):
2414 * platform/cf/SharedBufferCF.cpp:
2415 (WebCore::SharedBuffer::maybeTransferPlatformData):
2416 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2417 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2418 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2419 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2420 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
2421 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
2422 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
2423 (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
2424 * platform/graphics/ca/GraphicsLayerCA.cpp:
2425 (WebCore::GraphicsLayerCA::setContentsToImage):
2426 * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2427 (WebCore::LayerFlushScheduler::schedule):
2428 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2429 (PlatformCAAnimation::PlatformCAAnimation):
2430 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2431 (PlatformCAFilters::filterValueForOperation):
2432 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2433 (PlatformCALayer::PlatformCALayer):
2434 (PlatformCALayer::addAnimationForKey):
2435 (PlatformCALayer::setBackgroundColor):
2436 (PlatformCALayer::setBorderColor):
2437 * platform/graphics/cg/BitmapImageCG.cpp:
2438 (WebCore::BitmapImage::checkForSolidColor):
2439 (WebCore::BitmapImage::getCGImageArray):
2440 * platform/graphics/cg/ColorCG.cpp:
2441 (WebCore::cachedCGColor):
2442 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2443 (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
2444 * platform/graphics/cg/GraphicsContextCG.cpp:
2445 (WebCore::GraphicsContext::applyStrokePattern):
2446 (WebCore::GraphicsContext::applyFillPattern):
2447 (WebCore::GraphicsContext::setURLForRect):
2448 * platform/graphics/cg/ImageBufferCG.cpp:
2449 (WebCore::createIOSurface):
2450 (WebCore::ImageBuffer::ImageBuffer):
2451 (WebCore::ImageBuffer::copyImage):
2452 (WebCore::ImageBuffer::draw):
2453 (WebCore::ImageBuffer::clip):
2454 (WebCore::ImageBuffer::putByteArray):
2455 (WebCore::CGImageEncodeToData):
2456 (WebCore::CGImageToDataURL):
2457 (WebCore::ImageBuffer::toDataURL):
2458 (WebCore::ImageDataToDataURL):
2459 * platform/graphics/cg/ImageBufferDataCG.cpp:
2460 (WebCore::ImageBufferData::getData):
2461 (WebCore::ImageBufferData::putData):
2462 * platform/graphics/cg/ImageCG.cpp:
2463 (WebCore::Image::imageWithColorSpace):
2464 (WebCore::Image::drawPattern):
2465 * platform/graphics/cg/ImageSourceCG.cpp:
2466 (WebCore::ImageSource::setData):
2467 (WebCore::ImageSource::isSizeAvailable):
2468 (WebCore::ImageSource::frameSizeAtIndex):
2469 (WebCore::ImageSource::orientationAtIndex):
2470 (WebCore::ImageSource::getHotSpot):
2471 (WebCore::ImageSource::repetitionCount):
2472 (WebCore::ImageSource::createFrameAtIndex):
2473 (WebCore::ImageSource::frameDurationAtIndex):
2474 * platform/graphics/cg/PDFDocumentImage.cpp:
2475 (WebCore::PDFDocumentImage::dataChanged):
2476 * platform/graphics/cg/PathCG.cpp:
2477 (WebCore::createScratchContext):
2478 (WebCore::Path::contains):
2479 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2480 (WebCore::FontPlatformData::FontPlatformData):
2481 (WebCore::FontPlatformData::setFont):
2482 (WebCore::createFeatureSettingDictionary):
2483 (WebCore::cascadeToLastResortFontDescriptor):
2484 (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor):
2485 (WebCore::FontPlatformData::ctFont):
2486 (WebCore::FontPlatformData::description):
2487 * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2488 (WebCore::DrawingBuffer::DrawingBuffer):
2489 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2490 (-[WebCascadeList objectAtIndex:]):
2491 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2492 * platform/graphics/mac/FontCustomPlatformData.cpp:
2493 (WebCore::createFontCustomPlatformData):
2494 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2495 (WebCore::GlyphPage::fill):
2496 * platform/graphics/mac/GraphicsContext3DMac.mm:
2497 (WebCore::GraphicsContext3D::GraphicsContext3D):
2498 * platform/graphics/mac/GraphicsContextMac.mm:
2499 (WebCore::GraphicsContext::drawFocusRing):
2500 (WebCore::linearRGBColorSpaceRef):
2501 * platform/graphics/mac/ImageMac.mm:
2502 (WebCore::BitmapImage::getTIFFRepresentation):
2503 (WebCore::BitmapImage::getNSImage):
2504 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2505 (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
2506 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
2507 (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
2508 (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
2509 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2510 (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
2511 (WebCore::addFileTypesToCache):
2512 * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2513 (WebCore::SimpleFontData::getCFStringAttributes):
2514 * platform/graphics/mac/SimpleFontDataMac.mm:
2515 (WebCore::fontHasVerticalGlyphs):
2516 (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
2517 (WebCore::SimpleFontData::platformCharWidthInit):
2518 (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2519 * platform/graphics/mac/WebGLLayer.mm:
2520 (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
2521 * platform/mac/ContentFilterMac.mm:
2522 (WebCore::ContentFilter::ContentFilter):
2523 * platform/mac/ContextMenuItemMac.mm:
2524 (WebCore::ContextMenuItem::ContextMenuItem):
2525 * platform/mac/CursorMac.mm:
2526 (WebCore::createCustomCursor):
2527 (WebCore::createNamedCursor):
2528 * platform/mac/DisplaySleepDisabler.cpp:
2529 (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
2530 * platform/mac/DragImageMac.mm:
2531 (WebCore::dissolveDragImageToFraction):
2532 (WebCore::createDragImageFromImage):
2533 * platform/mac/HTMLConverter.mm:
2534 (+[WebHTMLConverter editingAttributedStringFromRange:]):
2535 * platform/mac/Language.mm:
2536 (WebCore::httpStyleLanguageCode):
2537 (WebCore::platformUserPreferredLanguages):
2538 * platform/mac/LocalizedStringsMac.cpp:
2539 (WebCore::localizedString):
2540 * platform/mac/PasteboardMac.mm:
2541 (WebCore::Pasteboard::getDataSelection):
2542 (WebCore::Pasteboard::writeSelectionForTypes):
2543 (WebCore::fragmentFromWebArchive):
2544 * platform/mac/PlatformClockCM.mm:
2545 (PlatformClockCM::PlatformClockCM):
2546 (PlatformClockCM::initializeWithTimingSource):
2547 * platform/mac/PlatformPasteboardMac.mm:
2548 (WebCore::PlatformPasteboard::addTypes):
2549 (WebCore::PlatformPasteboard::setTypes):
2550 (WebCore::PlatformPasteboard::setPathnamesForType):
2551 * platform/mac/PlatformSpeechSynthesizerMac.mm:
2552 (WebCore::PlatformSpeechSynthesizer::speak):
2553 * platform/mac/PopupMenuMac.mm:
2554 (WebCore::PopupMenuMac::populate):
2555 (WebCore::PopupMenuMac::show):
2556 * platform/mac/ScrollAnimatorMac.mm:
2557 (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2558 (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
2559 (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
2560 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2561 (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2562 (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2563 * platform/mac/SharedBufferMac.mm:
2564 (WebCore::SharedBuffer::createCFData):
2565 * platform/mac/WebCoreNSStringExtras.mm:
2566 (stringEncodingForResource):
2567 * platform/network/ProtectionSpace.cpp:
2568 (WebCore::ProtectionSpace::receivesCredentialSecurely):
2569 * platform/network/SynchronousLoaderClient.cpp:
2570 (WebCore::SynchronousLoaderClient::platformBadResponseError):
2571 * platform/network/cf/CredentialStorageCFNet.cpp:
2572 (WebCore::CredentialStorage::getFromPersistentStorage):
2573 * platform/network/cf/DNSCFNet.cpp:
2574 (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
2575 * platform/network/cf/FormDataStreamCFNet.cpp:
2576 (WebCore::advanceCurrentStream):
2577 * platform/network/cf/NetworkStorageSessionCFNet.cpp:
2578 (WebCore::overrideCookieStorage):
2579 * platform/network/cf/ProxyServerCFNet.cpp:
2580 (WebCore::proxyAutoConfigurationResultCallback):
2581 (WebCore::processProxyServers):
2582 (WebCore::addProxyServersForURL):
2583 * platform/network/cf/ResourceErrorCF.cpp:
2584 (WebCore::ResourceError::platformLazyInit):
2585 (WebCore::ResourceError::cfError):
2586 * platform/network/cf/ResourceHandleCFNet.cpp:
2587 (WebCore::willSendRequest):
2588 (WebCore::ResourceHandle::createCFURLConnection):
2589 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2590 (WebCore::ResourceHandle::receivedCredential):
2591 (WebCore::ResourceHandle::handleDataArray):
2592 * platform/network/cf/ResourceRequestCFNet.cpp:
2593 (WebCore::setHeaderFields):
2594 (WebCore::ResourceRequest::doUpdatePlatformRequest):
2595 (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2596 (WebCore::ResourceRequest::doUpdateResourceRequest):
2597 (WebCore::ResourceRequest::setStorageSession):
2598 * platform/network/cf/ResourceResponseCFNet.cpp:
2599 (WebCore::ResourceResponse::cfURLResponse):
2600 (WebCore::ResourceResponse::platformLazyInit):
2601 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2602 (WebCore::SocketStreamHandle::SocketStreamHandle):
2603 (WebCore::SocketStreamHandle::executePACFileURL):
2604 (WebCore::SocketStreamHandle::chooseProxy):
2605 (WebCore::SocketStreamHandle::createStreams):
2606 (WebCore::SocketStreamHandle::addCONNECTCredentials):
2607 (WebCore::SocketStreamHandle::readStreamCallback):
2608 (WebCore::SocketStreamHandle::writeStreamCallback):
2609 (WebCore::SocketStreamHandle::reportErrorToClient):
2610 * platform/network/mac/AuthenticationMac.mm:
2612 (WebCore::AuthenticationChallenge::setAuthenticationClient):
2613 * platform/network/mac/CookieJarMac.mm:
2614 (WebCore::filterCookies):
2615 * platform/network/mac/NetworkStateNotifierMac.cpp:
2616 (WebCore::NetworkStateNotifier::updateState):
2617 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2618 * platform/network/mac/ResourceErrorMac.mm:
2619 (WebCore::createNSErrorFromResourceErrorBase):
2620 (WebCore::ResourceError::nsError):
2621 * platform/network/mac/ResourceHandleMac.mm:
2622 (WebCore::ResourceHandle::createNSURLConnection):
2623 * platform/network/mac/ResourceRequestMac.mm:
2624 (WebCore::ResourceRequest::updateNSURLRequest):
2625 (WebCore::ResourceRequest::doUpdatePlatformRequest):
2626 (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2627 (WebCore::ResourceRequest::setStorageSession):
2628 * platform/network/mac/ResourceResponseMac.mm:
2629 (WebCore::ResourceResponse::initNSURLResponse):
2630 (WebCore::ResourceResponse::nsURLResponse):
2631 (WebCore::ResourceResponse::platformLazyInit):
2632 * platform/network/mac/UTIUtilities.mm:
2633 (WebCore::mimeTypeFromUTITree):
2634 * platform/network/mac/WebCoreURLResponse.mm:
2635 (WebCore::adjustMIMETypeIfNecessary):
2636 * platform/text/cf/HyphenationCF.cpp:
2637 (WebCore::::createValueForNullKey):
2638 (WebCore::lastHyphenLocation):
2639 * platform/text/mac/HyphenationMac.mm:
2640 (WebCore::::createValueForKey):
2641 (WebCore::lastHyphenLocation):
2642 * platform/text/mac/LocaleMac.mm:
2643 (WebCore::determineLocale):
2644 (WebCore::LocaleMac::LocaleMac):
2645 (WebCore::LocaleMac::initializeLocaleData):
2646 * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2647 (WebCore::textBreakLocalePreference):
2648 (WebCore::canonicalLanguageIdentifier):
2649 * rendering/RenderThemeMac.mm:
2650 (WebCore::RenderThemeMac::RenderThemeMac):
2651 (WebCore::RenderThemeMac::levelIndicatorFor):
2652 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2653 (WebCore::RenderThemeMac::paintSliderTrack):
2654 (WebCore::RenderThemeMac::popupButton):
2655 (WebCore::RenderThemeMac::search):
2656 (WebCore::RenderThemeMac::searchMenuTemplate):
2657 (WebCore::RenderThemeMac::sliderThumbHorizontal):
2658 (WebCore::RenderThemeMac::sliderThumbVertical):
2659 (WebCore::RenderThemeMac::textField):
2660 Use adoptNS and adoptCF free functions.
2662 2013-04-27 Ryosuke Niwa <rniwa@webkit.org>
2664 Pressing mouse button inside a dragstart event causes a crash
2665 https://bugs.webkit.org/show_bug.cgi?id=115296
2667 Reviewed by Darin Adler.
2669 Add a missing null pointer check. We should better encapsulate the states in DragState in the long term
2670 but this is good enough for now.
2672 Test: fast/events/mousedown-inside-dragstart-should-not-cause-crash.html
2674 * page/EventHandler.cpp:
2675 (WebCore::EventHandler::handleDrag):
2677 2013-04-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2679 Unreviewed build fix when disabling video and video-track.
2681 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2683 2013-04-27 Geoffrey Garen <ggaren@apple.com>
2685 WebGL shouldn't allocate a "length" Identifier just to move some numbers around
2686 https://bugs.webkit.org/show_bug.cgi?id=115317
2688 Reviewed by Dean Jackson.
2690 Saw this while debugging an ammo.js bug.
2692 * bindings/js/JSArrayBufferViewHelper.h:
2693 (WebCore::setWebGLArrayWithTypedArrayArgument):
2694 (WebCore::setWebGLArrayHelper):
2695 (WebCore::constructArrayBufferViewWithTypedArrayArgument):
2696 (WebCore::constructArrayBufferView):
2697 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2698 (WebCore::toVector): Use the pre-computed "length" identifier instead of
2699 allocating a new one for each vector operation. There are lots more
2700 optimizations we could do here. This is a start.
2702 2013-04-27 Anders Carlsson <andersca@apple.com>
2704 Remove two more StorageTask types
2705 https://bugs.webkit.org/show_bug.cgi?id=115312
2707 Reviewed by Dean Jackson.
2709 * storage/StorageTask.cpp:
2710 (WebCore::StorageTask::performTask):
2711 * storage/StorageTask.h:
2712 * storage/StorageTracker.cpp:
2713 (WebCore::StorageTracker::setOriginDetails):
2714 (WebCore::StorageTracker::deleteOrigin):
2715 * storage/StorageTracker.h:
2717 2013-04-27 Anders Carlsson <andersca@apple.com>
2719 Get rid of more uses of StorageTask
2720 https://bugs.webkit.org/show_bug.cgi?id=115311
2722 Reviewed by Dean Jackson.
2724 Make StorageAreaSync derive from ThreadSafeRefCounted as well, since it's passed between threads.
2726 * storage/StorageAreaSync.h:
2727 * storage/StorageSyncManager.cpp:
2728 (WebCore::StorageSyncManager::scheduleImport):
2729 (WebCore::StorageSyncManager::scheduleSync):
2730 (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
2731 * storage/StorageTask.cpp:
2732 (WebCore::StorageTask::StorageTask):
2733 (WebCore::StorageTask::performTask):
2734 * storage/StorageTask.h:
2737 2013-04-27 Anders Carlsson <andersca@apple.com>
2739 Indent StorageAreaSync to match the style guidelines.
2741 Rubber-stamped by Andreas Kling.
2743 * storage/StorageAreaSync.h:
2745 2013-04-27 Anders Carlsson <andersca@apple.com>
2747 Replace uses of StorageTask with StorageThread::dispatch and WTF::bind
2748 https://bugs.webkit.org/show_bug.cgi?id=115309
2750 Reviewed by Andreas Kling.
2752 * storage/StorageTask.cpp:
2753 (WebCore::StorageTask::StorageTask):
2754 (WebCore::StorageTask::performTask):
2755 * storage/StorageTask.h:
2756 * storage/StorageThread.cpp:
2757 (WebCore::StorageThread::terminate):
2758 (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
2759 * storage/StorageThread.h:
2760 * storage/StorageTracker.cpp:
2761 (WebCore::StorageTracker::importOriginIdentifiers):
2762 (WebCore::StorageTracker::deleteAllOrigins):
2764 2013-04-27 Anders Carlsson <andersca@apple.com>
2766 Add StorageThread::dispatch
2767 https://bugs.webkit.org/show_bug.cgi?id=115308
2769 Reviewed by Andreas Kling.
2771 StorageThread::dispatch takes a Function<void ()> and runs it on the storage thread. This will be used to eventually get rid of StorageTask.
2773 * storage/StorageTask.cpp:
2774 (WebCore::StorageTask::StorageTask):
2775 (WebCore::StorageTask::performTask):
2776 * storage/StorageTask.h:
2777 (WebCore::StorageTask::createDispatch):
2778 * storage/StorageThread.cpp:
2779 (WebCore::StorageThread::dispatch):
2780 * storage/StorageThread.h:
2783 2013-04-27 Jer Noble <jer.noble@apple.com>
2785 REGRESSION (r147261): Audio controls background not displayed after loading audio file
2786 https://bugs.webkit.org/show_bug.cgi?id=115221
2788 Reviewed by Darin Adler.
2790 As in r147261, set a flex-shrink: 0 to avoid shrinking the media controls panel
2791 below the specified height.
2793 No new tests; fixes the media/media-document-audio-repaint.html test.
2795 * css/mediaControlsQuickTime.css:
2796 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2798 2013-04-26 Jer Noble <jer.noble@apple.com>
2800 Video playback has corruption on the edges of the video
2801 https://bugs.webkit.org/show_bug.cgi?id=115216
2803 Reviewed by Simon Fraser.
2805 Test: media/video-poster-background.html
2807 RenderImage correctly answers foregroundIsKnownToBeOpaqueInRect() method
2808 when a poster image is displayed, but once the video begins playing and
2809 the poster image is no longer displayed, RenderImage will continue to
2810 answer 'true' even when the video does not occupy the entire render box.
2811 Override foregroundIsKnownToBeOpaqueInRect() in order to more correctly
2812 answer the question for the video layer.
2814 * rendering/RenderImage.h: Make foregroundIsKnownToBeOpaqueInRect() protected
2816 * rendering/RenderVideo.cpp:
2817 (WebCore::RenderVideo::foregroundIsKnownToBeOpaqueInRect): Added. Return
2818 true if the rect parameter is entirely contained by the video box.
2819 * rendering/RenderVideo.h:
2821 2013-04-26 Hans Muller <hmuller@adobe.com>
2823 [CSS Exclusions] ExclusionShape bounding box methods should return LayoutRects
2824 https://bugs.webkit.org/show_bug.cgi?id=115117
2826 Reviewed by Dirk Schulze.
2828 Redefined the ExclusionShape API in terms of LayoutUnits, instead of floats: all of the
2829 ExclusionShape methods now have LayoutUnit parameters and return LayoutUnit values.
2830 This is more natural, since the callers work exclusively in LayoutUnits.
2832 This is strictly a refactoring, no new tests were needed.
2834 * rendering/ExclusionPolygon.cpp:
2835 (WebCore::ExclusionPolygon::getExcludedIntervals):
2836 (WebCore::ExclusionPolygon::getIncludedIntervals):
2837 (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
2838 * rendering/ExclusionPolygon.h:
2839 * rendering/ExclusionRectangle.cpp:
2840 (WebCore::ExclusionRectangle::getExcludedIntervals):
2841 (WebCore::ExclusionRectangle::getIncludedIntervals):
2842 (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop):
2843 * rendering/ExclusionRectangle.h:
2844 * rendering/ExclusionShape.cpp:
2845 (WebCore::ExclusionShape::createExclusionShape):
2846 * rendering/ExclusionShape.h:
2849 * rendering/ExclusionShapeInfo.cpp:
2851 (WebCore::::computedShape):
2852 * rendering/ExclusionShapeInfo.h:
2854 (WebCore::ExclusionShapeInfo::shapeLogicalTop):
2855 (WebCore::ExclusionShapeInfo::shapeLogicalBottom):
2856 (ExclusionShapeInfo):
2857 * rendering/ExclusionShapeInsideInfo.cpp:
2858 (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop):
2859 * rendering/ExclusionShapeInsideInfo.h:
2860 * rendering/ExclusionShapeOutsideInfo.h:
2862 2013-04-26 Jer Noble <jer.noble@apple.com>
2864 Nil-check the results of -[AVPlayerItemVideoOutput copyPixelBufferForItemTime:itemTimeForDisplay:].
2865 https://bugs.webkit.org/show_bug.cgi?id=115265
2867 Reviewed by Eric Carlson.
2869 copyPixelBufferForItemTime:itemTimeForDisplay: can return nil, even
2870 when hasNewPixelBufferForItemTime: returns YES. Check the results
2871 before passing the buffer on to VTPixelTransferSessionTransferImage()
2872 which does not NULL-check its parameters.
2874 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2875 (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):
2877 2013-04-26 Roger Fong <roger_fong@apple.com>
2879 Uninflate caret rect.
2880 http://bugs.webkit.org/show_bug.cgi?id=114997.
2881 <rdar://problem/12629007>.
2883 Reviewed by Timothy Horton.
2885 Inflation was causing painting errors with focus rings.
2886 It is no longer needed after disabling subpixel layout.
2888 * editing/FrameSelection.cpp:
2889 (WebCore::repaintCaretForLocalRect):
2891 2013-04-26 Roger Fong <roger_fong@apple.com>
2893 Unreviewed build fix.
2895 * platform/LayoutUnit.h:
2896 (WebCore::LayoutUnit::LayoutUnit):
2898 2013-04-26 Michael Saboff <msaboff@apple.com>
2900 WebCore ObjC bridge is missing support for bool type
2901 https://bugs.webkit.org/show_bug.cgi?id=115276
2903 Reviewed by Geoffrey Garen.
2905 Added code to handle conversion between ObjC and JS booleans.
2907 * bridge/objc/objc_instance.mm:
2908 (ObjcInstance::invokeObjcMethod):
2909 * bridge/objc/objc_utility.h:
2910 * bridge/objc/objc_utility.mm:
2911 (JSC::Bindings::convertValueToObjcValue):
2912 (JSC::Bindings::convertObjcValueToValue):
2913 (JSC::Bindings::objcValueTypeForType):
2915 2013-04-26 Roger Fong <roger_fong@apple.com>
2917 Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
2918 Make the DebugSuffix configuration use _debug dependencies.
2920 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
2921 * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
2922 * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
2923 * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
2924 * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
2925 * WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
2926 * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
2927 * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
2928 * WebCore.vcxproj/WebCore.make:
2929 * WebCore.vcxproj/WebCore.vcxproj:
2930 * WebCore.vcxproj/WebCore.vcxproj.filters:
2931 * WebCore.vcxproj/WebCoreCommon.props:
2932 * WebCore.vcxproj/WebCoreDebug.props:
2933 * WebCore.vcxproj/WebCoreDebugWinCairo.props:
2934 * WebCore.vcxproj/WebCoreGenerated.make:
2935 * WebCore.vcxproj/WebCoreGenerated.vcxproj:
2936 * WebCore.vcxproj/WebCoreGeneratedCommon.props:
2937 * WebCore.vcxproj/WebCoreGeneratedDebug.props:
2938 * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
2939 * WebCore.vcxproj/WebCoreGeneratedProduction.props:
2940 * WebCore.vcxproj/WebCoreGeneratedRelease.props:
2941 * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
2942 * WebCore.vcxproj/WebCoreProduction.props:
2943 * WebCore.vcxproj/WebCoreRelease.props:
2944 * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
2945 * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2946 * WebCore.vcxproj/build-generated-files.sh:
2947 * WebCore.vcxproj/copyForwardingHeaders.cmd:
2948 * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
2950 2013-04-26 Roger Fong <roger_fong@apple.com>
2952 Disable sub-pixel layout on mac.
2953 https://bugs.webkit.org/show_bug.cgi?id=114999.
2955 Reviewed by Simon Fraser.
2957 * Configurations/FeatureDefines.xcconfig:
2959 Export symbol needed to be added for IntRect(const LayoutRect&) constructor,
2960 which is now being used in pixelSnappedIntRect(const LayoutRect&) in LayoutRect.h after disabling sub-pixel layout.
2962 2013-04-26 Simon Fraser <simon.fraser@apple.com>
2964 Layer-backed WebViews don't repaint content outside the visible area
2965 https://bugs.webkit.org/show_bug.cgi?id=115275
2967 Reviewed by Beth Dakin.
2969 Export ScrollView::setPaintsEntireContents(bool).
2973 2013-04-26 Daker Fernandes Pinheiro <daker.pinheiro@openbossa.org>
2975 Change RenderMeter::valueRatio() visibility to public
2976 https://bugs.webkit.org/show_bug.cgi?id=115266
2978 This function is currently unused.
2979 However, it is necessary to implement a RenderTheme capable of rendering Meter elements.
2981 Reviewed by Alexis Menard.
2983 No new tests, because no behaviour is changed.
2985 * rendering/RenderMeter.h:
2988 2013-04-26 Timothy Hatcher <timothy@apple.com>
2990 Add Runtime.parse to the Inspector protocol.
2992 This will be used to parse console expressions for errors
2993 before evaluating them fully.
2995 https://webkit.org/b/115242
2997 Reviewed by Oliver Hunt.
2999 * ForwardingHeaders/parser/ParserError.h: Added.
3000 * inspector/Inspector.json:
3001 * inspector/InspectorRuntimeAgent.cpp:
3002 (WebCore::InspectorRuntimeAgent::parse):
3003 * inspector/InspectorRuntimeAgent.h:
3004 (InspectorRuntimeAgent):
3006 2013-04-26 Benjamin Poulain <bpoulain@apple.com>
3008 Fix the copyright years after r149057
3010 * page/DiagnosticLoggingKeys.cpp: I accidentally removed a year from
3011 the copyright in r149057.
3013 2013-04-26 Konrad Piascik <kpiascik@blackberry.com>
3015 Web Inspector: Crash due to null items from getDOMStorageItems
3016 https://bugs.webkit.org/show_bug.cgi?id=115176
3018 Reviewed by Joseph Pecoraro.
3020 findStorageArea was returning a null storageArea causing the items
3021 input paramater to not be set. This was happening without any error
3022 being set at all. Set an error to prevent a crash when we try to
3023 convert the result to a JSON string.
3025 Added tests to check if session and local storage are empty that
3026 they are still functional.
3028 * inspector/InspectorDOMStorageAgent.cpp:
3029 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
3031 2013-04-26 Martin Robinson <mrobinson@igalia.com>
3033 Remove the remaining Skia #ifdefs
3034 https://bugs.webkit.org/show_bug.cgi?id=114886
3036 Reviewed by Benjamin Poulain.
3038 * html/HTMLCanvasElement.cpp: Remove Skia #ifdef references.
3039 * platform/graphics/BitmapImage.cpp: Ditto.
3040 * platform/graphics/FloatPoint.h: Ditto.
3041 * platform/graphics/FloatRect.h: Ditto.
3042 * platform/graphics/FontCache.h: Ditto.
3043 * platform/graphics/Gradient.cpp: Ditto.
3044 * platform/graphics/Gradient.h: Ditto.
3045 * platform/graphics/GraphicsContext.cpp: Ditto.
3046 * platform/graphics/GraphicsContext.h: Ditto.
3047 * platform/graphics/GraphicsContext3D.h: Ditto.
3048 * platform/graphics/ImageBuffer.cpp: Ditto.
3049 * platform/graphics/ImageBuffer.h: Ditto.
3050 * platform/graphics/ImageBufferData.h: Ditto.
3051 * platform/graphics/IntPoint.h: Ditto.
3052 * platform/graphics/IntRect.h: Ditto.
3053 * platform/graphics/NativeImagePtr.h: Ditto.
3054 * platform/graphics/Path.h: Ditto.
3055 * platform/graphics/Pattern.cpp: Ditto.
3056 * platform/graphics/Pattern.h: Ditto.
3057 * platform/graphics/filters/FEBlend.h: Ditto.
3058 * platform/graphics/filters/FEColorMatrix.h: Ditto.
3059 * platform/graphics/filters/FEComponentTransfer.h: Ditto.
3060 * platform/graphics/filters/FEComposite.h: Ditto.
3061 * platform/graphics/filters/FEConvolveMatrix.h: Ditto.
3062 * platform/graphics/filters/FEDisplacementMap.h: Ditto.
3063 * platform/graphics/filters/FEGaussianBlur.h: Ditto.
3064 * platform/graphics/filters/FELighting.h: Ditto.
3065 * platform/graphics/filters/FEMorphology.h: Ditto.
3066 * platform/graphics/filters/FEOffset.h: Ditto.
3067 * platform/graphics/filters/FilterEffect.cpp: Ditto.
3068 * platform/graphics/filters/FilterEffect.h: Ditto.
3069 * platform/graphics/transforms/AffineTransform.h: Ditto.
3070 * platform/graphics/transforms/TransformationMatrix.h: Ditto.
3071 * platform/image-decoders/ImageDecoder.cpp: Ditto.
3072 * platform/image-decoders/ImageDecoder.h: Ditto.
3073 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
3074 * platform/image-decoders/webp/WEBPImageDecoder.cpp: Ditto.
3075 * platform/mac/LocalCurrentGraphicsContext.h: Ditto.
3076 * platform/mac/LocalCurrentGraphicsContext.mm: Ditto.
3077 * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
3078 * svg/graphics/SVGImage.cpp: Ditto.
3079 * svg/graphics/SVGImage.h: Ditto.
3081 2013-04-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
3083 Assert in JSC::Heap::unprotect when closing facebook.com web site
3084 https://bugs.webkit.org/show_bug.cgi?id=115058
3086 Reviewed by Darin Adler.
3088 Grab a JSLock before calling RootObject::invalidate().
3090 * bindings/js/ScriptController.cpp:
3091 (WebCore::ScriptController::~ScriptController):
3093 2013-04-26 Eric Carlson <eric.carlson@apple.com>
3095 [Mac] in-band cues sometimes have incorrect duration
3096 https://bugs.webkit.org/show_bug.cgi?id=115200
3098 Reviewed by Jer Noble.
3100 No new tests, this is not possible to test in DRT.
3102 * html/track/InbandTextTrack.cpp:
3103 (WebCore::InbandTextTrack::addGenericCue): Don't add completed cues to the map.
3104 (WebCore::InbandTextTrack::removeGenericCue): Log when a cue is removed from the track.
3106 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3107 (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Initialize m_pendingCueStatus.
3108 (WebCore::InbandTextTrackPrivateAVF::processCue): Never call update() on a cue that is delivered
3110 (WebCore::InbandTextTrackPrivateAVF::beginSeeking): Flush all incomplete cues, remember that
3112 (WebCore::InbandTextTrackPrivateAVF::resetCueValues):
3113 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
3115 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3116 (WebCore::MediaPlayerPrivateAVFoundation::seek): Call track->beginSeeking() instead of resetCueValues().
3117 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Call track->endSeeking().
3119 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
3120 (WebCore::InbandTextTrackPrivateAVFObjC::kind): Include class name in Kind enum values to
3121 avoid compile error.
3123 2013-04-26 Andreas Kling <akling@apple.com>
3125 Remove wxWebKit from WebCore.
3126 <http://webkit.org/b/115255>
3128 Reviewed by Anders Carlsson.
3130 * DerivedSources.make:
3132 * bindings/js/JSInspectorFrontendHostCustom.cpp:
3133 (WebCore::JSInspectorFrontendHost::port):
3135 * html/HTMLFormElement.cpp:
3136 * platform/ContextMenu.h:
3138 * platform/ContextMenuItem.h:
3139 * platform/Cursor.h:
3140 * platform/DragData.h:
3141 * platform/DragImage.h:
3142 * platform/FileSystem.h:
3143 * platform/PlatformExportMacros.h:
3144 * platform/PlatformKeyboardEvent.h:
3145 (PlatformKeyboardEvent):
3146 * platform/PlatformMenuDescription.h:
3147 * platform/PlatformMouseEvent.h:
3148 (PlatformMouseEvent):
3149 * platform/PlatformWheelEvent.h:
3150 (PlatformWheelEvent):
3151 * platform/ScrollView.cpp:
3152 * platform/ScrollView.h:
3154 * platform/Widget.h:
3155 * platform/win/SharedTimerWin.cpp:
3157 2013-04-26 Zalan Bujtas <zalan@apple.com>
3159 use-after-free removing a frame from its parent in a beforeload event of an OBJECT element
3160 https://bugs.webkit.org/show_bug.cgi?id=113964
3162 Object elements have the tendecny to modify or even fully remove
3163 the containing Document inside beforeload callback. While Document is removed,
3164 RenderArena gets destroyed. Retained RenderWidgets fails to function with NULL arena.
3166 Protect RendereArena from getting wiped out, when Document is removed
3167 during FrameView::updateWidget().
3169 Reviewed by Antti Koivisto.
3171 Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
3174 (WebCore::Document::attach):
3177 * page/FrameView.cpp:
3178 (WebCore::FrameView::updateWidgets):
3179 * rendering/RenderArena.h:
3181 (WebCore::RenderArena::create):
3183 2013-04-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
3185 Optimize function and interface object length computation in bindings generator
3186 https://bugs.webkit.org/show_bug.cgi?id=115247
3188 Reviewed by Kentaro Hara.
3190 Introduce new GetFunctionLength() function that efficiently compute the length
3191 of a function (i.e. its number of mandatory parameters).
3193 We now call GetFunctionLength() instead of GenerateFunctionParametersCheck()
3194 whenever we care only interested in the function length and not the actual
3195 expression for checking the parameters. This is much more efficient as
3196 GenerateFunctionParametersCheck() does a lot more processing than we need in
3199 No new tests, no behavior change.
3201 * bindings/scripts/CodeGeneratorJS.pm:
3202 (GetFunctionLength):
3203 (GenerateImplementation):
3204 (GenerateConstructorHelperMethods):
3206 2013-04-26 Andreas Kling <akling@apple.com>
3208 Web Audio: Remove reduplicative addInput() in AnalyserNode.
3209 <http://webkit.org/b/115244>
3211 From Blink r149155 by <james.wei@intel.com>:
3213 The parent class BasicInspectorNode already called addInput() and addOutput().
3214 So it is reduplicative to call them in AnalyserNode.
3216 * Modules/webaudio/AnalyserNode.cpp:
3217 (WebCore::AnalyserNode::AnalyserNode):
3218 * Modules/webaudio/AudioBasicInspectorNode.cpp:
3219 (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
3220 * Modules/webaudio/AudioBasicInspectorNode.h:
3221 (AudioBasicInspectorNode):
3222 * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
3223 (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
3225 2013-04-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
3227 Mouseenter and mouseleave events not supported
3228 https://bugs.webkit.org/show_bug.cgi?id=18930
3230 Reviewed by David Hyatt.
3232 Implements mouseenter and mouseleave events from W3C DOM Level 3 Events.
3233 These event are already supported by all other major browsers.
3235 To avoid performance regressions the new events are only dispatched when
3236 there are event listeners for them.
3238 Tests: fast/events/mouseenter-mouseleave-capture.html
3239 fast/events/mouseenter-mouseleave.html
3241 * bindings/scripts/CodeGenerator.pm:
3243 (WebCore::Document::prepareMouseEvent):
3244 (WebCore::Document::updateHoverActiveState):
3251 * dom/EventListenerMap.cpp:
3252 (WebCore::EventListenerMap::containsCapturing):
3253 * dom/EventListenerMap.h:
3256 * dom/EventTarget.h:
3258 (WebCore::EventTarget::hasCapturingEventListeners):
3259 * dom/MouseEvent.cpp:
3260 (WebCore::MouseEvent::create):
3261 (WebCore::MouseEvent::toElement):
3262 (WebCore::MouseEvent::fromElement):
3263 * html/HTMLAttributeNames.in:
3264 * html/HTMLElement.cpp:
3265 (WebCore::HTMLElement::eventNameForAttributeName):
3268 * page/DOMWindow.idl:
3269 * svg/SVGElement.cpp:
3270 (WebCore::SVGElement::parseAttribute):
3271 * svg/SVGElementInstance.h:
3272 (SVGElementInstance):
3273 * svg/SVGElementInstance.idl:
3275 2013-04-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
3277 Add support for Web IDL partial interfaces to the bindings generator
3278 https://bugs.webkit.org/show_bug.cgi?id=115228
3280 Reviewed by Kentaro Hara.
3282 Add support for Web IDL partial interfaces to the bindings generator:
3283 http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface
3285 Also drop support for the the WebKit-specific [Supplemental] extended
3286 attribute and use partial interfaces instead in existing IDL files.
3288 No new tests, no behavior change.
3290 * Modules/battery/NavigatorBattery.idl:
3291 * Modules/filesystem/DOMWindowFileSystem.idl:
3292 * Modules/filesystem/DataTransferItemFileSystem.idl:
3293 * Modules/filesystem/HTMLInputElementFileSystem.idl:
3294 * Modules/filesystem/WorkerContextFileSystem.idl:
3295 * Modules/gamepad/NavigatorGamepad.idl:
3296 * Modules/geolocation/NavigatorGeolocation.idl:
3297 * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
3298 * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
3299 * Modules/mediastream/DOMWindowMediaStream.idl:
3300 * Modules/mediastream/NavigatorMediaStream.idl:
3301 * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
3302 * Modules/networkinfo/NavigatorNetworkInfoConnection.idl:
3303 * Modules/notifications/DOMWindowNotifications.idl:
3304 * Modules/notifications/WorkerContextNotifications.idl:
3305 * Modules/quota/DOMWindowQuota.idl:
3306 * Modules/quota/NavigatorStorageQuota.idl:
3307 * Modules/quota/WorkerNavigatorStorageQuota.idl:
3308 * Modules/speech/DOMWindowSpeech.idl:
3309 * Modules/speech/DOMWindowSpeechSynthesis.idl:
3310 * Modules/vibration/NavigatorVibration.idl:
3311 * Modules/webaudio/DOMWindowWebAudio.idl:
3312 * Modules/webdatabase/DOMWindowWebDatabase.idl:
3313 * Modules/webdatabase/WorkerContextWebDatabase.idl:
3314 * Modules/websockets/DOMWindowWebSocket.idl:
3315 * Modules/websockets/WorkerContextWebSocket.idl:
3316 * bindings/scripts/IDLAttributes.txt:
3317 * bindings/scripts/IDLParser.pm:
3318 (parsePartialDefinition):
3319 * bindings/scripts/generate-bindings.pl:
3320 * bindings/scripts/preprocess-idls.pl:
3321 (getPartialInterfaceNameFromIDLFile):
3322 * bindings/scripts/test/TestSupplemental.idl:
3323 * page/DOMWindowPagePopup.idl:
3325 2013-04-25 Mihnea Ovidenie <mihnea@adobe.com>
3327 [CSS Regions] Hit testing is broken for absolutely positioned regions that have overflow: hidden
3328 https://bugs.webkit.org/show_bug.cgi?id=113874
3330 Reviewed by David Hyatt.
3332 Test: fast/regions/hit-test-abspos-overflow-region.html
3334 When a region is an out-of-flow positioned object with an overflow clip, we need
3335 to make sure that hit testing works also for cases other than foreground (content)
3336 hit testing. This patch moves the previous hit testing code, that delegated foreground
3337 hit testing to the region's flow thread hit testing, into the hitTestContent method,
3338 now that RenderRegion is RenderBlock based.
3340 * rendering/RenderRegion.cpp:
3341 (WebCore::RenderRegion::hitTestContents):
3342 * rendering/RenderRegion.h:
3345 2013-04-25 Ryosuke Niwa <rniwa@webkit.org>
3347 Copy and paste can strip !important CSS rules due to a bug in mergeStyleFromRules
3348 https://bugs.webkit.org/show_bug.cgi?id=115217
3350 Reviewed by Darin Adler.
3352 The bug was caused by mergeStyleFromRules overriding "important" style rules with "unimportant" inline styles.
3353 Fixed the bug by using addParsedProperty, which respects !important, in MutableStylePropertySet's
3354 mergeAndOverrideOnConflict, which was only used in editing code. Now that we've fixed this function, we can use
3355 it in ViewportStyleResolver::addViewportRule as well.
3357 Test: editing/pasteboard/copy-paste-with-important-rules.html
3359 * css/StylePropertySet.cpp:
3360 (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict): Fixed to respect !important.
3361 * css/ViewportStyleResolver.cpp:
3362 (WebCore::ViewportStyleResolver::addViewportRule): Use mergeAndOverrideOnConflict now that the code is identical.
3364 2013-04-25 Andreas Kling <akling@apple.com>
3366 StylePropertySet::getPropertyShorthand() should return a String.
3367 <http://webkit.org/b/115213>
3369 Reviewed by Anders Carlsson.
3371 Return a String directly from getPropertyShorthand() instead of forcing clients
3372 to call getPropertyNameString().
3374 * css/PropertySetCSSStyleDeclaration.cpp:
3375 (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
3376 * css/StylePropertySet.cpp:
3377 (WebCore::StylePropertySet::getPropertyShorthand):
3378 * css/StylePropertySet.h:
3381 2013-04-25 Chris Fleizach <cfleizach@apple.com>
3383 WEB SPEECH: language support does not work as expected
3384 https://bugs.webkit.org/show_bug.cgi?id=115119
3386 Reviewed by Alexey Proskuryakov.
3388 Make the Mac platform synthesizer have access to all the voices installed on the system.
3391 * platform/mac/PlatformSpeechSynthesizerMac.mm:
3392 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
3393 * platform/mac/WebCoreSystemInterface.h:
3394 * platform/mac/WebCoreSystemInterface.mm:
3396 2013-04-25 Chris Fleizach <cfleizach@apple.com>
3398 <meter> element not exposed to accessibility
3399 https://bugs.webkit.org/show_bug.cgi?id=109023
3400 rdar://problem/13658964
3402 Reviewed by Tim Horton.
3404 Makes the <meter> element appear in the AX tree by reusing the
3405 AccessibilityProgressIndicator element to handle either progress or meter
3408 Test: accessibility/meter-element.html
3410 * accessibility/AXObjectCache.cpp:
3411 (WebCore::createFromRenderer):
3412 (WebCore::AXObjectCache::getOrCreate):
3413 * accessibility/AccessibilityNodeObject.cpp:
3414 (WebCore::AccessibilityNodeObject::canHaveChildren):
3415 (WebCore::AccessibilityNodeObject::visibleText):
3416 * accessibility/AccessibilityProgressIndicator.cpp:
3417 (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
3418 (WebCore::AccessibilityProgressIndicator::create):
3419 (WebCore::AccessibilityProgressIndicator::valueForRange):
3420 (WebCore::AccessibilityProgressIndicator::maxValueForRange):
3421 (WebCore::AccessibilityProgressIndicator::minValueForRange):
3422 (WebCore::AccessibilityProgressIndicator::progressElement):
3423 (WebCore::AccessibilityProgressIndicator::meterElement):
3424 * accessibility/AccessibilityProgressIndicator.h:
3425 (AccessibilityProgressIndicator):
3426 * accessibility/AccessibilityRenderObject.cpp:
3427 (WebCore::AccessibilityRenderObject::firstChild):
3428 (WebCore::AccessibilityRenderObject::lastChild):
3429 These methods are modified to handle when there is no rendered children, but there are Node
3430 children. The node children are desired when calculating text within a node, for example.
3432 2013-04-25 Qiankun Miao <qiankun.miao@intel.com>
3434 [CSS Shaders] Remove the meshType from the CustomFilterOperation
3435 https://bugs.webkit.org/show_bug.cgi?id=102529
3437 Reviewed by Dean Jackson.
3439 No new tests, no new functionality.
3441 MeshType can be accessed from program, so remove the m_meshType
3442 related code in CustomFilterOperation.
3444 * css/StyleResolver.cpp:
3445 (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3446 * platform/graphics/filters/CustomFilterOperation.cpp:
3447 (WebCore::CustomFilterOperation::CustomFilterOperation):
3448 (WebCore::CustomFilterOperation::blend):
3449 * platform/graphics/filters/CustomFilterOperation.h:
3450 (WebCore::CustomFilterOperation::create):
3451 (WebCore::CustomFilterOperation::meshType):
3452 (CustomFilterOperation):
3453 (WebCore::CustomFilterOperation::operator==):
3454 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h:
3455 (WebCore::CoordinatedCustomFilterOperation::CoordinatedCustomFilterOperation):
3457 2013-04-25 Kent Tamura <tkent@chromium.org>
3459 Ignore invalid regular expressions for input[pattern].
3460 https://bugs.webkit.org/show_bug.cgi?id=115204
3462 Reviewed by Darin Adler.
3464 According to the specification, we should not proceed regular expression
3465 matching if a pattern attribute value is an invalid regular
3466 expression. We had a bug that invalid expressions such as
3467 pattern=")foo(" made RegularExpression objects successfully.
3469 http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute
3470 > If an input element has a pattern attribute specified, and the
3471 > attribute's value, when compiled as a JavaScript regular expression with
3472 > the global, ignoreCase, and multiline flags disabled (see ECMA262
3473 > Edition 5, sections 15.10.7.2 through 15.10.7.4), compiles successfully,
3474 > then the resulting regular expression is the element's compiled pattern
3475 > regular expression. If the element has no such attribute, or if the
3476 > value doesn't compile successfully, then the element has no compiled
3477 > pattern regular expression.
3479 This imports a part of Blink r148951.
3481 Tests: Update fast/forms/ValidityState-patternMismatch.html
3483 * html/BaseTextInputType.cpp:
3484 (WebCore::BaseTextInputType::patternMismatch):
3485 Check correctness of pattern attribute value before wrapping with parentheses.
3486 * platform/text/RegularExpression.cpp:
3487 (WebCore::RegularExpression::isValid): Added.
3488 * platform/text/RegularExpression.h:
3489 (RegularExpression): Declare isValid.
3491 2013-04-25 Antoine Quint <graouts@apple.com>
3493 Glyphs may fail to render when using SVG font
3494 https://bugs.webkit.org/show_bug.cgi?id=115193
3496 Reviewed by Simon Fraser.
3498 Calling SimpleFontData::applyTransforms() when the font used is
3499 an SVG font makes little sense since Core Text doesn’t know or
3500 understand SVG fonts and would be passed some other, unrelated
3503 * platform/graphics/SimpleFontData.h:
3504 (WebCore::SimpleFontData::applyTransforms):
3506 2013-04-25 Jer Noble <jer.noble@apple.com>