3e7d01706c4f3fbd774041277b9408310fd1b7f4
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-05-01  Anders Carlsson  <andersca@apple.com>
2
3         Add FunctionDispatcher class and make RunLoop derive from it
4         https://bugs.webkit.org/show_bug.cgi?id=115480
5
6         Reviewed by Sam Weinig.
7
8         Change RunLoop to be a subclass of FunctionDispatcher.
9
10         * platform/RunLoop.h:
11         (RunLoop):
12
13 2013-05-01  Eric Carlson  <eric.carlson@apple.com>
14
15         HTMLMediaElement::updateActiveTextTrackCues can do unnecessary work
16         https://bugs.webkit.org/show_bug.cgi?id=81856
17
18         Reviewed by Jer Noble.
19
20         No new tests, covered by existing tests.
21
22         * html/HTMLMediaElement.h:
23         (WebCore::HTMLMediaElement::ignoreTrackDisplayUpdateRequests): Add an early return when there
24             is obviously no work to be done.
25
26 2013-04-30  Jer Noble  <jer.noble@apple.com>
27
28         Closed caption lines overlap
29         https://bugs.webkit.org/show_bug.cgi?id=115438
30         <rdar://problem/13351747>
31
32         Reviewed by Eric Carlson.
33
34         Take the line-box padding into account when determining line hight by setting
35         the -webkit-line-box-contain property to include 'inline-box'.
36
37         * css/mediaControls.css:
38         (video::-webkit-media-text-track-container):
39
40 2013-05-01  David Kilzer  <ddkilzer@apple.com>
41
42         BUILD FIX (r149410): CFRunLoopStop() doesn't know what to do with a RetainPtr<CFRunLoopRef>
43
44         Fixes the following build failure:
45
46             WebCore/platform/cf/RunLoopCF.cpp:82:5: error: no matching function for call to 'CFRunLoopStop'
47                 CFRunLoopStop(m_runLoop);
48                 ^~~~~~~~~~~~~
49
50         * platform/cf/RunLoopCF.cpp:
51         (WebCore::RunLoop::stop): Call RetainPtr::get().
52
53 2013-05-01  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
54
55         EventSource: Loss of reconnect time precision due to integer division
56         https://bugs.webkit.org/show_bug.cgi?id=115358
57
58         Make sure precision is not lost when converting the reconnect time from milliseconds to seconds.
59
60         Reviewed by Alexey Proskuryakov.
61
62         Test: http/tests/eventsource/eventsource-retry-precision.html
63
64         * page/EventSource.cpp:
65         (WebCore::EventSource::scheduleReconnect):
66
67 2013-05-01  Andreas Kling  <akling@apple.com>
68
69         REGRESSION(r149287): Assertion failure in fast/frames/flattening/iframe-flattening-crash.html
70         <http://webkit.org/b/115386>
71         <rdar://problem/13769995>
72
73         Reviewed by Antti Koivisto.
74
75         Only send synchronous resize events for the main frame. Subframes change size during layout,
76         so it never really makes sense for them to use synchronous dispatch anyway.
77
78         * page/FrameView.cpp:
79         (WebCore::FrameView::dispatchResizeEvent):
80
81 2013-05-01  Csaba Osztrogonác  <ossy@webkit.org>
82
83         Unreviewed trivial buildfix after r149432.
84
85         * testing/Internals.cpp:
86         (WebCore):
87
88 2013-05-01  Sergio Villar Senin  <svillar@igalia.com>
89
90         Show a block cursor in overtype mode
91         https://bugs.webkit.org/show_bug.cgi?id=114819
92
93         Reviewed by Ryosuke Niwa.
94
95         Test: editing/selection/block-cursor-overtype-mode.html
96
97         Overtype mode will use block cursor instead of a caret to
98         highlight the next character to be replaced. It will fully cover
99         the next character to be replaced (except at the end of a line
100         where the usual blinking caret will be shown).
101
102         This new block cursor is internally implemented as a selection
103         (not exposed to JavaScript) because the selection code knows how
104         to deal with bidi text.
105
106         * WebCore.exp.in: Export symbols for testing purposes.
107         * WebCore.order: Ditto.
108         * editing/Editor.cpp:
109         (WebCore::Editor::toggleOverwriteModeEnabled): Added a call to
110         FrameLoader::setShouldShowBlockCursor.
111         (WebCore):
112         * editing/Editor.h:
113         (Editor):
114         * editing/FrameSelection.cpp:
115         (WebCore::FrameSelection::FrameSelection):
116         (WebCore::FrameSelection::updateAppearance): Use a 1-character
117         long selection to paint the cursor in overtype mode.
118         (WebCore::FrameSelection::setShouldShowBlockCursor):
119         (WebCore):
120         * editing/FrameSelection.h:
121         (WebCore::FrameSelection::shouldShowBlockCursor):
122         (FrameSelection):
123         * testing/Internals.cpp:
124         (WebCore):
125         (WebCore::Internals::selectionBounds): Added a new method which
126         returns the IntRect issued by FrameSelection::bounds().
127         * testing/Internals.h: Ditto.
128         * testing/Internals.idl: Ditto.
129
130 2013-04-30  Darin Adler  <darin@apple.com>
131
132         [Mac] Remove adoptNS/retain pairs, since the two cancel each other out
133         https://bugs.webkit.org/show_bug.cgi?id=115426
134
135         Reviewed by Anders Carlsson.
136
137         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
138         (PlatformCAAnimation::PlatformCAAnimation):
139         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
140         (PlatformCAFilters::filterValueForOperation):
141         * platform/network/mac/ResourceResponseMac.mm:
142         (WebCore::ResourceResponse::nsURLResponse):
143         Remove adoptNS and release from code that is doing both.
144
145 2013-04-29  Sam Weinig  <sam@webkit.org>
146
147         Add API to allow WebKit2 banners to get mouse events
148         https://bugs.webkit.org/show_bug.cgi?id=115395
149
150         Reviewed by Beth Dakin.
151
152         * WebCore.exp.in:
153         * platform/ScrollView.cpp:
154         (WebCore::ScrollView::rootViewToTotalContents):
155         * platform/ScrollView.h:
156         Add and expose rootViewToTotalContents().
157
158 2013-04-30  Anders Carlsson  <andersca@apple.com>
159
160         Make RunLoop ref-counted
161         https://bugs.webkit.org/show_bug.cgi?id=115384
162
163         Reviewed by Benjamin Poulain.
164
165         Add a RunLoop::Holder class which creates and holds the ref-counted RunLoop object.
166
167         * platform/RunLoop.cpp:
168         (RunLoop::Holder):
169         (WebCore::RunLoop::Holder::Holder):
170         (WebCore::RunLoop::Holder::runLoop):
171         (WebCore::RunLoop::current):
172         * platform/RunLoop.h:
173
174 2013-04-30  Anders Carlsson  <andersca@apple.com>
175
176         Clean up RunLoop code
177         https://bugs.webkit.org/show_bug.cgi?id=115454
178
179         Reviewed by Andreas Kling.
180
181         Delete a couple of functions from RunLoopCF.cpp and just use the generic ones in RunLoop.cpp,
182         use RetainPtr instead of manual retain/release. Always use an AutoreleasePool when calling performWork or timers.
183
184         * platform/RunLoop.cpp:
185         (WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop):
186         (WebCore):
187         * platform/RunLoop.h:
188         (TimerBase):
189         (RunLoop):
190         * platform/cf/RunLoopCF.cpp:
191         (WebCore::RunLoop::performWork):
192         (WebCore::RunLoop::RunLoop):
193         (WebCore::RunLoop::~RunLoop):
194         (WebCore::RunLoop::wakeUp):
195         (WebCore::RunLoop::TimerBase::timerFired):
196         (WebCore::RunLoop::TimerBase::TimerBase):
197         (WebCore::RunLoop::TimerBase::start):
198         (WebCore::RunLoop::TimerBase::stop):
199         (WebCore::RunLoop::TimerBase::isActive):
200         * platform/mac/RunLoopMac.mm:
201         (WebCore::RunLoop::run):
202         (WebCore::RunLoop::stop):
203
204 2013-04-30  David Hyatt  <hyatt@apple.com>
205
206         <button> ignores margin-bottom.
207         https://bugs.webkit.org/show_bug.cgi?id=114940
208         
209         Reviewed by Beth Dakin.
210
211         Make sure that the inner block inside the <button> (flexbox) acts like it
212         establishes a block formatting context, i.e., it should refuse to collapse
213         its margins with its children. This causes margins to stay inside the <button>
214         and be honored, adding to the button's overall height.
215         
216         Basically we have to remove the restriction that anonymous blocks can't be
217         BFCs on the bottom margin.
218
219         Added fast/forms/content-with-margins-inside-button.html
220
221         * rendering/RenderBlock.cpp:
222         (WebCore::RenderBlock::handleAfterSideOfBlock):
223
224 2013-04-30  Andrei Bucur  <abucur@adobe.com>
225
226         Cleanup HTMLOListElement<->RenderListItem bridge
227         https://bugs.webkit.org/show_bug.cgi?id=115434
228
229         Reviewed by Darin Adler.
230
231         Refactor the way HTMLOListElement is accessing its list items. Instead
232         of exposing the nextListItem function, wrap the desiredfunctionality
233         in static methods on RenderListItem. This should make the code more readable.
234         I've also added more constness to some functions in RenderListItem.
235
236         Tests: No new tests, just refactoring.
237
238         * html/HTMLOListElement.cpp:
239         (WebCore::HTMLOListElement::updateItemValues): Use updateItemValuesForOrderedList.
240         (WebCore::HTMLOListElement::recalculateItemCount): Use itemCountForOrderedList.
241         * rendering/RenderListItem.cpp:
242         (WebCore::isList): Add more constness.
243         (WebCore::nextListItem): Make local to the CPP and add constness.
244         (WebCore::previousListItem): Add constness.
245         (WebCore::RenderListItem::updateItemValuesForOrderedList): Called by OL elements.
246         (WebCore::RenderListItem::itemCountForOrderedList): Called by OL elements.
247         (WebCore::previousOrNextItem):
248         * rendering/RenderListItem.h: Add updateItemValuesForOrderedList and itemCountForOrderedList.
249
250 2013-04-30  Anders Carlsson  <andersca@apple.com>
251
252         More StorageTracker cleanup
253         https://bugs.webkit.org/show_bug.cgi?id=115435
254
255         Reviewed by Andreas Kling.
256
257         Use bind instead of "onMainThread" helper functions.
258
259         * storage/StorageAreaSync.cpp:
260         (WebCore::StorageAreaSync::deleteEmptyDatabase):
261         * storage/StorageTracker.cpp:
262         (WebCore::StorageTracker::syncImportOriginIdentifiers):
263         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
264         (WebCore::StorageTracker::deleteOriginWithIdentifier):
265         * storage/StorageTracker.h:
266         (StorageTracker):
267
268 2013-04-30  Geoffrey Garen  <ggaren@apple.com>
269
270         Objective-C JavaScriptCore API should publicly support bridging to C
271         https://bugs.webkit.org/show_bug.cgi?id=115447
272
273         Reviewed by Mark Hahnenberg.
274
275         * bindings/js/ScriptControllerMac.mm:
276         (WebCore::ScriptController::javaScriptContext):
277         * bindings/objc/WebScriptObject.mm:
278         (-[WebScriptObject JSValue]):
279
280 2013-04-30  Simon Fraser  <simon.fraser@apple.com>
281
282         Fix an issue with JSPerformance.cpp in the WebCore.xcodeproj where
283         it was being recognized as a diretory rather than a file, introduced
284         in r149359.
285         
286         * WebCore.xcodeproj/project.pbxproj:
287
288 2013-04-30  Beth Dakin  <bdakin@apple.com>
289
290         Page::pageCount() is inaccurate when we allow the first paint in App Mode
291         https://bugs.webkit.org/show_bug.cgi?id=115442
292         -and corresponding-
293         <rdar://problem/13758445>
294
295         Reviewed by Dave Hyatt.
296
297         We should set the height here all the time, even if it is the first layout.
298         * rendering/RenderBlock.cpp:
299         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
300
301 2013-04-30  Andreas Kling  <akling@apple.com>
302
303         Don't create StyleResolvers just to invalidate them.
304         <http://webkit.org/b/115436>
305
306         Reviewed by Geoffrey Garen.
307
308         Renamed Document::styleResolver() to ensureStyleResolver() so it's clear that it never returns null.
309         Removed a bunch of unnecessary null-checks I spotted while doing this.
310
311         Also fixed Element::willModifyAttribute() and FrameView::setFrameRect() to not create a StyleResolver
312         and immediately invalidate it in some cases.
313
314         * css/FontLoader.cpp:
315         (WebCore::FontLoader::loadFont):
316         (WebCore::FontLoader::checkFont):
317         (WebCore::FontLoader::resolveFontStyle):
318         * css/MediaQueryMatcher.cpp:
319         (WebCore::MediaQueryMatcher::prepareEvaluator):
320         * css/StyleMedia.cpp:
321         (WebCore::StyleMedia::matchMedium):
322         * dom/Document.cpp:
323         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
324         (WebCore::Document::styleForPage):
325         * dom/Document.h:
326         (WebCore::Document::ensureStyleResolver):
327         * dom/DocumentStyleSheetCollection.cpp:
328         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
329         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
330         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
331         * dom/Element.cpp:
332         (WebCore::StyleResolverParentPusher::push):
333         (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
334         (WebCore::Element::styleForRenderer):
335         (WebCore::Element::recalcStyle):
336         (WebCore::Element::willModifyAttribute):
337         * dom/NodeRenderingContext.cpp:
338         (WebCore::NodeRenderingContext::createRendererForTextIfNeeded):
339         * dom/ShadowRoot.cpp:
340         (WebCore::ShadowRoot::recalcStyle):
341         (WebCore::ShadowRoot::attach):
342         * dom/Text.cpp:
343         (WebCore::Text::recalcTextStyle):
344         * editing/EditingStyle.cpp:
345         (WebCore::styleFromMatchedRulesForElement):
346         * html/HTMLCanvasElement.cpp:
347         * html/HTMLCanvasElement.h:
348         * html/HTMLInputElement.cpp:
349         (WebCore::HTMLInputElement::customStyleForRenderer):
350         * html/HTMLOptGroupElement.cpp:
351         (WebCore::HTMLOptGroupElement::updateNonRenderStyle):
352         * html/HTMLOptionElement.cpp:
353         (WebCore::HTMLOptionElement::updateNonRenderStyle):
354         * html/HTMLPlugInImageElement.cpp:
355         (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
356         * html/canvas/CanvasRenderingContext2D.cpp:
357         (WebCore::CanvasRenderingContext2D::setFont):
358         * html/shadow/DateTimeEditElement.cpp:
359         (WebCore::DateTimeEditElement::customStyleForRenderer):
360         * inspector/InspectorCSSAgent.cpp:
361         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
362         * page/DOMWindow.cpp:
363         (WebCore::DOMWindow::getMatchedCSSRules):
364         * page/FrameView.cpp:
365         (WebCore::FrameView::setFrameRect):
366         * page/animation/KeyframeAnimation.cpp:
367         (WebCore::KeyframeAnimation::KeyframeAnimation):
368         * rendering/RenderListBox.cpp:
369         (WebCore::RenderListBox::updateFromElement):
370         (WebCore::RenderListBox::paintItemForeground):
371         * rendering/RenderMenuList.cpp:
372         (WebCore::RenderMenuList::fontSelector):
373         * rendering/RenderObject.cpp:
374         (WebCore::RenderObject::getUncachedPseudoStyle):
375         * rendering/RenderRegion.cpp:
376         (WebCore::RenderRegion::checkRegionStyle):
377         (WebCore::RenderRegion::computeStyleInRegion):
378         * rendering/RenderSearchField.cpp:
379         (WebCore::RenderSearchField::fontSelector):
380         * rendering/svg/RenderSVGInlineText.cpp:
381         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
382         * svg/SVGElement.cpp:
383         (WebCore::SVGElement::customStyleForRenderer):
384         * svg/SVGElementRareData.h:
385         (WebCore::SVGElementRareData::overrideComputedStyle):
386
387 2013-04-30  Simon Fraser  <simon.fraser@apple.com>
388
389         Cap max CALayer tree depth to avoid crashes
390         https://bugs.webkit.org/show_bug.cgi?id=115431
391         <rdar://problem/13401861>
392
393         Reviewed by Tim Horton.
394         
395         Core Animation can crash if fed deeply nested layer trees.
396         Avoid this by capping CALayer tree depth at some empirically-determined
397         level.
398
399         Test: compositing/layer-creation/deep-tree.html
400
401         * platform/graphics/ca/GraphicsLayerCA.h:
402         (WebCore::GraphicsLayerCA::CommitState::CommitState): Add treeDepth to the CommitState.
403         * platform/graphics/ca/GraphicsLayerCA.cpp: Set cMaxLayerTreeDepth to 250
404         (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly): We need a dummy CommitState
405         here. It is not expected that flushCompositingStateForThisLayerOnly() will be called for
406         a layer in the middle of the hierarchy, only for custom-managed leaf layers, so we don't try
407         to compute the correct tree depth.
408         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass in the commitState. Since this is
409         copied for each frame, no need to decrement commitState.treeDepth.
410         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Increment treeDepth once or
411         twice. If we've reached max, be sure to set the ChildrenChanged flag. We delay tree truncation
412         until commitLayerChangesAfterSublayers() since ChildrenChanged can be set again when children
413         are being processed.
414         (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers):
415         (WebCore::GraphicsLayerCA::updateSublayerList): If we've hit max depth, just set
416         empty sublayers.
417
418 2013-04-30  Darin Adler  <darin@apple.com>
419
420         Formatting tweaks
421         https://bugs.webkit.org/show_bug.cgi?id=115427
422
423         Reviewed by Andreas Kling.
424
425         * platform/graphics/cg/GraphicsContext3DCG.cpp:
426         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): Fixed indenting to match
427         normal WebKit style.
428
429         * platform/mac/ScrollAnimatorMac.mm:
430         (WebCore::ScrollAnimatorMac::pinnedInDirection): Removed an excess "+" that is harmless
431         but strange.
432
433         * platform/mac/SharedBufferMac.mm: Tweaked blank lines for better paragraphing.
434
435 2013-04-30  Ryosuke Niwa  <rniwa@webkit.org>
436
437         Simplify ContainerNode::removeChildren
438         https://bugs.webkit.org/show_bug.cgi?id=115398
439
440         Reviewed by Andreas Kling.
441
442         Back port https://chromium.googlesource.com/chromium/blink/+/b981f01cd065236b5ff7e3a8446d15b384c1b557
443         by Andrei Bucur, which includes both this and his r148754.
444
445         * dom/ContainerNode.cpp:
446         (WebCore::ContainerNode::removeChildren):
447
448 2013-04-30  Carlos Garcia Campos  <cgarcia@igalia.com>
449
450         [SOUP] Move default buffer handling from ResourceHandleClient to ResourceHandlesoup
451         https://bugs.webkit.org/show_bug.cgi?id=115364
452
453         Reviewed by Martin Robinson.
454
455         ResourceHandleClient that is cross-platform file is not the right
456         place for the default ResourceHandle read buffer. We can make
457         getBuffer return 0 by default and handle it in ResourceHandleSoup,
458         creating a default buffer when the client doesn't provide one.
459
460         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
461         (StreamingClient::getOrCreateReadBuffer): Adapt to API change.
462         * platform/network/ResourceHandle.h:
463         (ResourceHandle): Add ensureReadBuffer().
464         * platform/network/ResourceHandleClient.cpp:
465         (WebCore::ResourceHandleClient::~ResourceHandleClient): Remove
466         soup specific code.
467         * platform/network/ResourceHandleClient.h:
468         (WebCore::ResourceHandleClient::getOrCreateReadBuffer): Rename
469         getBuffer() as getOrCreateReadBuffer() and use a reference for the
470         out parameter instead of a pointer.
471         (ResourceHandleClient): Remove soup specific code.
472         * platform/network/ResourceHandleInternal.h:
473         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Rename
474         m_buffer and m_bufferSize as m_readBufferPtr and m_readBufferSize
475         and add m_readBuffer to be used as default read buffer.
476         * platform/network/soup/ResourceHandleSoup.cpp:
477         (WebCore::ResourceHandle::ensureReadBuffer): Helper function to
478         make usre we have a read buffer before a read operation. It first
479         checks if the client provides a buffer and if it doesn't it
480         creates or reuses the default buffer.
481         (WebCore::redirectSkipCallback): Call ensureReadBuffer() and adapt
482         to variable name changes.
483         (WebCore::cleanupSoupRequestOperation): Adapt to variable name
484         changes.
485         (WebCore::nextMultipartResponsePartCallback): Call
486         ensureReadBuffer() and adapt to variable name changes.
487         (WebCore::sendRequestCallback): Ditto.
488         (WebCore::readCallback): Ditto.
489
490 2013-04-30  Andreas Kling  <akling@apple.com>
491
492         REGRESSION(r149287): Assertion failure in fast/frames/flattening/iframe-flattening-crash.html
493         <http://webkit.org/b/115386>
494         <rdar://problem/13769995>
495
496         Reviewed by Darin Adler.
497
498         Put the resize event on the Document's event queue if it happens while layout is in progress.
499         This avoids re-entering layout while laying out flattened subframes.
500
501         Also move the little logic for the resize event from EventHandler to FrameView (the only client.)
502
503         * page/EventHandler.cpp:
504         * page/EventHandler.h:
505         * page/FrameView.cpp:
506         (WebCore::FrameView::dispatchResizeEvent):
507
508 2013-04-30  Anders Carlsson  <andersca@apple.com>
509
510         Fix build.
511
512         * WebCore.exp.in:
513         * storage/StorageTracker.h:
514         (StorageTracker):
515
516 2013-04-30  Anders Carlsson  <andersca@apple.com>
517
518         More StorageTracker cleanup
519         https://bugs.webkit.org/show_bug.cgi?id=115429
520
521         Reviewed by Andreas Kling.
522
523         Make a bunch of member functions private, and remove StorageTracker::syncLocalStorage.
524
525         * WebCore.exp.in:
526         * storage/StorageTracker.cpp:
527         * storage/StorageTracker.h:
528         (StorageTracker):
529
530 2013-04-30  Andreas Kling  <akling@apple.com>
531
532         REGRESSION(r149313) Crash at WebCore::FrameView::setFrameRect() when navigating back to previous page while find banner is displayed.
533         <http://webkit.org/b/115421>
534         <rdar://problem/13765739>
535
536         Reviewed by Antti Koivisto.
537
538         Add missing null-checks for Document and StyleResolver when re-evaluating media queries due to viewport changes.
539
540         No layout test, since we can't show the find banner from WebCore, and I can't think of another way to
541         trigger a back navigation to a Document-less Frame that would also change the FrameView's size.
542
543         * page/FrameView.cpp:
544         (WebCore::FrameView::setFrameRect):
545
546 2013-04-30  Glenn Adams  <glenn@skynav.com>
547
548         The bison grammar for @supports should return 0 in case of an error
549         https://bugs.webkit.org/show_bug.cgi?id=115402
550
551         Reviewed by Darin Adler.
552
553         Back ported from https://chromium.googlesource.com/chromium/blink/+/74399c27c8b93286bae03a1d6371735935b34d85.
554
555         Test: css3/supports-crash.html
556
557         * css/CSSGrammar.y.in:
558
559 2013-04-30  Darin Adler  <darin@apple.com>
560
561         [CG] Over-release in MIME type registry code
562         https://bugs.webkit.org/show_bug.cgi?id=115423
563
564         Reviewed by Eric Carlson.
565
566         Sam Weinig spotted these by code inspection. I don't know how to make a test demonstrating
567         the problem, but this is clearly an over-release.
568
569         * platform/MIMETypeRegistry.cpp:
570         (WebCore::initializeSupportedImageMIMETypes): Removed incorrect adoptCF call on a string we
571         are getting from a CFArray.
572         (WebCore::initializeSupportedImageMIMETypesForEncoding): Ditto.
573
574 2013-04-30  Mike Lattanzio  <mlattanzio@blackberry.com>
575
576         [BlackBerry] ImageBuffer::copyImage leaking memory
577         https://bugs.webkit.org/show_bug.cgi?id=115359
578
579         Reviewed by George Staikos.
580
581         Use a WebCore::Vector to ensure the temporary data is destroyed.
582         The TiledImage does not take ownership of the data.
583
584         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
585         (WebCore::ImageBuffer::copyImage):
586
587 2013-04-30  Noam Rosenthal  <noam@webkit.org>
588
589         [Texmap] Avoid using overlap/non-overlap region in cases where the overhead is bigger than the gain
590         https://bugs.webkit.org/show_bug.cgi?id=115226
591
592         Reviewed by Allan Sandfeld Jensen.
593
594         When there are several fragmeneted overlap regions, or when the overlap region is bigger than the
595         non-overlap region, it's more efficient to have a single intermediate surface rather than split
596         the rendering to overlap/non-overlap.
597
598         Covered by tests in compositing/overlap-blending.
599
600         * platform/graphics/texmap/TextureMapperLayer.cpp:
601         (WebCore::TextureMapperLayer::shouldBlend):
602             Readability fix.
603
604         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
605             Consolidate to one overlap rect when one of the following occurs:
606             - The overlap region's area is larger than the non-overlap region area.
607             - There are many fragmented overlap regions and no non-overlap regions.
608
609 2013-04-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
610
611         Stop using "in" keyword in IDL files
612         https://bugs.webkit.org/show_bug.cgi?id=115418
613
614         Reviewed by Kentaro Hara.
615
616         Stop using "in" keyword in IDL files as this is no longer part of the
617         Web IDL specification and it brings no additional information.
618
619         For now, the IDL parser will still accept the "in" keyword for operation
620         argument to not break anything. However, we should remove support for it
621         later on.
622
623         No new tests, no behavior change.
624
625         * Modules/battery/BatteryManager.idl:
626         * Modules/encryptedmedia/MediaKeySession.idl:
627         * Modules/encryptedmedia/MediaKeys.idl:
628         * Modules/filesystem/DOMWindowFileSystem.idl:
629         * Modules/filesystem/DirectoryEntry.idl:
630         * Modules/filesystem/DirectoryEntrySync.idl:
631         * Modules/filesystem/DirectoryReader.idl:
632         * Modules/filesystem/EntriesCallback.idl:
633         * Modules/filesystem/Entry.idl:
634         * Modules/filesystem/EntryArray.idl:
635         * Modules/filesystem/EntryArraySync.idl:
636         * Modules/filesystem/EntryCallback.idl:
637         * Modules/filesystem/EntrySync.idl:
638         * Modules/filesystem/ErrorCallback.idl:
639         * Modules/filesystem/FileCallback.idl:
640         * Modules/filesystem/FileEntry.idl:
641         * Modules/filesystem/FileSystemCallback.idl:
642         * Modules/filesystem/FileWriter.idl:
643         * Modules/filesystem/FileWriterCallback.idl:
644         * Modules/filesystem/FileWriterSync.idl:
645         * Modules/filesystem/MetadataCallback.idl:
646         * Modules/filesystem/WorkerContextFileSystem.idl:
647         * Modules/gamepad/GamepadList.idl:
648         * Modules/geolocation/Geolocation.idl:
649         * Modules/geolocation/PositionCallback.idl:
650         * Modules/geolocation/PositionErrorCallback.idl:
651         * Modules/indexeddb/IDBCursor.idl:
652         * Modules/indexeddb/IDBDatabase.idl:
653         * Modules/indexeddb/IDBFactory.idl:
654         * Modules/indexeddb/IDBIndex.idl:
655         * Modules/indexeddb/IDBKeyRange.idl:
656         * Modules/indexeddb/IDBObjectStore.idl:
657         * Modules/indexeddb/IDBRequest.idl:
658         * Modules/indexeddb/IDBTransaction.idl:
659         * Modules/mediasource/MediaSource.idl:
660         * Modules/mediasource/SourceBuffer.idl:
661         * Modules/mediasource/SourceBufferList.idl:
662         * Modules/mediastream/MediaStream.idl:
663         * Modules/mediastream/MediaStreamTrack.idl:
664         * Modules/mediastream/NavigatorMediaStream.idl:
665         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
666         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
667         * Modules/mediastream/RTCDTMFSender.idl:
668         * Modules/mediastream/RTCDataChannel.idl:
669         * Modules/mediastream/RTCErrorCallback.idl:
670         * Modules/mediastream/RTCIceCandidate.idl:
671         * Modules/mediastream/RTCPeerConnection.idl:
672         * Modules/mediastream/RTCSessionDescription.idl:
673         * Modules/mediastream/RTCSessionDescriptionCallback.idl:
674         * Modules/mediastream/RTCStatsCallback.idl:
675         * Modules/mediastream/RTCStatsReport.idl:
676         * Modules/mediastream/RTCStatsResponse.idl:
677         * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
678         * Modules/networkinfo/NetworkInfoConnection.idl:
679         * Modules/notifications/Notification.idl:
680         * Modules/notifications/NotificationCenter.idl:
681         * Modules/notifications/NotificationPermissionCallback.idl:
682         * Modules/quota/StorageErrorCallback.idl:
683         * Modules/quota/StorageInfo.idl:
684         * Modules/quota/StorageQuota.idl:
685         * Modules/quota/StorageQuotaCallback.idl:
686         * Modules/quota/StorageUsageCallback.idl:
687         * Modules/speech/SpeechGrammarList.idl:
688         * Modules/speech/SpeechRecognition.idl:
689         * Modules/speech/SpeechRecognitionResult.idl:
690         * Modules/speech/SpeechRecognitionResultList.idl:
691         * Modules/speech/SpeechSynthesisUtterance.idl:
692         * Modules/vibration/NavigatorVibration.idl:
693         * Modules/webaudio/AnalyserNode.idl:
694         * Modules/webaudio/AudioBuffer.idl:
695         * Modules/webaudio/AudioBufferCallback.idl:
696         * Modules/webaudio/AudioBufferSourceNode.idl:
697         * Modules/webaudio/AudioContext.idl:
698         * Modules/webaudio/AudioListener.idl:
699         * Modules/webaudio/AudioNode.idl:
700         * Modules/webaudio/AudioParam.idl:
701         * Modules/webaudio/BiquadFilterNode.idl:
702         * Modules/webaudio/OfflineAudioContext.idl:
703         * Modules/webaudio/OscillatorNode.idl:
704         * Modules/webaudio/PannerNode.idl:
705         * Modules/webdatabase/DOMWindowWebDatabase.idl:
706         * Modules/webdatabase/Database.idl:
707         * Modules/webdatabase/DatabaseCallback.idl:
708         * Modules/webdatabase/DatabaseSync.idl:
709         * Modules/webdatabase/SQLResultSetRowList.idl:
710         * Modules/webdatabase/SQLStatementCallback.idl:
711         * Modules/webdatabase/SQLStatementErrorCallback.idl:
712         * Modules/webdatabase/SQLTransaction.idl:
713         * Modules/webdatabase/SQLTransactionCallback.idl:
714         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
715         * Modules/webdatabase/SQLTransactionSync.idl:
716         * Modules/webdatabase/SQLTransactionSyncCallback.idl:
717         * Modules/webdatabase/WorkerContextWebDatabase.idl:
718         * Modules/websockets/WebSocket.idl:
719         * bindings/scripts/test/TestCallback.idl:
720         * bindings/scripts/test/TestCustomNamedGetter.idl:
721         * bindings/scripts/test/TestDomainSecurity.idl:
722         * bindings/scripts/test/TestEventTarget.idl:
723         * bindings/scripts/test/TestInterface.idl:
724         * bindings/scripts/test/TestMediaQueryListListener.idl:
725         * bindings/scripts/test/TestNamedConstructor.idl:
726         * bindings/scripts/test/TestObj.idl:
727         * bindings/scripts/test/TestOverloadedConstructors.idl:
728         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
729         * bindings/scripts/test/TestSupplemental.idl:
730         * bindings/scripts/test/TestTypedArray.idl:
731         * bindings/scripts/test/TestTypedefs.idl:
732         * css/CSSHostRule.idl:
733         * css/CSSMediaRule.idl:
734         * css/CSSPrimitiveValue.idl:
735         * css/CSSRuleList.idl:
736         * css/CSSStyleDeclaration.idl:
737         * css/CSSStyleSheet.idl:
738         * css/CSSSupportsRule.idl:
739         * css/CSSValueList.idl:
740         * css/FontLoader.idl:
741         * css/MediaList.idl:
742         * css/MediaQueryList.idl:
743         * css/MediaQueryListListener.idl:
744         * css/StyleMedia.idl:
745         * css/StyleSheetList.idl:
746         * css/WebKitCSSKeyframesRule.idl:
747         * css/WebKitCSSMatrix.idl:
748         * dom/CharacterData.idl:
749         * dom/ClientRectList.idl:
750         * dom/Clipboard.idl:
751         * dom/CompositionEvent.idl:
752         * dom/CustomEvent.idl:
753         * dom/DOMImplementation.idl:
754         * dom/DOMNamedFlowCollection.idl:
755         * dom/DOMStringList.idl:
756         * dom/DataTransferItem.idl:
757         * dom/DataTransferItemList.idl:
758         * dom/DeviceMotionEvent.idl:
759         * dom/DeviceOrientationEvent.idl:
760         * dom/Document.idl:
761         * dom/DocumentFragment.idl:
762         * dom/Element.idl:
763         * dom/Event.idl:
764         * dom/EventListener.idl:
765         * dom/EventTarget.idl:
766         * dom/HashChangeEvent.idl:
767         * dom/KeyboardEvent.idl:
768         * dom/MessageEvent.idl:
769         * dom/MessagePort.idl:
770         * dom/MouseEvent.idl:
771         * dom/MutationEvent.idl:
772         * dom/MutationObserver.idl:
773         * dom/NamedNodeMap.idl:
774         * dom/Node.idl:
775         * dom/NodeFilter.idl:
776         * dom/NodeList.idl:
777         * dom/OverflowEvent.idl:
778         * dom/PropertyNodeList.idl:
779         * dom/Range.idl:
780         * dom/RequestAnimationFrameCallback.idl:
781         * dom/ShadowRoot.idl:
782         * dom/StringCallback.idl:
783         * dom/Text.idl:
784         * dom/TextEvent.idl:
785         * dom/TouchEvent.idl:
786         * dom/TouchList.idl:
787         * dom/UIEvent.idl:
788         * dom/WebKitNamedFlow.idl:
789         * dom/WheelEvent.idl:
790         * fileapi/Blob.idl:
791         * fileapi/FileList.idl:
792         * fileapi/FileReader.idl:
793         * fileapi/FileReaderSync.idl:
794         * html/DOMFormData.idl:
795         * html/DOMTokenList.idl:
796         * html/DOMURL.idl:
797         * html/HTMLAllCollection.idl:
798         * html/HTMLAudioElement.idl:
799         * html/HTMLButtonElement.idl:
800         * html/HTMLCanvasElement.idl:
801         * html/HTMLCollection.idl:
802         * html/HTMLDocument.idl:
803         * html/HTMLElement.idl:
804         * html/HTMLFieldSetElement.idl:
805         * html/HTMLFormControlsCollection.idl:
806         * html/HTMLInputElement.idl:
807         * html/HTMLKeygenElement.idl:
808         * html/HTMLMediaElement.idl:
809         * html/HTMLObjectElement.idl:
810         * html/HTMLOptionElement.idl:
811         * html/HTMLOptionsCollection.idl:
812         * html/HTMLOutputElement.idl:
813         * html/HTMLPropertiesCollection.idl:
814         * html/HTMLSelectElement.idl:
815         * html/HTMLTableElement.idl:
816         * html/HTMLTableRowElement.idl:
817         * html/HTMLTableSectionElement.idl:
818         * html/HTMLTextAreaElement.idl:
819         * html/MediaController.idl:
820         * html/TimeRanges.idl:
821         * html/canvas/ArrayBuffer.idl:
822         * html/canvas/CanvasGradient.idl:
823         * html/canvas/CanvasRenderingContext2D.idl:
824         * html/canvas/DOMPath.idl:
825         * html/canvas/DataView.idl:
826         * html/canvas/EXTDrawBuffers.idl:
827         * html/canvas/Float32Array.idl:
828         * html/canvas/Float64Array.idl:
829         * html/canvas/Int16Array.idl:
830         * html/canvas/Int32Array.idl:
831         * html/canvas/Int8Array.idl:
832         * html/canvas/OESVertexArrayObject.idl:
833         * html/canvas/Uint16Array.idl:
834         * html/canvas/Uint32Array.idl:
835         * html/canvas/Uint8Array.idl:
836         * html/canvas/Uint8ClampedArray.idl:
837         * html/canvas/WebGLDebugShaders.idl:
838         * html/canvas/WebGLRenderingContext.idl:
839         * html/track/AudioTrackList.idl:
840         * html/track/TextTrack.idl:
841         * html/track/TextTrackCue.idl:
842         * html/track/TextTrackCueList.idl:
843         * html/track/TextTrackList.idl:
844         * html/track/TextTrackRegionList.idl:
845         * html/track/VideoTrackList.idl:
846         * inspector/InjectedScriptHost.idl:
847         * inspector/InspectorFrontendHost.idl:
848         * inspector/JavaScriptCallFrame.idl:
849         * loader/appcache/DOMApplicationCache.idl:
850         * page/Console.idl:
851         * page/Crypto.idl:
852         * page/DOMSecurityPolicy.idl:
853         * page/DOMSelection.idl:
854         * page/DOMWindow.idl:
855         * page/EventSource.idl:
856         * page/History.idl:
857         * page/Location.idl:
858         * page/PagePopupController.idl:
859         * page/Performance.idl:
860         * page/PerformanceEntryList.idl:
861         * page/SpeechInputResultList.idl:
862         * plugins/DOMMimeTypeArray.idl:
863         * plugins/DOMPlugin.idl:
864         * plugins/DOMPluginArray.idl:
865         * storage/Storage.idl:
866         * storage/StorageEvent.idl:
867         * svg/ElementTimeControl.idl:
868         * svg/SVGAngle.idl:
869         * svg/SVGColor.idl:
870         * svg/SVGDocument.idl:
871         * svg/SVGElementInstanceList.idl:
872         * svg/SVGFEDropShadowElement.idl:
873         * svg/SVGFEGaussianBlurElement.idl:
874         * svg/SVGFEMorphologyElement.idl:
875         * svg/SVGFilterElement.idl:
876         * svg/SVGLength.idl:
877         * svg/SVGLengthList.idl:
878         * svg/SVGLocatable.idl:
879         * svg/SVGMarkerElement.idl:
880         * svg/SVGMatrix.idl:
881         * svg/SVGNumberList.idl:
882         * svg/SVGPaint.idl:
883         * svg/SVGPathElement.idl:
884         * svg/SVGPathSegList.idl:
885         * svg/SVGPoint.idl:
886         * svg/SVGPointList.idl:
887         * svg/SVGSVGElement.idl:
888         * svg/SVGStringList.idl:
889         * svg/SVGStyledElement.idl:
890         * svg/SVGTests.idl:
891         * svg/SVGTextContentElement.idl:
892         * svg/SVGTransform.idl:
893         * svg/SVGTransformList.idl:
894         * testing/InternalSettings.idl:
895         * testing/Internals.idl:
896         * workers/AbstractWorker.idl:
897         * workers/DedicatedWorkerContext.idl:
898         * workers/SharedWorker.idl:
899         * workers/Worker.idl:
900         * workers/WorkerContext.idl:
901         * xml/DOMParser.idl:
902         * xml/XMLHttpRequest.idl:
903         * xml/XMLHttpRequestUpload.idl:
904         * xml/XMLSerializer.idl:
905         * xml/XPathEvaluator.idl:
906         * xml/XPathExpression.idl:
907         * xml/XPathNSResolver.idl:
908         * xml/XPathResult.idl:
909         * xml/XSLTProcessor.idl:
910
911 2013-04-30  Noam Rosenthal  <noam@webkit.org>
912
913         [Texmap] Use fewer intermediate surfaces when compositing filters
914         https://bugs.webkit.org/show_bug.cgi?id=115224
915
916         Reviewed by Allan Sandfeld Jensen.
917
918         Until now, when rendering CSS filters, the filters were applied to the texture
919         and then the resulting texture would be composited to the target surface with
920         its transform/opacity.
921         This requires at least two intermediate surface passes for every filtered layer.
922
923         This patch makes it so that the last filter pass is applied together with the 
924         resulting surface's opacity and transform, during composition.
925
926         Tested by css3/filters tests, whichn now scroll/zoom a lot faster.
927
928         * platform/graphics/texmap/TextureMapper.h:
929         (WebCore::BitmapTexture::applyFilters):
930         * platform/graphics/texmap/TextureMapperGL.cpp:
931         (WebCore::TextureMapperGLData::TextureMapperGLData):
932         (TextureMapperGLData):
933         (WebCore):
934         (WebCore::optionsForFilterType):
935         (WebCore::getPassesRequiredForFilter):
936         (WebCore::gauss):
937         (WebCore::gaussianKernel):
938         (WebCore::prepareFilterProgram):
939         (WebCore::TextureMapperGL::drawTexture):
940         (WebCore::TextureMapperGL::drawFiltered):
941         (WebCore::isCustomFilter):
942         * platform/graphics/texmap/TextureMapperGL.h:
943         (TextureMapperGL):
944         (BitmapTextureGL):
945         (FilterInfo):
946         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
947         (WebCore::BitmapTextureImageBuffer::applyFilters):
948         * platform/graphics/texmap/TextureMapperImageBuffer.h:
949         (BitmapTextureImageBuffer):
950         (WebCore::BitmapTextureGL::FilterInfo::FilterInfo):
951         (WebCore::BitmapTextureGL::filterInfo):
952         (WebCore::BitmapTextureGL::applyFilters):
953             Modify TextureMapperGL to remember the last filter operation applied
954             to a BitmapTexture and apply it when the texture is composited.
955
956         * platform/graphics/texmap/TextureMapperLayer.cpp:
957         (WebCore::TextureMapperLayer::paintIntoSurface):
958             Simplify the call to applyFilters, since now TextureMapperGL is responsible
959             for maintaining the content texture.
960
961
962 2013-04-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
963
964         [EFL] Enable scaled cursors
965         https://bugs.webkit.org/show_bug.cgi?id=106242
966
967         Reviewed by Gyuyoung Kim.
968
969         Correctly copy WebCore::Cursor's m_imageScaleFactor
970         member in CursorEfl.cpp when MOUSE_CURSOR_SCALE is
971         enabled.
972
973         No new tests, already covered by existing tests.
974
975         * platform/efl/CursorEfl.cpp:
976         (WebCore::Cursor::Cursor):
977         (WebCore::Cursor::operator=):
978
979 2013-04-30  Thiago Marcos P. Santos  <thiago.santos@intel.com>
980
981         CSSParser::parseFontFamily should allow the keyword "default" as part of a font name
982         https://bugs.webkit.org/show_bug.cgi?id=107231
983
984         Reviewed by Ryosuke Niwa.
985
986         Make sure that using the keyword "default" as font family doesn't
987         invalidate the whole declaration. It is also OK to use a font that
988         has "default" as part of a composite name (i.e. "default foo").
989         This matches the behavior of Firefox and IE.
990
991         Test: fast/css/font-family-parse-keyword.html
992
993         * css/CSSParser.cpp:
994         (WebCore::CSSParser::parseFontFamily):
995
996 2013-04-30  Zalan Bujtas  <zalan@apple.com>
997
998         Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
999         https://bugs.webkit.org/show_bug.cgi?id=111244
1000
1001         Reviewed by David Kilzer.
1002         
1003         Enable performance.now() as a minimal subset of Web Timing API. 
1004         It returns DOMHighResTimeStamp, a monotonically increasing value representing the 
1005         number of milliseconds from the start of the navigation of the current document.
1006         JS libraries use this API to check against the requestAnimationFrame() timestamp.
1007
1008         Test: fast/dom/Window/web-timing-minimal-performance-now.html
1009
1010         * Configurations/FeatureDefines.xcconfig:
1011         * WebCore.xcodeproj/project.pbxproj:
1012         * dom/EventTargetFactory.in:
1013         * page/DOMWindow.cpp:
1014         (WebCore::DOMWindow::~DOMWindow):
1015         (WebCore::DOMWindow::resetDOMWindowProperties):
1016         (WebCore):
1017         * page/DOMWindow.h:
1018         (DOMWindow):
1019         * page/DOMWindow.idl:
1020         * page/Performance.cpp:
1021         (WebCore):
1022         * page/Performance.h:
1023         (Performance):
1024         * page/Performance.idl:
1025
1026 2013-04-30  Commit Queue  <rniwa@webkit.org>
1027
1028         Unreviewed, rolling out r149338.
1029         http://trac.webkit.org/changeset/149338
1030         https://bugs.webkit.org/show_bug.cgi?id=115409
1031
1032         Broke layout/perf/API tests on non-Mac:
1033         ThreadSpecific<RefPtr<RunLoop>> does not initialize RunLoop
1034         (Requested by rakuco on #webkit).
1035
1036         * platform/RunLoop.cpp:
1037         (WebCore::RunLoop::current):
1038         * platform/RunLoop.h:
1039         (RunLoop):
1040         * platform/cf/RunLoopCF.cpp:
1041         (WebCore::RunLoop::initializeMainRunLoop):
1042         (WebCore::RunLoop::current):
1043         (WebCore::RunLoop::~RunLoop):
1044         * platform/efl/RunLoopEfl.cpp:
1045         (WebCore::RunLoop::~RunLoop):
1046         * platform/gtk/RunLoopGtk.cpp:
1047         (WebCore::RunLoop::~RunLoop):
1048         * platform/win/RunLoopWin.cpp:
1049         (WebCore::RunLoop::~RunLoop):
1050
1051 2013-04-30  Alberto Garcia  <agarcia@igalia.com>
1052
1053         ImageBufferData: add BlackBerry header
1054         https://bugs.webkit.org/show_bug.cgi?id=115408
1055
1056         Reviewed by Carlos Garcia Campos.
1057
1058         * platform/graphics/ImageBufferData.h:
1059
1060 2013-04-30  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1061
1062         Replace "Optional" extended attribute by proper Web IDL "optional" keyword
1063         https://bugs.webkit.org/show_bug.cgi?id=115380
1064
1065         Reviewed by Kentaro Hara.
1066
1067         Replace [Optional] with standard WebIDL optional type prefix:
1068         http://dev.w3.org/2006/webapi/WebIDL/#dfn-optional-argument
1069
1070         The default behavior now matches WebIDL: [Optional] => optional
1071
1072         Two cases where WebKit has extended bindings behavior still
1073         require a non-standard IDL attribute:
1074         [Optional=DefaultIsNullString] => [Default=NullString] optional
1075         [Optional=DefaultIsUndefined] => [Default=Undefined] optional
1076
1077         Based on corresponding Blink patch from Joshua Bell for compatibility.
1078
1079         No new tests, no behavior change.
1080
1081         * Modules/battery/BatteryManager.idl:
1082         * Modules/encryptedmedia/MediaKeySession.idl:
1083         * Modules/encryptedmedia/MediaKeys.idl:
1084         * Modules/filesystem/DOMWindowFileSystem.idl:
1085         * Modules/filesystem/DirectoryEntry.idl:
1086         * Modules/filesystem/DirectoryReader.idl:
1087         * Modules/filesystem/Entry.idl:
1088         * Modules/filesystem/FileEntry.idl:
1089         * Modules/filesystem/FileWriter.idl:
1090         * Modules/filesystem/WorkerContextFileSystem.idl:
1091         * Modules/gamepad/GamepadList.idl:
1092         * Modules/geolocation/Geolocation.idl:
1093         * Modules/indexeddb/IDBCursor.idl:
1094         * Modules/indexeddb/IDBDatabase.idl:
1095         * Modules/indexeddb/IDBFactory.idl:
1096         * Modules/indexeddb/IDBIndex.idl:
1097         * Modules/indexeddb/IDBKeyRange.idl:
1098         * Modules/indexeddb/IDBObjectStore.idl:
1099         * Modules/indexeddb/IDBRequest.idl:
1100         * Modules/indexeddb/IDBTransaction.idl:
1101         * Modules/mediasource/MediaSource.idl:
1102         * Modules/mediasource/SourceBufferList.idl:
1103         * Modules/mediastream/MediaStream.idl:
1104         * Modules/mediastream/MediaStreamTrack.idl:
1105         * Modules/mediastream/NavigatorMediaStream.idl:
1106         * Modules/mediastream/RTCDTMFSender.idl:
1107         * Modules/mediastream/RTCDataChannel.idl:
1108         * Modules/mediastream/RTCPeerConnection.idl:
1109         * Modules/mediastream/RTCStatsResponse.idl:
1110         * Modules/networkinfo/NetworkInfoConnection.idl:
1111         * Modules/notifications/Notification.idl:
1112         * Modules/notifications/NotificationCenter.idl:
1113         * Modules/quota/StorageInfo.idl:
1114         * Modules/quota/StorageQuota.idl:
1115         * Modules/speech/SpeechGrammarList.idl:
1116         * Modules/speech/SpeechRecognition.idl:
1117         * Modules/speech/SpeechSynthesisUtterance.idl:
1118         * Modules/webaudio/AudioContext.idl:
1119         * Modules/webaudio/AudioNode.idl:
1120         * Modules/webdatabase/DOMWindowWebDatabase.idl:
1121         * Modules/webdatabase/Database.idl:
1122         * Modules/webdatabase/DatabaseSync.idl:
1123         * Modules/webdatabase/SQLTransaction.idl:
1124         * Modules/webdatabase/WorkerContextWebDatabase.idl:
1125         * Modules/websockets/WebSocket.idl:
1126         * bindings/scripts/CodeGeneratorJS.pm:
1127         (GetFunctionLength):
1128         (GenerateFunctionParametersCheck):
1129         (GenerateArgumentsCountCheck):
1130         (GenerateParametersCheck):
1131         (GenerateConstructorDefinition):
1132         * bindings/scripts/IDLAttributes.txt:
1133         * bindings/scripts/IDLParser.pm:
1134         (parseOptionalOrRequiredArgument):
1135         * bindings/scripts/test/TestEventTarget.idl:
1136         * bindings/scripts/test/TestInterface.idl:
1137         * bindings/scripts/test/TestNamedConstructor.idl:
1138         * bindings/scripts/test/TestObj.idl:
1139         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1140         * bindings/scripts/test/TestTypedefs.idl: optional cannot be used in a typedef.
1141         * css/CSSHostRule.idl:
1142         * css/CSSMediaRule.idl:
1143         * css/CSSPrimitiveValue.idl:
1144         * css/CSSRuleList.idl:
1145         * css/CSSStyleDeclaration.idl:
1146         * css/CSSStyleSheet.idl:
1147         * css/CSSSupportsRule.idl:
1148         * css/CSSValueList.idl:
1149         * css/FontLoader.idl:
1150         * css/MediaList.idl:
1151         * css/MediaQueryList.idl:
1152         * css/MediaQueryListListener.idl:
1153         * css/StyleMedia.idl:
1154         * css/StyleSheetList.idl:
1155         * css/WebKitCSSKeyframesRule.idl:
1156         * css/WebKitCSSMatrix.idl:
1157         * dom/CharacterData.idl:
1158         * dom/ClientRectList.idl:
1159         * dom/Clipboard.idl:
1160         * dom/CompositionEvent.idl:
1161         * dom/CustomEvent.idl:
1162         * dom/DOMImplementation.idl:
1163         * dom/DOMStringList.idl:
1164         * dom/DataTransferItem.idl:
1165         * dom/DataTransferItemList.idl:
1166         * dom/DeviceMotionEvent.idl:
1167         * dom/DeviceOrientationEvent.idl:
1168         * dom/Document.idl:
1169         * dom/Element.idl:
1170         * dom/Event.idl:
1171         * dom/EventTarget.idl:
1172         * dom/HashChangeEvent.idl:
1173         * dom/KeyboardEvent.idl:
1174         * dom/MessageEvent.idl:
1175         * dom/MessagePort.idl:
1176         * dom/MouseEvent.idl:
1177         * dom/MutationEvent.idl:
1178         * dom/NamedNodeMap.idl:
1179         * dom/Node.idl:
1180         * dom/NodeFilter.idl:
1181         * dom/NodeList.idl:
1182         * dom/OverflowEvent.idl:
1183         * dom/Range.idl:
1184         * dom/ShadowRoot.idl:
1185         * dom/Text.idl:
1186         * dom/TextEvent.idl:
1187         * dom/TouchEvent.idl:
1188         * dom/UIEvent.idl:
1189         * dom/WebKitNamedFlow.idl:
1190         * dom/WheelEvent.idl:
1191         * fileapi/Blob.idl:
1192         * fileapi/FileReader.idl:
1193         * fileapi/FileReaderSync.idl:
1194         * html/DOMFormData.idl:
1195         * html/DOMTokenList.idl:
1196         * html/HTMLAllCollection.idl:
1197         * html/HTMLAudioElement.idl:
1198         * html/HTMLCanvasElement.idl:
1199         * html/HTMLCollection.idl:
1200         * html/HTMLDocument.idl:
1201         * html/HTMLElement.idl:
1202         * html/HTMLFormControlsCollection.idl:
1203         * html/HTMLInputElement.idl:
1204         * html/HTMLMediaElement.idl:
1205         * html/HTMLOptionElement.idl:
1206         * html/HTMLOptionsCollection.idl:
1207         * html/HTMLSelectElement.idl:
1208         * html/HTMLTableElement.idl:
1209         * html/HTMLTableRowElement.idl:
1210         * html/HTMLTableSectionElement.idl:
1211         * html/HTMLTextAreaElement.idl:
1212         * html/MediaController.idl:
1213         * html/canvas/ArrayBuffer.idl:
1214         * html/canvas/CanvasGradient.idl:
1215         * html/canvas/CanvasRenderingContext2D.idl:
1216         * html/canvas/DOMPath.idl:
1217         * html/canvas/DataView.idl:
1218         * html/canvas/Float32Array.idl:
1219         * html/canvas/Float64Array.idl:
1220         * html/canvas/Int16Array.idl:
1221         * html/canvas/Int32Array.idl:
1222         * html/canvas/Int8Array.idl:
1223         * html/canvas/OESVertexArrayObject.idl:
1224         * html/canvas/Uint16Array.idl:
1225         * html/canvas/Uint32Array.idl:
1226         * html/canvas/Uint8Array.idl:
1227         * html/canvas/Uint8ClampedArray.idl:
1228         * html/track/AudioTrackList.idl:
1229         * html/track/TextTrack.idl:
1230         * html/track/TextTrackCue.idl:
1231         * html/track/TextTrackList.idl:
1232         * html/track/VideoTrackList.idl:
1233         * loader/appcache/DOMApplicationCache.idl:
1234         * page/DOMSelection.idl:
1235         * page/DOMWindow.idl:
1236         * page/EventSource.idl:
1237         * page/History.idl:
1238         * page/Location.idl:
1239         * page/Performance.idl:
1240         * plugins/DOMMimeTypeArray.idl:
1241         * plugins/DOMPlugin.idl:
1242         * plugins/DOMPluginArray.idl:
1243         * storage/StorageEvent.idl:
1244         * svg/ElementTimeControl.idl:
1245         * svg/SVGDocument.idl:
1246         * svg/SVGElementInstanceList.idl:
1247         * svg/SVGFEDropShadowElement.idl:
1248         * svg/SVGFEGaussianBlurElement.idl:
1249         * svg/SVGFEMorphologyElement.idl:
1250         * svg/SVGFilterElement.idl:
1251         * svg/SVGLocatable.idl:
1252         * svg/SVGMarkerElement.idl:
1253         * svg/SVGPathElement.idl:
1254         * svg/SVGSVGElement.idl:
1255         * svg/SVGStyledElement.idl:
1256         * svg/SVGTests.idl:
1257         * svg/SVGTextContentElement.idl:
1258         * testing/Internals.idl:
1259         * workers/AbstractWorker.idl:
1260         * workers/DedicatedWorkerContext.idl:
1261         * workers/SharedWorker.idl:
1262         * workers/Worker.idl:
1263         * workers/WorkerContext.idl:
1264         * xml/DOMParser.idl:
1265         * xml/XMLHttpRequest.idl:
1266         * xml/XMLHttpRequestUpload.idl:
1267         * xml/XMLSerializer.idl:
1268         * xml/XPathEvaluator.idl:
1269         * xml/XPathExpression.idl:
1270         * xml/XPathNSResolver.idl:
1271         * xml/XPathResult.idl:
1272         * xml/XSLTProcessor.idl:
1273
1274 2013-04-30  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
1275
1276         Fix the USE(3D_GRAPHICS) build with the standard OpenGL on Windows
1277         https://bugs.webkit.org/show_bug.cgi?id=114684
1278
1279         Reviewed by Simon Hausmann.
1280
1281         Currently USE(3D_GRAPHICS) is only supported with OpenGLES through ANGLE
1282         on Windows. Allow building with the stock opengl32.lib on Windows by adding
1283         missing glCompressedTex* entries in OpenGLShims.
1284         Those are used in Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
1285         and will be substituted by the preprocessor.
1286
1287         * platform/graphics/OpenGLShims.cpp:
1288         (WebCore::initializeOpenGLShims):
1289         * platform/graphics/OpenGLShims.h:
1290         (_OpenGLFunctionTable):
1291
1292 2013-04-29  Alberto Garcia  <agarcia@igalia.com>
1293
1294         Remove all remaining Skia code
1295         https://bugs.webkit.org/show_bug.cgi?id=115263
1296
1297         Reviewed by Benjamin Poulain.
1298
1299         * html/HTMLCanvasElement.cpp:
1300         (WebCore): Remove the MaxSkiaDim constant, which was a leftover
1301         from r149193.
1302         * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removed.
1303         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removed.
1304         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removed.
1305         * platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp: Removed.
1306
1307 2013-04-29  Anders Carlsson  <andersca@apple.com>
1308
1309         Fix build.
1310
1311         * platform/graphics/SimpleFontData.cpp:
1312         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
1313         * platform/graphics/mac/SimpleFontDataMac.mm:
1314         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
1315
1316 2013-04-29  Simon Fraser  <simon.fraser@apple.com>
1317
1318         Don't do CGContext flipping when painting subframes in WebKit1 on post-MountainLion OSes
1319         https://bugs.webkit.org/show_bug.cgi?id=115392
1320         <rdar://problem/13421519>
1321
1322         Reviewed by Beth Dakin.
1323
1324         Sync up with AppKit behavior changes that could cause subviews to be flipped when
1325         painted.
1326
1327         * platform/mac/WidgetMac.mm:
1328         (WebCore::Widget::paint):
1329
1330 2013-04-29  Chris Fleizach  <cfleizach@apple.com>
1331
1332         WEB SPEECH: need to identify the default voice per language
1333         https://bugs.webkit.org/show_bug.cgi?id=115366
1334
1335         Reviewed by Tim Horton.
1336
1337         Use a WKSystemInterface method to determine which voice per language is the default voice.
1338
1339         When looking for a voice, there may not be a default at all, so we need to search until we
1340         find a default.
1341
1342         * WebCore.exp.in:
1343         * platform/mac/PlatformSpeechSynthesizerMac.mm:
1344         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
1345         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1346         * platform/mac/WebCoreSystemInterface.h:
1347         * platform/mac/WebCoreSystemInterface.mm:
1348
1349 2013-04-29  James Craig  <james@cookiecrook.com>
1350
1351         Settings.in selectionIncludesAltImageText should default to true, due to update in HTML spec.
1352         https://bugs.webkit.org/show_bug.cgi?id=115283
1353
1354         Reviewed by Chris Fleizach.
1355
1356         Config change due to this spec update:
1357         https://www.w3.org/Bugs/Public/show_bug.cgi?id=21403
1358         http://html5.org/tools/web-apps-tracker?from=7854&to=7855
1359
1360         Updated existing test coverage.
1361
1362         * page/Settings.in:
1363
1364 2013-04-29  Anders Carlsson  <andersca@apple.com>
1365
1366         Make RunLoop ref-counted
1367         https://bugs.webkit.org/show_bug.cgi?id=115384
1368
1369         Reviewed by Sam Weinig.
1370
1371         This is a step towards creating a shared base class that both RunLoop and WorkQueue will derive from.
1372
1373         * platform/RunLoop.cpp:
1374         (WebCore::RunLoop::current):
1375         (WebCore::RunLoop::~RunLoop):
1376         (WebCore):
1377         * platform/RunLoop.h:
1378         (RunLoop):
1379         * platform/cf/RunLoopCF.cpp:
1380         (WebCore::RunLoop::initializeMainRunLoop):
1381         (WebCore::RunLoop::current):
1382         (WebCore::RunLoop::~RunLoop):
1383
1384 2013-04-29  Brent Fulgham  <bfulgham@webkit.org>
1385
1386         [Windows, WinCairo] Remove link and include directives for pthread.
1387         https://bugs.webkit.org/show_bug.cgi?id=115381
1388
1389         Reviewed by Benjamin Poulain.
1390
1391         Update various VS2005 and VS2010 property sheets to remove
1392         reference to the pthreads Include path and instructions to
1393         link to the pthreads library.
1394
1395         * WebCore.vcproj/QTMovieWinCommon.vsprops:
1396         * WebCore.vcproj/WebCoreCommon.vsprops:
1397         * WebCore.vcproj/WebCoreDebug.vsprops:
1398         * WebCore.vcproj/WebCoreDebugAll.vsprops:
1399         * WebCore.vcproj/WebCoreProduction.vsprops:
1400         * WebCore.vcproj/WebCorePthreads.vsprops: Removed.
1401         * WebCore.vcproj/WebCoreRelease.vsprops:
1402         * WebCore.vcxproj/WebCoreCommon.props:
1403         * WebCore.vcxproj/WebCoreDebug.props:
1404         * WebCore.vcxproj/WebCoreDebugWinCairo.props:
1405         * WebCore.vcxproj/WebCoreProduction.props:
1406         * WebCore.vcxproj/WebCorePthreads.props: Removed.
1407         * WebCore.vcxproj/WebCoreRelease.props:
1408         * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
1409
1410 2013-04-29  Benjamin Poulain  <benjamin@webkit.org>
1411
1412         Do not allocate Static Strings for Notification::permissionString
1413         https://bugs.webkit.org/show_bug.cgi?id=115316
1414
1415         Reviewed by Geoffrey Garen.
1416
1417         The code is not nearly hot enough to justify keeping this memory around.
1418
1419         * Modules/notifications/Notification.cpp:
1420         (WebCore::Notification::permission):
1421         (WebCore::Notification::permissionString):
1422         * Modules/notifications/Notification.h:
1423         (Notification):
1424
1425 2013-04-29  Anders Carlsson  <andersca@apple.com>
1426
1427         Remove StorageTracker::originsLoaded
1428         https://bugs.webkit.org/show_bug.cgi?id=115382
1429
1430         Reviewed by Sam Weinig.
1431
1432         Remove m_finishedImportingOriginIdentifiers.
1433
1434         * storage/StorageTracker.cpp:
1435         (WebCore::StorageTracker::StorageTracker):
1436         (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
1437         * storage/StorageTracker.h:
1438         (StorageTracker):
1439
1440 2013-04-29  Anders Carlsson  <andersca@apple.com>
1441
1442         Get rid of StorageTracker::setClient
1443         https://bugs.webkit.org/show_bug.cgi?id=115376
1444
1445         Reviewed by Sam Weinig.
1446
1447         * WebCore.exp.in:
1448         * storage/StorageTracker.cpp:
1449         * storage/StorageTracker.h:
1450         (StorageTracker):
1451
1452 2013-04-22  Jeffrey Pfau  <jpfau@apple.com>
1453
1454         Change approach to third-party blocking for LocalStorage
1455         https://bugs.webkit.org/show_bug.cgi?id=115004
1456
1457         Reviewed by Maciej Stachowiak.
1458
1459         Instead of outright blocking LocalStorage that's used in a third-party
1460         context, silently partition it based on the origin of the top context.
1461         These partitions are then discarded when the page group is unloaded.
1462
1463         No new tests; modified existing tests to account for changes.
1464
1465         * page/DOMWindow.cpp:
1466         (WebCore::DOMWindow::localStorage):
1467         * page/PageGroup.cpp:
1468         (WebCore::PageGroup::localStorage):
1469         (WebCore):
1470         (WebCore::PageGroup::transientLocalStorage):
1471         * page/PageGroup.h:
1472         (PageGroup):
1473         * page/SecurityOrigin.cpp:
1474         (WebCore::SecurityOrigin::canAccessStorage):
1475
1476 2013-04-29  Yi Shen  <max.hong.shen@gmail.com>
1477
1478         HTML Editing: Insertion point jumps when using link detection
1479         https://bugs.webkit.org/show_bug.cgi?id=82198
1480
1481         Reviewed by Ryosuke Niwa.
1482
1483         Add links should be done only when typing a word separator (e.g. space or dot) which 
1484         breaks the text into two parts - the link and the rest of the text. Reflected in 
1485         code, we should only add link when the caret position is at the right end location of 
1486         TextChecking result. Otherwise, the text on the right of a word separator could be
1487         highlighted as a link and the insertion point jumps unexpectedly.
1488
1489         Tests: update editing/inserting/typing-space-to-trigger-smart-link.html
1490
1491         * editing/Editor.cpp:
1492         (WebCore::Editor::markAndReplaceFor):
1493
1494 2013-04-29  Beth Dakin  <bdakin@apple.com>
1495
1496         Need a LayoutMilestone to fire when we have done our first paint after suppressing 
1497         incremental layout
1498         https://bugs.webkit.org/show_bug.cgi?id=115330
1499         -and corresponding-
1500         <rdar://problem/12722365>
1501
1502         Reviewed by Simon Fraser.
1503
1504         To meet the needs of all of our clients, we really need two milestones. One 
1505         indicating that a layout has happened after setVisualUpdatesAllowed(true), and 
1506         another indicating that painting has happened.
1507
1508         If layout is needed when setVisualUpdatesAllowed(true) is called, we need to 
1509         update it so that we can guarantee the first paint is really happening at this 
1510         time. Also fire the DidFirstLayoutAfterSuppressedIncrementalRendering milestone, 
1511         and call add DidFirstPaintAfterSuppressedIncrementalRendering to the FrameView's 
1512         pending paint milestones. 
1513         up the painting milestone.
1514         * dom/Document.cpp:
1515         (WebCore::Document::setVisualUpdatesAllowed):
1516
1517         FrameView now stores m_milestonesPendingPaint. We'll send and clear them once we 
1518         have painted.
1519         * page/FrameView.cpp:
1520         (WebCore::FrameView::FrameView):
1521         (WebCore::FrameView::paintContents):
1522         (WebCore::FrameView::addPaintPendingMilestones):
1523         (WebCore::FrameView::firePaintRelatedMilestones):
1524         * page/FrameView.h:
1525         (WebCore::FrameView::milestonesPendingPaint):
1526
1527         Two new milestones.
1528         * page/LayoutMilestones.h:
1529         (WebCore):
1530
1531         We don't need m_headerLayerAwaitingFirstFlush anymore since we can use FrameView's 
1532         pending paint milestones instead.
1533         * rendering/RenderLayerCompositor.cpp:
1534         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1535         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1536         (WebCore::RenderLayerCompositor::updateLayerForHeader):
1537         * rendering/RenderLayerCompositor.h:
1538         (RenderLayerCompositor):
1539
1540 2013-04-29  David Hyatt  <hyatt@apple.com>
1541
1542         [Mac] Links can't be hovered or clicked with overlay scrollbars hidden.
1543         https://bugs.webkit.org/show_bug.cgi?id=99379
1544         
1545         This is also <rdar://problem/10929565> Overlay scrollbars prevent hit-testing on
1546         content underneath them, even when hidden
1547
1548         Reviewed by Beth Dakin.
1549
1550         * rendering/RenderLayer.cpp:
1551         (WebCore::RenderLayer::verticalScrollbarWidth):
1552         (WebCore::RenderLayer::horizontalScrollbarHeight):
1553
1554 2013-04-29  Anders Carlsson  <andersca@apple.com>
1555
1556         Begin cleaning up StorageTracker
1557         https://bugs.webkit.org/show_bug.cgi?id=115373
1558
1559         Reviewed by Andreas Kling.
1560
1561         Rename Mutexes to use "Mutex" and not "Guard".
1562         Don't use static locals for ".localstorage" and "*.localstorage" strings.
1563         Put end iterator declarations together with begin declarations.
1564
1565         * storage/StorageTracker.cpp:
1566         (WebCore::StorageTracker::setDatabaseDirectoryPath):
1567         (WebCore::StorageTracker::trackerDatabasePath):
1568         (WebCore::StorageTracker::openTrackerDatabase):
1569         (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
1570         (WebCore::StorageTracker::syncImportOriginIdentifiers):
1571         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1572         (WebCore::StorageTracker::setOriginDetails):
1573         (WebCore::StorageTracker::syncSetOriginDetails):
1574         (WebCore::StorageTracker::origins):
1575         (WebCore::StorageTracker::deleteAllOrigins):
1576         (WebCore::StorageTracker::syncDeleteAllOrigins):
1577         (WebCore::StorageTracker::deleteOrigin):
1578         (WebCore::StorageTracker::syncDeleteOrigin):
1579         (WebCore::StorageTracker::willDeleteAllOrigins):
1580         (WebCore::StorageTracker::willDeleteOrigin):
1581         (WebCore::StorageTracker::canDeleteOrigin):
1582         (WebCore::StorageTracker::cancelDeletingOrigin):
1583         (WebCore::StorageTracker::setClient):
1584         (WebCore::StorageTracker::databasePathForOrigin):
1585         (WebCore::StorageTracker::diskUsageForOrigin):
1586         * storage/StorageTracker.h:
1587         (StorageTracker):
1588
1589 2013-04-29  Andreas Kling  <akling@apple.com>
1590
1591         Don't check for @media rules affected by viewport changes in every layout.
1592         <http://webkit.org/b/115370>
1593         <rdar://problem/13765739>
1594
1595         Reviewed by Antti Koivisto.
1596
1597         Move the logic that checks if any @media rules are affected by a change in the viewport
1598         size to FrameView::setFrameRect(). This way it's no longer necessary to do the style
1599         recalc synchronously, which allows us to coalesce multiple updates in some cases.
1600
1601         * page/FrameView.cpp:
1602         (WebCore::FrameView::setFrameRect):
1603         (WebCore::FrameView::layout):
1604
1605 2013-04-29  Anders Carlsson  <andersca@apple.com>
1606
1607         Remove the last StorageSyncManager function
1608         https://bugs.webkit.org/show_bug.cgi?id=115371
1609
1610         Reviewed by Sam Weinig.
1611
1612         Move the import scheduling to the StorageAreaSync constructor. Remove code to set m_importComplete to true
1613         since that could only happen if the StorageSyncManager's thread is null which doesn't make any sense.
1614
1615         * storage/StorageAreaSync.cpp:
1616         (WebCore::StorageAreaSync::StorageAreaSync):
1617         (WebCore::StorageAreaSync::create):
1618         * storage/StorageSyncManager.cpp:
1619         * storage/StorageSyncManager.h:
1620         (StorageSyncManager):
1621
1622 2013-04-29  Daker Fernandes Pinheiro  <daker.pinheiro@openbossa.org>
1623
1624         Remove unused method RenderMeter::valueRatio()
1625         https://bugs.webkit.org/show_bug.cgi?id=115266
1626
1627         Reviewed by Darin Adler.
1628
1629         The removed method is not used anywhere.
1630         No new tests are required.
1631
1632         * rendering/RenderMeter.cpp:
1633         * rendering/RenderMeter.h:
1634         (RenderMeter):
1635
1636 2013-04-29  Anders Carlsson  <andersca@apple.com>
1637
1638         Remove two more StorageSyncManager wrapper functions
1639         https://bugs.webkit.org/show_bug.cgi?id=115367
1640
1641         Reviewed by Andreas Kling.
1642
1643         * storage/StorageAreaSync.cpp:
1644         (WebCore::StorageAreaSync::scheduleFinalSync):
1645         (WebCore::StorageAreaSync::syncTimerFired):
1646         * storage/StorageSyncManager.cpp:
1647         * storage/StorageSyncManager.h:
1648
1649 2013-04-29  Stephen Chenney  <schenney@chromium.org>
1650
1651         SVGElement destructor can use invalid iterator
1652         https://bugs.webkit.org/show_bug.cgi?id=115361
1653
1654         Reviewed by Philip Rogers.
1655
1656         When an SVGElement object has rare data, its destructor gets a
1657         hash map iterator for the rare data, uses it to clear resources,
1658         then uses the iterator to delete the rare data. However, the resource
1659         cleanup can delete other SVG elements, thus modifying the hash map
1660         from which the iterator came and hence invalidating the iterator
1661         itself.
1662
1663         The fix is to re-get the iterator before deleting the rare data.
1664
1665         Test: svg/custom/svg-element-destructor-iteration-crash.html
1666
1667         * svg/SVGElement.cpp:
1668         (WebCore::SVGElement::~SVGElement): Get a new iterator after clearing rare data.
1669
1670 2013-04-29  Brady Eidson  <beidson@apple.com>
1671
1672         REGRESSION: We see authentication challenge sheets for favicon requests.
1673         <rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
1674
1675         Reviewed by Alexey Proskuryakov.
1676
1677         No new tests (Not in a tested config, might fix existing test).
1678
1679         Rename ClientCrossOriginCredentialPolicy to ClientCredentialPolicy, make it be three options.
1680         and move it to ResourceHandleTypes where it belongs:
1681         * loader/ResourceLoaderOptions.h:
1682         * platform/network/ResourceHandleTypes.h:
1683
1684         Expose the ClientCredentialPolicy the ResourceLoader was created with:
1685         * loader/ResourceLoader.h:
1686         (WebCore::ResourceLoader::clientCredentialPolicy):
1687
1688         Rework the “should ask client” clause for the new values of ClientCredentialPolicy:
1689         * loader/ResourceLoader.cpp:
1690         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
1691
1692         Rework loadResourceSynchronously() to include a ClientCredentialPolicy argument:
1693         * loader/FrameLoader.cpp:
1694         (WebCore::FrameLoader::loadResourceSynchronously):
1695         * loader/FrameLoader.h:
1696         * loader/LoaderStrategy.cpp:
1697         (WebCore::LoaderStrategy::loadResourceSynchronously):
1698         * loader/LoaderStrategy.h:
1699
1700         Never ask the client for credentials for icon loads:
1701         * loader/icon/IconLoader.cpp:
1702         (WebCore::IconLoader::startLoading):
1703
1704         Update all other users of ClientCredentialPolicy to the appropriate new value,
1705         and update all users of loadResourceSynchronously to the new function signature:
1706         * inspector/InspectorFrontendHost.cpp:
1707         (WebCore::InspectorFrontendHost::loadResourceSynchronously):
1708         * loader/DocumentLoader.cpp:
1709         (WebCore::DocumentLoader::startLoadingMainResource):
1710         * loader/DocumentThreadableLoader.cpp:
1711         (WebCore::DocumentThreadableLoader::loadRequest):
1712         * loader/FrameLoader.cpp:
1713         (WebCore::FrameLoader::loadResourceSynchronously):
1714         * loader/FrameLoader.h:
1715         (FrameLoader):
1716         * loader/LoaderStrategy.cpp:
1717         (WebCore::LoaderStrategy::loadResourceSynchronously):
1718         * loader/LoaderStrategy.h:
1719         (LoaderStrategy):
1720         * loader/NetscapePlugInStreamLoader.cpp:
1721         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
1722         * loader/cache/CachedResourceLoader.cpp:
1723         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1724         (WebCore::CachedResourceLoader::defaultCachedResourceOptions):
1725         * xml/XSLTProcessorLibxslt.cpp:
1726         (WebCore::docLoaderFunc):
1727         * xml/parser/XMLDocumentParserLibxml2.cpp:
1728         (WebCore::openFunc):
1729
1730         * WebCore.exp.in:
1731
1732 2013-04-29  Anders Carlsson  <andersca@apple.com>
1733
1734         Add a StorageSyncManager::dispatch helper function
1735         https://bugs.webkit.org/show_bug.cgi?id=115365
1736
1737         Reviewed by Andreas Kling.
1738
1739         * storage/StorageSyncManager.cpp:
1740         (WebCore::StorageSyncManager::dispatch):
1741         (WebCore):
1742         (WebCore::StorageSyncManager::close):
1743         (WebCore::StorageSyncManager::scheduleImport):
1744         (WebCore::StorageSyncManager::scheduleSync):
1745         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
1746         * storage/StorageSyncManager.h:
1747         (StorageSyncManager):
1748
1749 2013-04-29  Anders Carlsson  <andersca@apple.com>
1750
1751         Re-indent StorageSyncManager and remove SecurityOrigin forward declaration.
1752
1753         Rubber-stamped by Andreas Kling.
1754
1755         * storage/StorageSyncManager.h:
1756
1757 2013-04-27  Anders Carlsson  <andersca@apple.com>
1758
1759         Get rid of StorageTask
1760         https://bugs.webkit.org/show_bug.cgi?id=115313
1761
1762         Reviewed by Andreas Kling.
1763
1764         * CMakeLists.txt:
1765         * GNUmakefile.list.am:
1766         * Target.pri:
1767         * WebCore.vcproj/WebCore.vcproj:
1768         * WebCore.vcxproj/WebCore.vcxproj:
1769         * WebCore.vcxproj/WebCore.vcxproj.filters:
1770         * WebCore.xcodeproj/project.pbxproj:
1771         * storage/StorageSyncManager.cpp:
1772         * storage/StorageTask.cpp: Removed.
1773         * storage/StorageTask.h: Removed.
1774         * storage/StorageThread.cpp:
1775         (WebCore::StorageThread::threadEntryPoint):
1776         (WebCore::StorageThread::dispatch):
1777         (WebCore::StorageThread::terminate):
1778         * storage/StorageThread.h:
1779         (StorageThread):
1780         * storage/StorageTracker.cpp:
1781
1782 2013-04-29  Andreas Kling  <akling@apple.com>
1783
1784         Add branch-prediction hint to FAST_RETURN_IF_NO_FRONTENDS.
1785         <http://webkit.org/b/115357>
1786
1787         Reviewed by Anders Carlsson.
1788
1789         Since this macro is used in some very hot code paths, give the compiler an extra hint
1790         to try and minimize the impact it has when the inspector is not active.
1791
1792         * inspector/InspectorInstrumentation.h:
1793
1794 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
1795
1796         [WIN] Add WTF_USE_IMLANG_FONT_LINK2
1797         https://bugs.webkit.org/show_bug.cgi?id=115198
1798
1799         Reviewed by Andreas Kling.
1800
1801         Add this new define to have a central place for switching
1802         the IMLangFontLinkType and adop all usages of the type.
1803         This makes the usage of the code easier on desktop pcs.
1804
1805         * platform/graphics/FontCache.h:
1806         (WebCore):
1807         * platform/graphics/wince/FontCacheWinCE.cpp:
1808         (WebCore::currentFontContainsCharacter):
1809         (WebCore::createMLangFont):
1810         (WebCore::FontCache::getFontDataForCharacters):
1811         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1812         (WebCore::SimpleFontData::containsCharacters):
1813
1814 2013-04-29  Noam Rosenthal  <noam@webkit.org>
1815
1816         Get rid of "non-composited contents" in CoordinatedLayerTreeHost
1817         https://bugs.webkit.org/show_bug.cgi?id=110355
1818
1819         Reviewed by Jocelyn Turcotte.
1820
1821         When in force compositing mode, always assume that the main layer needs
1822         a backing store. Make setVisibleContentRectTrajectoryVector and accumulatedCoverRect
1823         recursive so that they don't rely on a specialized layer.
1824
1825         No new testable behavior, changes to coverRect and trajectory vector only
1826         affect tiling latency in rare cases that are not trivial to test.
1827
1828         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1829         (WebCore::CoordinatedGraphicsLayer:setVisibleContentRectTrajectoryVector):
1830             Make the trajectory vector recursive, though limited only to layers with
1831             translate/identity. This allows us to keep the trajectory vector while removing
1832             the non-composited contents specialization.
1833
1834         (WebCore::CoordinatedGraphicsLayer::accumulatedCoverRect):
1835             Added accumulatedCoverRect, so that the coverRect calculations for the UI process
1836             are not bound to the non-composited contents layer.
1837
1838         (WebCore::CoordinatedGraphicsLayer::findDescendantWithContentsRecursively):
1839             Instead of saving a reference to the non-composited contents layer, we assume that
1840             the first layer we found recursively which has contents is the one to be used for
1841             coverRect/trajectory calculations.
1842
1843         (WebCore):
1844         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1845         (CoordinatedGraphicsLayer):
1846         * rendering/RenderLayerBacking.cpp:
1847         (WebCore::RenderLayerBacking::paintsIntoWindow):
1848             Always create a layer for the non-composited contents when in forceCompositing mode.
1849
1850 2013-04-29  Dirk Schulze  <krit@webkit.org>
1851
1852         Animate clip rect() between different Length types
1853         https://bugs.webkit.org/show_bug.cgi?id=115336
1854
1855         Reviewed by Andreas Kling.
1856
1857         At the moment the animation for the 'clip' property
1858         has an early return if the type of two Length values
1859         does not match. This patch removes this early return.
1860
1861         Modified existing tests to cover the changes.
1862
1863         * page/animation/CSSPropertyAnimation.cpp:
1864         (WebCore::blendFunc):
1865
1866 2013-04-29  Andreas Kling  <akling@apple.com>
1867
1868         When updating geometry, send JavaScript resize before before layout/paint.
1869         <http://webkit.org/b/115199>
1870         <rdar://problem/13735535>
1871
1872         Reviewed by Geoffrey Garen.
1873
1874         Make the "resize" event synchronous and dispatch it before doing any automatic
1875         resize-induced layout. This avoids unnecessary work in cases where an event handler
1876         does something that dirties style.
1877
1878         It also avoids a kind of JS-side FOUC that happens if we drop out to the runloop
1879         and paint before the resize event handler runs; for example, when viewing a popup
1880         on <http://lokeshdhakar.com/projects/lightbox2/> and resizing the window, the dark
1881         overlay sometimes resizes out of sync with the web view, since a paint may happen
1882         between automatic layout and the resize event.
1883
1884         * page/EventHandler.h:
1885         * page/EventHandler.cpp:
1886         (WebCore::EventHandler::dispatchResizeEvent):
1887         * page/FrameView.h:
1888         * page/FrameView.cpp:
1889         (WebCore::FrameView::dispatchResizeEvent):
1890
1891             Renamed sendResizeEvent() to dispatchResizeEvent() and made it dispatch the event
1892             synchronously instead of adding it to the DocumentEventQueue.
1893
1894         (WebCore::FrameView::performPostLayoutTasks):
1895         (WebCore::FrameView::setFrameRect):
1896
1897             Dispatch the "resize" event right when the new frame rect is set.
1898
1899 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
1900
1901         Remove OS(WINCE) from (Render|Scrollbar)ThemeWin.cpp
1902         https://bugs.webkit.org/show_bug.cgi?id=115348
1903
1904         Reviewed by Andreas Kling.
1905
1906         Compile DIBPixelData.cpp on Windows CE too, which allows us
1907         to get rid of a few #if OS(WINCE) in other code parts.
1908
1909         * PlatformWinCE.cmake:
1910         * platform/graphics/win/DIBPixelData.cpp:
1911         (WebCore::DIBPixelData::setRGBABitmapAlpha):
1912         * platform/win/ScrollbarThemeWin.cpp:
1913         (WebCore::ScrollbarThemeWin::paintTrackPiece):
1914         (WebCore::ScrollbarThemeWin::paintButton):
1915         (WebCore::ScrollbarThemeWin::paintThumb):
1916         * rendering/RenderThemeWin.cpp:
1917         (WebCore::drawControl):
1918
1919 2013-04-29  Eli Fidler  <efidler@blackberry.com>
1920
1921         [BlackBerry] Fake-bold monospace fonts need to use non-fake-bold advances
1922         https://bugs.webkit.org/show_bug.cgi?id=115280
1923
1924         Reviewed by George Staikos.
1925
1926         BlackBerry PR 330864
1927
1928         Tested by fast/css/css3-ch-unit.html
1929
1930         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
1931         (WebCore::FontPlatformData::applyState):
1932         (WebCore::FontPlatformData::isFixedPitch):
1933         * platform/graphics/blackberry/ITypeUtils.h:
1934         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
1935         (WebCore::SimpleFontData::platformWidthForGlyph):
1936
1937 2013-04-29  ChangSeok Oh  <changseok.oh@collabora.com>
1938
1939         [GTK][AC] Clean up code related with the children management stuff for clutter based AC
1940         https://bugs.webkit.org/show_bug.cgi?id=114260
1941
1942         Reviewed by Gustavo Noronha Silva.
1943
1944         Remove unused or usless code for children management stuff.
1945
1946         No new tests since no functionality changed.
1947
1948         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1949         (_GraphicsLayerActorPrivate):
1950         (graphics_layer_actor_class_init):
1951         (graphicsLayerActorAllocate):
1952         (graphicsLayerActorDraw):
1953         (graphicsLayerActorNew):
1954         (graphicsLayerActorSetSublayers):
1955         * platform/graphics/clutter/GraphicsLayerActor.h:
1956         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1957         (WebCore::idleDestroy):
1958         (WebCore::GraphicsLayerClutter::ensureStructuralLayer):
1959         (WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
1960
1961 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
1962
1963         [WIN] Guard cfHDropFormat() with USE(CF) instead of OS(WINCE)
1964         https://bugs.webkit.org/show_bug.cgi?id=115195
1965
1966         Reviewed by Andreas Kling.
1967
1968         USE(CF) is the correct guard, which works on desktop pcs too.
1969
1970         * platform/win/ClipboardWin.cpp:
1971         (WebCore::ClipboardWin::files):
1972         * platform/win/DragDataWin.cpp:
1973         (WebCore::DragData::containsFiles):
1974         (WebCore::DragData::numberOfFiles):
1975         (WebCore::DragData::asFilenames):
1976
1977 2013-04-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1978
1979         Unreviewed. Fix make distcheck.
1980
1981         * GNUmakefile.am: Add missing scripts to EXTRA_DIST.
1982         * GNUmakefile.list.am: Add missing files to compilation.
1983
1984 2013-04-29  Noam Rosenthal  <noam@webkit.org>
1985
1986         [Qt] fast/canvas/webgl/webgl-composite-modes.html broken after r148433.
1987         https://bugs.webkit.org/show_bug.cgi?id=115243
1988
1989         Reviewed by Jocelyn Turcotte.
1990
1991         When compositing a layer with a canvas or directly composited image, it is
1992         wrong to use TextureMapperLayer::setBackingStore. Instead, setContentsLayer
1993         should be used, which allows for the layer to have both a backing store and
1994         a contents layer.
1995
1996         * platform/graphics/texmap/TextureMapperLayer.cpp:
1997         (WebCore::TextureMapperLayer::paintSelf):
1998         * platform/graphics/texmap/TextureMapperLayer.h:
1999         (State):
2000         (WebCore::TextureMapperLayer::State::State):
2001         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2002         (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
2003         (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
2004         (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2005
2006 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2007
2008         Unreviewed build fix.
2009
2010         * bindings/js/WorkerScriptDebugServer.cpp: Added missing header.
2011
2012 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2013
2014         Unreviewed build fix.
2015
2016         * platform/graphics/wince/FontWinCE.cpp:
2017         (WebCore::generateComponents):
2018
2019 2013-04-29  Patrick Gansterer  <paroga@webkit.org>
2020
2021         Remove OS(WINCE) from HTMLSelectElement.cpp
2022         https://bugs.webkit.org/show_bug.cgi?id=115194
2023
2024         Reviewed by Andreas Kling.
2025
2026         Use the same files like the the other PLATFORM(WIN) ports use.
2027
2028         * PlatformWinCE.cmake:
2029         * html/HTMLSelectElement.cpp:
2030         (WebCore):
2031
2032 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
2033
2034         StaticHashSetNodeList is unnecessary
2035         https://bugs.webkit.org/show_bug.cgi?id=115219
2036
2037         Reviewed by Antonio Gomes.
2038
2039         Moved Document::nodesFromRect into Internals::nodesFromRect per
2040         https://chromium.googlesource.com/chromium/blink/+/78207c5c34383fbb807bb9347deb67168f09bb04.
2041
2042         Also made TouchAdjustment functions use HashListSet directly instead of wrapping it inside
2043         a StaticHashSetNodeList since there was no need to use the latter.
2044
2045         With these two changes, I deleted StaticHashSetNodeList.
2046
2047         * GNUmakefile.list.am:
2048         * Target.pri:
2049         * WebCore.exp.in:
2050         * WebCore.xcodeproj/project.pbxproj:
2051         * dom/Document.cpp:
2052         (WebCore):
2053         * dom/Document.h:
2054         (Document):
2055         * dom/StaticHashSetNodeList.cpp: Removed.
2056         * dom/StaticHashSetNodeList.h: Removed.
2057         * page/EventHandler.cpp:
2058         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
2059         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
2060         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
2061         * page/TouchAdjustment.cpp:
2062         (WebCore::TouchAdjustment::compileSubtargetList):
2063         (WebCore::TouchAdjustment::compileZoomableSubtargets):
2064         (WebCore::findBestClickableCandidate):
2065         (WebCore::findBestContextMenuCandidate):
2066         (WebCore::findBestZoomableArea):
2067         * page/TouchAdjustment.h:
2068         (WebCore):
2069         * testing/Internals.cpp:
2070         (WebCore::Internals::nodesFromRect):
2071
2072 2013-04-28  Dean Jackson  <dino@apple.com>
2073
2074         [Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
2075         https://bugs.webkit.org/show_bug.cgi?id=115310
2076
2077         Reviewed by Simon Fraser.
2078
2079         Disable the automatic pixel doubling in canvas backing stores on high
2080         dpi devices. This will potentially make canvases look worse of high dpi
2081         displays, but only if they were ignoring devicePixelRatio. Since the
2082         majority of high dpi displays *do not* auto-double (including mobile
2083         devices and other desktop browsers), this provides consistency and less
2084         chance of unnecessary memory use.
2085
2086         * Configurations/FeatureDefines.xcconfig: Remove ENABLE_HIGH_DPI_CANVAS_macosx.
2087
2088 2013-04-28  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2089
2090         Get rid of [Callback] IDL extended attribute for parameters
2091         https://bugs.webkit.org/show_bug.cgi?id=115250
2092
2093         Reviewed by Kentaro Hara.
2094
2095         Remove the WebKit-specific [Callback] extended attribute and make the bindings
2096         generator smart enough to know when a parameter is of callback type on its
2097         own.
2098
2099         No new tests, no behavior change.
2100
2101         * DerivedSources.make: Use WebCore/Modules as IDL include path instead of using
2102         subdirs. The generator will search recursively anyway and the list of subdirs was
2103         incomplete.
2104         * Modules/filesystem/DOMWindowFileSystem.idl:
2105         * Modules/filesystem/DirectoryEntry.idl:
2106         * Modules/filesystem/DirectoryReader.idl:
2107         * Modules/filesystem/Entry.idl:
2108         * Modules/filesystem/FileEntry.idl:
2109         * Modules/filesystem/WorkerContextFileSystem.idl:
2110         * Modules/mediastream/NavigatorMediaStream.idl:
2111         * Modules/mediastream/RTCPeerConnection.idl:
2112         * Modules/notifications/Notification.idl:
2113         * Modules/notifications/NotificationCenter.idl:
2114         * Modules/quota/StorageInfo.idl:
2115         * Modules/quota/StorageQuota.idl:
2116         * Modules/webaudio/AudioContext.idl:
2117         * Modules/webdatabase/DOMWindowWebDatabase.idl:
2118         * Modules/webdatabase/Database.idl:
2119         * Modules/webdatabase/DatabaseSync.idl:
2120         * Modules/webdatabase/SQLTransaction.idl:
2121         * Modules/webdatabase/WorkerContextWebDatabase.idl:
2122         * bindings/gobject/GNUmakefile.am: Add missing IDL include dirs.
2123         * bindings/scripts/CodeGenerator.pm:
2124         (IsWrapperType):
2125         (IsCallbackInterface):
2126         * bindings/scripts/CodeGeneratorGObject.pm:
2127         (SkipFunction):
2128         * bindings/scripts/CodeGeneratorJS.pm:
2129         (GenerateParametersCheckExpression):
2130         (GenerateParametersCheck):
2131         * bindings/scripts/IDLAttributes.txt: Remove "Callback" extended attribute.
2132         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2133         (WebDOMTestCallback::callbackWithArrayParam):
2134         (WebDOMTestCallback::callbackWithSerializedScriptValueParam):
2135         (WebDOMTestCallback::callbackWithNonBoolReturnType):
2136         (WebDOMTestCallback::callbackRequiresThisToPass):
2137         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2138         (WebDOMTestCallback):
2139         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2140         (WebDOMTestObj::convert1):
2141         (WebDOMTestObj::convert2):
2142         (WebDOMTestObj::convert4):
2143         (WebDOMTestObj::convert5):
2144         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2145         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
2146         (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
2147         (WebDOMTestSerializedScriptValueInterface::multiTransferList):
2148         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
2149         (WebDOMTestSerializedScriptValueInterface):
2150         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
2151         (WebDOMTestTypedefs::multiTransferList):
2152         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h:
2153         (WebDOMTestTypedefs):
2154         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2155         (webkit_dom_test_callback_callback_with_array_param):
2156         (webkit_dom_test_callback_callback_with_serialized_script_value_param):
2157         (webkit_dom_test_callback_callback_with_non_bool_return_type):
2158         (webkit_dom_test_callback_callback_requires_this_to_pass):
2159         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2160         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2161         (webkit_dom_test_obj_convert1):
2162         (webkit_dom_test_obj_convert2):
2163         (webkit_dom_test_obj_convert4):
2164         (webkit_dom_test_obj_convert5):
2165         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2166         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2167         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
2168         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
2169         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
2170         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
2171         (webkit_dom_test_typedefs_multi_transfer_list):
2172         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
2173         * bindings/scripts/test/JS/JSTestCallback.cpp:
2174         (WebCore::JSTestCallback::callbackWithArrayParam):
2175         (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
2176         (WebCore::JSTestCallback::callbackRequiresThisToPass):
2177         * bindings/scripts/test/JS/JSTestCallback.h:
2178         (JSTestCallback):
2179         * bindings/scripts/test/JS/JSTestObj.cpp:
2180         (WebCore::jsTestObjPrototypeFunctionConvert1):
2181         (WebCore::jsTestObjPrototypeFunctionConvert2):
2182         (WebCore::jsTestObjPrototypeFunctionConvert4):
2183         (WebCore::jsTestObjPrototypeFunctionConvert5):
2184         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2185         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2186         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2187         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
2188         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2189         (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
2190         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2191         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2192         (-[DOMTestCallback callbackWithArrayParam:]):
2193         (-[DOMTestCallback callbackWithSerializedScriptValueParam:strArg:]):
2194         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
2195         (-[DOMTestCallback callbackRequiresThisToPass:testNodeParam:]):
2196         * bindings/scripts/test/ObjC/DOMTestObj.h:
2197         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2198         (-[DOMTestObj convert1:]):
2199         (-[DOMTestObj convert2:]):
2200         (-[DOMTestObj convert4:]):
2201         (-[DOMTestObj convert5:]):
2202         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2203         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
2204         (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
2205         (-[DOMTestSerializedScriptValueInterface multiTransferList:tx:second:txx:]):
2206         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
2207         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
2208         (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
2209         * bindings/scripts/test/TestCallback.idl: Use valid types instead of Class1, Class2, ...
2210         so that the bindings generator does not complain about not being able to resolve
2211         them.
2212         * bindings/scripts/test/TestObj.idl: Use valid parameter types instead of 'a', 'b', 'd', 'e'
2213         so that the bindings generator does not complain about them.
2214         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2215         * bindings/scripts/test/TestTypedefs.idl:
2216         * css/FontLoader.idl:
2217         * dom/DataTransferItem.idl:
2218         * page/DOMWindow.idl:
2219
2220 2013-04-27  Darin Adler  <darin@apple.com>
2221
2222         Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
2223         https://bugs.webkit.org/show_bug.cgi?id=115307
2224
2225         Reviewed by Geoffrey Garen.
2226
2227         This change was done by a global replace followed by compiling and inspecting for
2228         cases that needed to be tweaked by hand.
2229
2230         * accessibility/ios/AXObjectCacheIOS.mm:
2231         (WebCore::AXObjectCache::attachWrapper):
2232         * accessibility/mac/AXObjectCacheMac.mm:
2233         (WebCore::AXObjectCache::attachWrapper):
2234         * bridge/objc/objc_class.mm:
2235         (JSC::Bindings::ObjcClass::methodNamed):
2236         (JSC::Bindings::ObjcClass::fieldNamed):
2237         * bridge/objc/objc_runtime.mm:
2238         (JSC::Bindings::ObjcField::ObjcField):
2239         * editing/mac/EditorMac.mm:
2240         (WebCore::Editor::fontAttributesForSelectionStart):
2241         * history/cf/HistoryPropertyList.cpp:
2242         (WebCore::HistoryPropertyListWriter::releaseData):
2243         * html/HTMLMediaElement.cpp:
2244         (WebCore::createFileURLForApplicationCacheResource):
2245         * loader/archive/cf/LegacyWebArchive.cpp:
2246         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2247         (WebCore::LegacyWebArchive::create):
2248         (WebCore::LegacyWebArchive::rawDataRepresentation):
2249         * loader/archive/cf/LegacyWebArchiveMac.mm:
2250         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
2251         * loader/mac/ResourceLoaderMac.mm:
2252         (WebCore::ResourceLoader::willCacheResponse):
2253         * page/CaptionUserPreferencesMac.mm:
2254         (WebCore::CaptionUserPreferencesMac::userPrefersCaptions):
2255         (WebCore::CaptionUserPreferencesMac::userPrefersSubtitles):
2256         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS):
2257         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS):
2258         (WebCore::CaptionUserPreferencesMac::captionsTextColor):
2259         (WebCore::CaptionUserPreferencesMac::captionsDefaultFontCSS):
2260         (WebCore::CaptionUserPreferencesMac::preferredLanguages):
2261         (WebCore::trackDisplayName):
2262         * platform/Language.cpp:
2263         (WebCore::displayNameForLanguageLocale):
2264         * platform/LocalizedStrings.cpp:
2265         (WebCore::contextMenuItemTagSearchWeb):
2266         (WebCore::imageTitle):
2267         * platform/MIMETypeRegistry.cpp:
2268         (WebCore::initializeSupportedImageMIMETypes):
2269         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2270         * platform/audio/mac/AudioFileReaderMac.cpp:
2271         (WebCore::AudioFileReader::AudioFileReader):
2272         * platform/cf/KURLCFNet.cpp:
2273         (WebCore::KURL::fileSystemPath):
2274         * platform/cf/SharedBufferCF.cpp:
2275         (WebCore::SharedBuffer::maybeTransferPlatformData):
2276         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2277         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2278         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2279         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2280         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
2281         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
2282         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
2283         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
2284         * platform/graphics/ca/GraphicsLayerCA.cpp:
2285         (WebCore::GraphicsLayerCA::setContentsToImage):
2286         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
2287         (WebCore::LayerFlushScheduler::schedule):
2288         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2289         (PlatformCAAnimation::PlatformCAAnimation):
2290         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2291         (PlatformCAFilters::filterValueForOperation):
2292         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2293         (PlatformCALayer::PlatformCALayer):
2294         (PlatformCALayer::addAnimationForKey):
2295         (PlatformCALayer::setBackgroundColor):
2296         (PlatformCALayer::setBorderColor):
2297         * platform/graphics/cg/BitmapImageCG.cpp:
2298         (WebCore::BitmapImage::checkForSolidColor):
2299         (WebCore::BitmapImage::getCGImageArray):
2300         * platform/graphics/cg/ColorCG.cpp:
2301         (WebCore::cachedCGColor):
2302         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2303         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
2304         * platform/graphics/cg/GraphicsContextCG.cpp:
2305         (WebCore::GraphicsContext::applyStrokePattern):
2306         (WebCore::GraphicsContext::applyFillPattern):
2307         (WebCore::GraphicsContext::setURLForRect):
2308         * platform/graphics/cg/ImageBufferCG.cpp:
2309         (WebCore::createIOSurface):
2310         (WebCore::ImageBuffer::ImageBuffer):
2311         (WebCore::ImageBuffer::copyImage):
2312         (WebCore::ImageBuffer::draw):
2313         (WebCore::ImageBuffer::clip):
2314         (WebCore::ImageBuffer::putByteArray):
2315         (WebCore::CGImageEncodeToData):
2316         (WebCore::CGImageToDataURL):
2317         (WebCore::ImageBuffer::toDataURL):
2318         (WebCore::ImageDataToDataURL):
2319         * platform/graphics/cg/ImageBufferDataCG.cpp:
2320         (WebCore::ImageBufferData::getData):
2321         (WebCore::ImageBufferData::putData):
2322         * platform/graphics/cg/ImageCG.cpp:
2323         (WebCore::Image::imageWithColorSpace):
2324         (WebCore::Image::drawPattern):
2325         * platform/graphics/cg/ImageSourceCG.cpp:
2326         (WebCore::ImageSource::setData):
2327         (WebCore::ImageSource::isSizeAvailable):
2328         (WebCore::ImageSource::frameSizeAtIndex):
2329         (WebCore::ImageSource::orientationAtIndex):
2330         (WebCore::ImageSource::getHotSpot):
2331         (WebCore::ImageSource::repetitionCount):
2332         (WebCore::ImageSource::createFrameAtIndex):
2333         (WebCore::ImageSource::frameDurationAtIndex):
2334         * platform/graphics/cg/PDFDocumentImage.cpp:
2335         (WebCore::PDFDocumentImage::dataChanged):
2336         * platform/graphics/cg/PathCG.cpp:
2337         (WebCore::createScratchContext):
2338         (WebCore::Path::contains):
2339         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2340         (WebCore::FontPlatformData::FontPlatformData):
2341         (WebCore::FontPlatformData::setFont):
2342         (WebCore::createFeatureSettingDictionary):
2343         (WebCore::cascadeToLastResortFontDescriptor):
2344         (WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor):
2345         (WebCore::FontPlatformData::ctFont):
2346         (WebCore::FontPlatformData::description):
2347         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2348         (WebCore::DrawingBuffer::DrawingBuffer):
2349         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2350         (-[WebCascadeList objectAtIndex:]):
2351         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2352         * platform/graphics/mac/FontCustomPlatformData.cpp:
2353         (WebCore::createFontCustomPlatformData):
2354         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2355         (WebCore::GlyphPage::fill):
2356         * platform/graphics/mac/GraphicsContext3DMac.mm:
2357         (WebCore::GraphicsContext3D::GraphicsContext3D):
2358         * platform/graphics/mac/GraphicsContextMac.mm:
2359         (WebCore::GraphicsContext::drawFocusRing):
2360         (WebCore::linearRGBColorSpaceRef):
2361         * platform/graphics/mac/ImageMac.mm:
2362         (WebCore::BitmapImage::getTIFFRepresentation):
2363         (WebCore::BitmapImage::getNSImage):
2364         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2365         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
2366         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
2367         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
2368         (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
2369         (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
2370         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
2371         (WebCore::addFileTypesToCache):
2372         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2373         (WebCore::SimpleFontData::getCFStringAttributes):
2374         * platform/graphics/mac/SimpleFontDataMac.mm:
2375         (WebCore::fontHasVerticalGlyphs):
2376         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
2377         (WebCore::SimpleFontData::platformCharWidthInit):
2378         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
2379         * platform/graphics/mac/WebGLLayer.mm:
2380         (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
2381         * platform/mac/ContentFilterMac.mm:
2382         (WebCore::ContentFilter::ContentFilter):
2383         * platform/mac/ContextMenuItemMac.mm:
2384         (WebCore::ContextMenuItem::ContextMenuItem):
2385         * platform/mac/CursorMac.mm:
2386         (WebCore::createCustomCursor):
2387         (WebCore::createNamedCursor):
2388         * platform/mac/DisplaySleepDisabler.cpp:
2389         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
2390         * platform/mac/DragImageMac.mm:
2391         (WebCore::dissolveDragImageToFraction):
2392         (WebCore::createDragImageFromImage):
2393         * platform/mac/HTMLConverter.mm:
2394         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2395         * platform/mac/Language.mm:
2396         (WebCore::httpStyleLanguageCode):
2397         (WebCore::platformUserPreferredLanguages):
2398         * platform/mac/LocalizedStringsMac.cpp:
2399         (WebCore::localizedString):
2400         * platform/mac/PasteboardMac.mm:
2401         (WebCore::Pasteboard::getDataSelection):
2402         (WebCore::Pasteboard::writeSelectionForTypes):
2403         (WebCore::fragmentFromWebArchive):
2404         * platform/mac/PlatformClockCM.mm:
2405         (PlatformClockCM::PlatformClockCM):
2406         (PlatformClockCM::initializeWithTimingSource):
2407         * platform/mac/PlatformPasteboardMac.mm:
2408         (WebCore::PlatformPasteboard::addTypes):
2409         (WebCore::PlatformPasteboard::setTypes):
2410         (WebCore::PlatformPasteboard::setPathnamesForType):
2411         * platform/mac/PlatformSpeechSynthesizerMac.mm:
2412         (WebCore::PlatformSpeechSynthesizer::speak):
2413         * platform/mac/PopupMenuMac.mm:
2414         (WebCore::PopupMenuMac::populate):
2415         (WebCore::PopupMenuMac::show):
2416         * platform/mac/ScrollAnimatorMac.mm:
2417         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2418         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
2419         (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
2420         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2421         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
2422         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
2423         * platform/mac/SharedBufferMac.mm:
2424         (WebCore::SharedBuffer::createCFData):
2425         * platform/mac/WebCoreNSStringExtras.mm:
2426         (stringEncodingForResource):
2427         * platform/network/ProtectionSpace.cpp:
2428         (WebCore::ProtectionSpace::receivesCredentialSecurely):
2429         * platform/network/SynchronousLoaderClient.cpp:
2430         (WebCore::SynchronousLoaderClient::platformBadResponseError):
2431         * platform/network/cf/CredentialStorageCFNet.cpp:
2432         (WebCore::CredentialStorage::getFromPersistentStorage):
2433         * platform/network/cf/DNSCFNet.cpp:
2434         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
2435         * platform/network/cf/FormDataStreamCFNet.cpp:
2436         (WebCore::advanceCurrentStream):
2437         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
2438         (WebCore::overrideCookieStorage):
2439         * platform/network/cf/ProxyServerCFNet.cpp:
2440         (WebCore::proxyAutoConfigurationResultCallback):
2441         (WebCore::processProxyServers):
2442         (WebCore::addProxyServersForURL):
2443         * platform/network/cf/ResourceErrorCF.cpp:
2444         (WebCore::ResourceError::platformLazyInit):
2445         (WebCore::ResourceError::cfError):
2446         * platform/network/cf/ResourceHandleCFNet.cpp:
2447         (WebCore::willSendRequest):
2448         (WebCore::ResourceHandle::createCFURLConnection):
2449         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2450         (WebCore::ResourceHandle::receivedCredential):
2451         (WebCore::ResourceHandle::handleDataArray):
2452         * platform/network/cf/ResourceRequestCFNet.cpp:
2453         (WebCore::setHeaderFields):
2454         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2455         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2456         (WebCore::ResourceRequest::doUpdateResourceRequest):
2457         (WebCore::ResourceRequest::setStorageSession):
2458         * platform/network/cf/ResourceResponseCFNet.cpp:
2459         (WebCore::ResourceResponse::cfURLResponse):
2460         (WebCore::ResourceResponse::platformLazyInit):
2461         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2462         (WebCore::SocketStreamHandle::SocketStreamHandle):
2463         (WebCore::SocketStreamHandle::executePACFileURL):
2464         (WebCore::SocketStreamHandle::chooseProxy):
2465         (WebCore::SocketStreamHandle::createStreams):
2466         (WebCore::SocketStreamHandle::addCONNECTCredentials):
2467         (WebCore::SocketStreamHandle::readStreamCallback):
2468         (WebCore::SocketStreamHandle::writeStreamCallback):
2469         (WebCore::SocketStreamHandle::reportErrorToClient):
2470         * platform/network/mac/AuthenticationMac.mm:
2471         (WebCore::mac):
2472         (WebCore::AuthenticationChallenge::setAuthenticationClient):
2473         * platform/network/mac/CookieJarMac.mm:
2474         (WebCore::filterCookies):
2475         * platform/network/mac/NetworkStateNotifierMac.cpp:
2476         (WebCore::NetworkStateNotifier::updateState):
2477         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2478         * platform/network/mac/ResourceErrorMac.mm:
2479         (WebCore::createNSErrorFromResourceErrorBase):
2480         (WebCore::ResourceError::nsError):
2481         * platform/network/mac/ResourceHandleMac.mm:
2482         (WebCore::ResourceHandle::createNSURLConnection):
2483         * platform/network/mac/ResourceRequestMac.mm:
2484         (WebCore::ResourceRequest::updateNSURLRequest):
2485         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2486         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
2487         (WebCore::ResourceRequest::setStorageSession):
2488         * platform/network/mac/ResourceResponseMac.mm:
2489         (WebCore::ResourceResponse::initNSURLResponse):
2490         (WebCore::ResourceResponse::nsURLResponse):
2491         (WebCore::ResourceResponse::platformLazyInit):
2492         * platform/network/mac/UTIUtilities.mm:
2493         (WebCore::mimeTypeFromUTITree):
2494         * platform/network/mac/WebCoreURLResponse.mm:
2495         (WebCore::adjustMIMETypeIfNecessary):
2496         * platform/text/cf/HyphenationCF.cpp:
2497         (WebCore::::createValueForNullKey):
2498         (WebCore::lastHyphenLocation):
2499         * platform/text/mac/HyphenationMac.mm:
2500         (WebCore::::createValueForKey):
2501         (WebCore::lastHyphenLocation):
2502         * platform/text/mac/LocaleMac.mm:
2503         (WebCore::determineLocale):
2504         (WebCore::LocaleMac::LocaleMac):
2505         (WebCore::LocaleMac::initializeLocaleData):
2506         * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
2507         (WebCore::textBreakLocalePreference):
2508         (WebCore::canonicalLanguageIdentifier):
2509         * rendering/RenderThemeMac.mm:
2510         (WebCore::RenderThemeMac::RenderThemeMac):
2511         (WebCore::RenderThemeMac::levelIndicatorFor):
2512         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2513         (WebCore::RenderThemeMac::paintSliderTrack):
2514         (WebCore::RenderThemeMac::popupButton):
2515         (WebCore::RenderThemeMac::search):
2516         (WebCore::RenderThemeMac::searchMenuTemplate):
2517         (WebCore::RenderThemeMac::sliderThumbHorizontal):
2518         (WebCore::RenderThemeMac::sliderThumbVertical):
2519         (WebCore::RenderThemeMac::textField):
2520         Use adoptNS and adoptCF free functions.
2521
2522 2013-04-27  Ryosuke Niwa  <rniwa@webkit.org>
2523
2524         Pressing mouse button inside a dragstart event causes a crash
2525         https://bugs.webkit.org/show_bug.cgi?id=115296
2526
2527         Reviewed by Darin Adler.
2528
2529         Add a missing null pointer check. We should better encapsulate the states in DragState in the long term
2530         but this is good enough for now.
2531
2532         Test: fast/events/mousedown-inside-dragstart-should-not-cause-crash.html
2533
2534         * page/EventHandler.cpp:
2535         (WebCore::EventHandler::handleDrag):
2536
2537 2013-04-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2538
2539         Unreviewed build fix when disabling video and video-track.
2540
2541         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2542
2543 2013-04-27  Geoffrey Garen  <ggaren@apple.com>
2544
2545         WebGL shouldn't allocate a "length" Identifier just to move some numbers around
2546         https://bugs.webkit.org/show_bug.cgi?id=115317
2547
2548         Reviewed by Dean Jackson.
2549
2550         Saw this while debugging an ammo.js bug.
2551
2552         * bindings/js/JSArrayBufferViewHelper.h:
2553         (WebCore::setWebGLArrayWithTypedArrayArgument):
2554         (WebCore::setWebGLArrayHelper):
2555         (WebCore::constructArrayBufferViewWithTypedArrayArgument):
2556         (WebCore::constructArrayBufferView):
2557         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2558         (WebCore::toVector): Use the pre-computed "length" identifier instead of
2559         allocating a new one for each vector operation. There are lots more
2560         optimizations we could do here. This is a start.
2561
2562 2013-04-27  Anders Carlsson  <andersca@apple.com>
2563
2564         Remove two more StorageTask types
2565         https://bugs.webkit.org/show_bug.cgi?id=115312
2566
2567         Reviewed by Dean Jackson.
2568
2569         * storage/StorageTask.cpp:
2570         (WebCore::StorageTask::performTask):
2571         * storage/StorageTask.h:
2572         * storage/StorageTracker.cpp:
2573         (WebCore::StorageTracker::setOriginDetails):
2574         (WebCore::StorageTracker::deleteOrigin):
2575         * storage/StorageTracker.h:
2576
2577 2013-04-27  Anders Carlsson  <andersca@apple.com>
2578
2579         Get rid of more uses of StorageTask
2580         https://bugs.webkit.org/show_bug.cgi?id=115311
2581
2582         Reviewed by Dean Jackson.
2583
2584         Make StorageAreaSync derive from ThreadSafeRefCounted as well, since it's passed between threads.
2585
2586         * storage/StorageAreaSync.h:
2587         * storage/StorageSyncManager.cpp:
2588         (WebCore::StorageSyncManager::scheduleImport):
2589         (WebCore::StorageSyncManager::scheduleSync):
2590         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
2591         * storage/StorageTask.cpp:
2592         (WebCore::StorageTask::StorageTask):
2593         (WebCore::StorageTask::performTask):
2594         * storage/StorageTask.h:
2595         (StorageTask):
2596
2597 2013-04-27  Anders Carlsson  <andersca@apple.com>
2598
2599         Indent StorageAreaSync to match the style guidelines.
2600
2601         Rubber-stamped by Andreas Kling.
2602
2603         * storage/StorageAreaSync.h:
2604
2605 2013-04-27  Anders Carlsson  <andersca@apple.com>
2606
2607         Replace uses of StorageTask with StorageThread::dispatch and WTF::bind
2608         https://bugs.webkit.org/show_bug.cgi?id=115309
2609
2610         Reviewed by Andreas Kling.
2611
2612         * storage/StorageTask.cpp:
2613         (WebCore::StorageTask::StorageTask):
2614         (WebCore::StorageTask::performTask):
2615         * storage/StorageTask.h:
2616         * storage/StorageThread.cpp:
2617         (WebCore::StorageThread::terminate):
2618         (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
2619         * storage/StorageThread.h:
2620         * storage/StorageTracker.cpp:
2621         (WebCore::StorageTracker::importOriginIdentifiers):
2622         (WebCore::StorageTracker::deleteAllOrigins):
2623
2624 2013-04-27  Anders Carlsson  <andersca@apple.com>
2625
2626         Add StorageThread::dispatch
2627         https://bugs.webkit.org/show_bug.cgi?id=115308
2628
2629         Reviewed by Andreas Kling.
2630
2631         StorageThread::dispatch takes a Function<void ()> and runs it on the storage thread. This will be used to eventually get rid of StorageTask.
2632
2633         * storage/StorageTask.cpp:
2634         (WebCore::StorageTask::StorageTask):
2635         (WebCore::StorageTask::performTask):
2636         * storage/StorageTask.h:
2637         (WebCore::StorageTask::createDispatch):
2638         * storage/StorageThread.cpp:
2639         (WebCore::StorageThread::dispatch):
2640         * storage/StorageThread.h:
2641         (StorageThread):
2642
2643 2013-04-27  Jer Noble  <jer.noble@apple.com>
2644
2645         REGRESSION (r147261): Audio controls background not displayed after loading audio file
2646         https://bugs.webkit.org/show_bug.cgi?id=115221
2647
2648         Reviewed by Darin Adler.
2649
2650         As in r147261, set a flex-shrink: 0 to avoid shrinking the media controls panel
2651         below the specified height.
2652
2653         No new tests; fixes the media/media-document-audio-repaint.html test.
2654
2655         * css/mediaControlsQuickTime.css:
2656         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2657
2658 2013-04-26  Jer Noble  <jer.noble@apple.com>
2659
2660         Video playback has corruption on the edges of the video
2661         https://bugs.webkit.org/show_bug.cgi?id=115216
2662
2663         Reviewed by Simon Fraser.
2664
2665         Test: media/video-poster-background.html
2666
2667         RenderImage correctly answers foregroundIsKnownToBeOpaqueInRect() method
2668         when a poster image is displayed, but once the video begins playing and
2669         the poster image is no longer displayed, RenderImage will continue to
2670         answer 'true' even when the video does not occupy the entire render box.
2671         Override foregroundIsKnownToBeOpaqueInRect() in order to more correctly
2672         answer the question for the video layer.
2673
2674         * rendering/RenderImage.h: Make foregroundIsKnownToBeOpaqueInRect() protected
2675             (vs. private).
2676         * rendering/RenderVideo.cpp:
2677         (WebCore::RenderVideo::foregroundIsKnownToBeOpaqueInRect): Added. Return
2678             true if the rect parameter is entirely contained by the video box.
2679         * rendering/RenderVideo.h:
2680
2681 2013-04-26  Hans Muller  <hmuller@adobe.com>
2682
2683         [CSS Exclusions] ExclusionShape bounding box methods should return LayoutRects
2684         https://bugs.webkit.org/show_bug.cgi?id=115117
2685
2686         Reviewed by Dirk Schulze.
2687
2688         Redefined the ExclusionShape API in terms of LayoutUnits, instead of floats: all of the
2689         ExclusionShape methods now have LayoutUnit parameters and return LayoutUnit values.
2690         This is more natural, since the callers work exclusively in LayoutUnits.
2691
2692         This is strictly a refactoring, no new tests were needed.
2693
2694         * rendering/ExclusionPolygon.cpp:
2695         (WebCore::ExclusionPolygon::getExcludedIntervals):
2696         (WebCore::ExclusionPolygon::getIncludedIntervals):
2697         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
2698         * rendering/ExclusionPolygon.h:
2699         * rendering/ExclusionRectangle.cpp:
2700         (WebCore::ExclusionRectangle::getExcludedIntervals):
2701         (WebCore::ExclusionRectangle::getIncludedIntervals):
2702         (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop):
2703         * rendering/ExclusionRectangle.h:
2704         * rendering/ExclusionShape.cpp:
2705         (WebCore::ExclusionShape::createExclusionShape):
2706         * rendering/ExclusionShape.h:
2707         (LineSegment):
2708         (ExclusionShape):
2709         * rendering/ExclusionShapeInfo.cpp:
2710         (WebCore):
2711         (WebCore::::computedShape):
2712         * rendering/ExclusionShapeInfo.h:
2713         (WebCore):
2714         (WebCore::ExclusionShapeInfo::shapeLogicalTop):
2715         (WebCore::ExclusionShapeInfo::shapeLogicalBottom):
2716         (ExclusionShapeInfo):
2717         * rendering/ExclusionShapeInsideInfo.cpp:
2718         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop):
2719         * rendering/ExclusionShapeInsideInfo.h:
2720         * rendering/ExclusionShapeOutsideInfo.h:
2721
2722 2013-04-26  Jer Noble  <jer.noble@apple.com>
2723
2724         Nil-check the results of -[AVPlayerItemVideoOutput copyPixelBufferForItemTime:itemTimeForDisplay:].
2725         https://bugs.webkit.org/show_bug.cgi?id=115265
2726
2727         Reviewed by Eric Carlson.
2728
2729         copyPixelBufferForItemTime:itemTimeForDisplay: can return nil, even
2730         when hasNewPixelBufferForItemTime: returns YES. Check the results
2731         before passing the buffer on to VTPixelTransferSessionTransferImage()
2732         which does not NULL-check its parameters.
2733
2734         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2735         (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):
2736
2737 2013-04-26  Roger Fong  <roger_fong@apple.com>
2738
2739         Uninflate caret rect.
2740         http://bugs.webkit.org/show_bug.cgi?id=114997.
2741         <rdar://problem/12629007>.
2742
2743         Reviewed by Timothy Horton.
2744
2745         Inflation was causing painting errors with focus rings.
2746         It is no longer needed after disabling subpixel layout.
2747
2748         * editing/FrameSelection.cpp:
2749         (WebCore::repaintCaretForLocalRect):
2750
2751 2013-04-26  Roger Fong  <roger_fong@apple.com>
2752
2753         Unreviewed build fix.
2754
2755         * platform/LayoutUnit.h:
2756         (WebCore::LayoutUnit::LayoutUnit):
2757
2758 2013-04-26  Michael Saboff  <msaboff@apple.com>
2759
2760         WebCore ObjC bridge is missing support for bool type
2761         https://bugs.webkit.org/show_bug.cgi?id=115276
2762
2763         Reviewed by Geoffrey Garen.
2764
2765         Added code to handle conversion between ObjC and JS booleans.
2766
2767         * bridge/objc/objc_instance.mm:
2768         (ObjcInstance::invokeObjcMethod):
2769         * bridge/objc/objc_utility.h:
2770         * bridge/objc/objc_utility.mm:
2771         (JSC::Bindings::convertValueToObjcValue):
2772         (JSC::Bindings::convertObjcValueToValue):
2773         (JSC::Bindings::objcValueTypeForType):
2774
2775 2013-04-26  Roger Fong  <roger_fong@apple.com>
2776
2777         Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
2778         Make the DebugSuffix configuration use _debug dependencies.
2779
2780         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
2781         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
2782         * WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
2783         * WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
2784         * WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
2785         * WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
2786         * WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
2787         * WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
2788         * WebCore.vcxproj/WebCore.make:
2789         * WebCore.vcxproj/WebCore.vcxproj:
2790         * WebCore.vcxproj/WebCore.vcxproj.filters:
2791         * WebCore.vcxproj/WebCoreCommon.props:
2792         * WebCore.vcxproj/WebCoreDebug.props:
2793         * WebCore.vcxproj/WebCoreDebugWinCairo.props:
2794         * WebCore.vcxproj/WebCoreGenerated.make:
2795         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
2796         * WebCore.vcxproj/WebCoreGeneratedCommon.props:
2797         * WebCore.vcxproj/WebCoreGeneratedDebug.props:
2798         * WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
2799         * WebCore.vcxproj/WebCoreGeneratedProduction.props:
2800         * WebCore.vcxproj/WebCoreGeneratedRelease.props:
2801         * WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
2802         * WebCore.vcxproj/WebCoreProduction.props:
2803         * WebCore.vcxproj/WebCoreRelease.props:
2804         * WebCore.vcxproj/WebCoreReleaseWinCairo.props:
2805         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2806         * WebCore.vcxproj/build-generated-files.sh:
2807         * WebCore.vcxproj/copyForwardingHeaders.cmd:
2808         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
2809
2810 2013-04-26  Roger Fong  <roger_fong@apple.com>
2811
2812         Disable sub-pixel layout on mac.
2813         https://bugs.webkit.org/show_bug.cgi?id=114999.
2814
2815         Reviewed by Simon Fraser.
2816
2817         * Configurations/FeatureDefines.xcconfig:
2818         * WebCore.exp.in: 
2819         Export symbol needed to be added for IntRect(const LayoutRect&) constructor, 
2820         which is now being used in pixelSnappedIntRect(const LayoutRect&) in LayoutRect.h after disabling sub-pixel layout.
2821
2822 2013-04-26  Simon Fraser  <simon.fraser@apple.com>
2823
2824         Layer-backed WebViews don't repaint content outside the visible area
2825         https://bugs.webkit.org/show_bug.cgi?id=115275
2826
2827         Reviewed by Beth Dakin.
2828
2829         Export ScrollView::setPaintsEntireContents(bool).
2830
2831         * WebCore.exp.in:
2832
2833 2013-04-26  Daker Fernandes Pinheiro  <daker.pinheiro@openbossa.org>
2834
2835         Change RenderMeter::valueRatio() visibility to public
2836         https://bugs.webkit.org/show_bug.cgi?id=115266
2837
2838         This function is currently unused.
2839         However, it is necessary to implement a RenderTheme capable of rendering Meter elements.
2840
2841         Reviewed by Alexis Menard.
2842
2843         No new tests, because no behaviour is changed.
2844
2845         * rendering/RenderMeter.h:
2846         (RenderMeter):
2847
2848 2013-04-26  Timothy Hatcher  <timothy@apple.com>
2849
2850         Add Runtime.parse to the Inspector protocol.
2851
2852         This will be used to parse console expressions for errors
2853         before evaluating them fully.
2854
2855         https://webkit.org/b/115242
2856
2857         Reviewed by Oliver Hunt.
2858
2859         * ForwardingHeaders/parser/ParserError.h: Added.
2860         * inspector/Inspector.json:
2861         * inspector/InspectorRuntimeAgent.cpp:
2862         (WebCore::InspectorRuntimeAgent::parse):
2863         * inspector/InspectorRuntimeAgent.h:
2864         (InspectorRuntimeAgent):
2865
2866 2013-04-26  Benjamin Poulain  <bpoulain@apple.com>
2867
2868         Fix the copyright years after r149057
2869
2870         * page/DiagnosticLoggingKeys.cpp: I accidentally removed a year from
2871         the copyright in r149057.
2872
2873 2013-04-26  Konrad Piascik  <kpiascik@blackberry.com>
2874
2875         Web Inspector: Crash due to null items from getDOMStorageItems
2876         https://bugs.webkit.org/show_bug.cgi?id=115176
2877
2878         Reviewed by Joseph Pecoraro.
2879
2880         findStorageArea was returning a null storageArea causing the items
2881         input paramater to not be set.  This was happening without any error
2882         being set at all.  Set an error to prevent a crash when we try to
2883         convert the result to a JSON string.
2884
2885         Added tests to check if session and local storage are empty that
2886         they are still functional.
2887
2888         * inspector/InspectorDOMStorageAgent.cpp:
2889         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2890
2891 2013-04-26  Martin Robinson  <mrobinson@igalia.com>
2892
2893         Remove the remaining Skia #ifdefs
2894         https://bugs.webkit.org/show_bug.cgi?id=114886
2895
2896         Reviewed by Benjamin Poulain.
2897
2898         * html/HTMLCanvasElement.cpp: Remove Skia #ifdef references.
2899         * platform/graphics/BitmapImage.cpp: Ditto.
2900         * platform/graphics/FloatPoint.h: Ditto.
2901         * platform/graphics/FloatRect.h: Ditto.
2902         * platform/graphics/FontCache.h: Ditto.
2903         * platform/graphics/Gradient.cpp: Ditto.
2904         * platform/graphics/Gradient.h: Ditto.
2905         * platform/graphics/GraphicsContext.cpp: Ditto.
2906         * platform/graphics/GraphicsContext.h: Ditto.
2907         * platform/graphics/GraphicsContext3D.h: Ditto.
2908         * platform/graphics/ImageBuffer.cpp: Ditto.
2909         * platform/graphics/ImageBuffer.h: Ditto.
2910         * platform/graphics/ImageBufferData.h: Ditto.
2911         * platform/graphics/IntPoint.h: Ditto.
2912         * platform/graphics/IntRect.h: Ditto.
2913         * platform/graphics/NativeImagePtr.h: Ditto.
2914         * platform/graphics/Path.h: Ditto.
2915         * platform/graphics/Pattern.cpp: Ditto.
2916         * platform/graphics/Pattern.h: Ditto.
2917         * platform/graphics/filters/FEBlend.h: Ditto.
2918         * platform/graphics/filters/FEColorMatrix.h: Ditto.
2919         * platform/graphics/filters/FEComponentTransfer.h: Ditto.
2920         * platform/graphics/filters/FEComposite.h: Ditto.
2921         * platform/graphics/filters/FEConvolveMatrix.h: Ditto.
2922         * platform/graphics/filters/FEDisplacementMap.h: Ditto.
2923         * platform/graphics/filters/FEGaussianBlur.h: Ditto.
2924         * platform/graphics/filters/FELighting.h: Ditto.
2925         * platform/graphics/filters/FEMorphology.h: Ditto.
2926         * platform/graphics/filters/FEOffset.h: Ditto.
2927         * platform/graphics/filters/FilterEffect.cpp: Ditto.
2928         * platform/graphics/filters/FilterEffect.h: Ditto.
2929         * platform/graphics/transforms/AffineTransform.h: Ditto.
2930         * platform/graphics/transforms/TransformationMatrix.h: Ditto.
2931         * platform/image-decoders/ImageDecoder.cpp: Ditto.
2932         * platform/image-decoders/ImageDecoder.h: Ditto.
2933         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
2934         * platform/image-decoders/webp/WEBPImageDecoder.cpp: Ditto.
2935         * platform/mac/LocalCurrentGraphicsContext.h: Ditto.
2936         * platform/mac/LocalCurrentGraphicsContext.mm: Ditto.
2937         * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
2938         * svg/graphics/SVGImage.cpp: Ditto.
2939         * svg/graphics/SVGImage.h: Ditto.
2940
2941 2013-04-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2942
2943         Assert in JSC::Heap::unprotect when closing facebook.com web site
2944         https://bugs.webkit.org/show_bug.cgi?id=115058
2945
2946         Reviewed by Darin Adler.
2947
2948         Grab a JSLock before calling RootObject::invalidate().
2949
2950         * bindings/js/ScriptController.cpp:
2951         (WebCore::ScriptController::~ScriptController):
2952
2953 2013-04-26  Eric Carlson  <eric.carlson@apple.com>
2954
2955         [Mac] in-band cues sometimes have incorrect duration
2956         https://bugs.webkit.org/show_bug.cgi?id=115200
2957
2958         Reviewed by Jer Noble.
2959
2960         No new tests, this is not possible to test in DRT.
2961
2962         * html/track/InbandTextTrack.cpp:
2963         (WebCore::InbandTextTrack::addGenericCue): Don't add completed cues to the map.
2964         (WebCore::InbandTextTrack::removeGenericCue): Log when a cue is removed from the track.
2965
2966         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2967         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Initialize m_pendingCueStatus.
2968         (WebCore::InbandTextTrackPrivateAVF::processCue): Never call update() on a cue that is delivered
2969             while seeking.
2970         (WebCore::InbandTextTrackPrivateAVF::beginSeeking): Flush all incomplete cues, remember that 
2971             we are seeking.
2972         (WebCore::InbandTextTrackPrivateAVF::resetCueValues): 
2973         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
2974
2975         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2976         (WebCore::MediaPlayerPrivateAVFoundation::seek): Call track->beginSeeking() instead of resetCueValues().
2977         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Call track->endSeeking().
2978
2979         * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
2980         (WebCore::InbandTextTrackPrivateAVFObjC::kind): Include class name in Kind enum values to 
2981             avoid compile error.
2982
2983 2013-04-26  Andreas Kling  <akling@apple.com>
2984
2985         Remove wxWebKit from WebCore.
2986         <http://webkit.org/b/115255>
2987
2988         Reviewed by Anders Carlsson.
2989
2990         * DerivedSources.make:
2991         * WebCorePrefix.h:
2992         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2993         (WebCore::JSInspectorFrontendHost::port):
2994         * config.h:
2995         * html/HTMLFormElement.cpp:
2996         * platform/ContextMenu.h:
2997         (ContextMenu):
2998         * platform/ContextMenuItem.h:
2999         * platform/Cursor.h:
3000         * platform/DragData.h:
3001         * platform/DragImage.h:
3002         * platform/FileSystem.h:
3003         * platform/PlatformExportMacros.h:
3004         * platform/PlatformKeyboardEvent.h:
3005         (PlatformKeyboardEvent):
3006         * platform/PlatformMenuDescription.h:
3007         * platform/PlatformMouseEvent.h:
3008         (PlatformMouseEvent):
3009         * platform/PlatformWheelEvent.h:
3010         (PlatformWheelEvent):
3011         * platform/ScrollView.cpp:
3012         * platform/ScrollView.h:
3013         (ScrollView):
3014         * platform/Widget.h:
3015         * platform/win/SharedTimerWin.cpp:
3016
3017 2013-04-26  Zalan Bujtas  <zalan@apple.com>
3018
3019         use-after-free removing a frame from its parent in a beforeload event of an OBJECT element
3020         https://bugs.webkit.org/show_bug.cgi?id=113964
3021
3022         Object elements have the tendecny to modify or even fully remove 
3023         the containing Document inside beforeload callback. While Document is removed, 
3024         RenderArena gets destroyed. Retained RenderWidgets fails to function with NULL arena.
3025         
3026         Protect RendereArena from getting wiped out, when Document is removed 
3027         during FrameView::updateWidget(). 
3028
3029         Reviewed by Antti Koivisto.
3030
3031         Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
3032
3033         * dom/Document.cpp:
3034         (WebCore::Document::attach):
3035         * dom/Document.h:
3036         (Document):
3037         * page/FrameView.cpp:
3038         (WebCore::FrameView::updateWidgets):
3039         * rendering/RenderArena.h:
3040         (RenderArena):
3041         (WebCore::RenderArena::create):
3042
3043 2013-04-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3044
3045         Optimize function and interface object length computation in bindings generator
3046         https://bugs.webkit.org/show_bug.cgi?id=115247
3047
3048         Reviewed by Kentaro Hara.
3049
3050         Introduce new GetFunctionLength() function that efficiently compute the length
3051         of a function (i.e. its number of mandatory parameters).
3052
3053         We now call GetFunctionLength() instead of GenerateFunctionParametersCheck()
3054         whenever we care only interested in the function length and not the actual
3055         expression for checking the parameters. This is much more efficient as
3056         GenerateFunctionParametersCheck() does a lot more processing than we need in
3057         this case.
3058
3059         No new tests, no behavior change.
3060
3061         * bindings/scripts/CodeGeneratorJS.pm:
3062         (GetFunctionLength):
3063         (GenerateImplementation):
3064         (GenerateConstructorHelperMethods):
3065
3066 2013-04-26  Andreas Kling  <akling@apple.com>
3067
3068         Web Audio: Remove reduplicative addInput() in AnalyserNode.
3069         <http://webkit.org/b/115244>
3070
3071         From Blink r149155 by <james.wei@intel.com>:
3072
3073         The parent class BasicInspectorNode already called addInput() and addOutput().
3074         So it is reduplicative to call them in AnalyserNode.
3075
3076         * Modules/webaudio/AnalyserNode.cpp:
3077         (WebCore::AnalyserNode::AnalyserNode):
3078         * Modules/webaudio/AudioBasicInspectorNode.cpp:
3079         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
3080         * Modules/webaudio/AudioBasicInspectorNode.h:
3081         (AudioBasicInspectorNode):
3082         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
3083         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
3084
3085 2013-04-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3086
3087         Mouseenter and mouseleave events not supported
3088         https://bugs.webkit.org/show_bug.cgi?id=18930
3089
3090         Reviewed by David Hyatt.
3091
3092         Implements mouseenter and mouseleave events from W3C DOM Level 3 Events.
3093         These event are already supported by all other major browsers.
3094
3095         To avoid performance regressions the new events are only dispatched when
3096         there are event listeners for them.
3097
3098         Tests: fast/events/mouseenter-mouseleave-capture.html
3099                fast/events/mouseenter-mouseleave.html
3100
3101         * bindings/scripts/CodeGenerator.pm:
3102         * dom/Document.cpp:
3103         (WebCore::Document::prepareMouseEvent):
3104         (WebCore::Document::updateHoverActiveState):
3105         * dom/Document.h:
3106         (Document):
3107         * dom/Document.idl:
3108         * dom/Element.h:
3109         (Element):
3110         * dom/Element.idl:
3111         * dom/EventListenerMap.cpp:
3112         (WebCore::EventListenerMap::containsCapturing):
3113         * dom/EventListenerMap.h:
3114         (EventListenerMap):
3115         * dom/EventNames.h:
3116         * dom/EventTarget.h:
3117         (EventTarget):
3118         (WebCore::EventTarget::hasCapturingEventListeners):
3119         * dom/MouseEvent.cpp:
3120         (WebCore::MouseEvent::create):
3121         (WebCore::MouseEvent::toElement):
3122         (WebCore::MouseEvent::fromElement):
3123         * html/HTMLAttributeNames.in:
3124         * html/HTMLElement.cpp:
3125         (WebCore::HTMLElement::eventNameForAttributeName):
3126         * page/DOMWindow.h:
3127         (DOMWindow):
3128         * page/DOMWindow.idl:
3129         * svg/SVGElement.cpp:
3130         (WebCore::SVGElement::parseAttribute):
3131         * svg/SVGElementInstance.h:
3132         (SVGElementInstance):
3133         * svg/SVGElementInstance.idl:
3134
3135 2013-04-26  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3136
3137         Add support for Web IDL partial interfaces to the bindings generator
3138         https://bugs.webkit.org/show_bug.cgi?id=115228
3139
3140         Reviewed by Kentaro Hara.
3141
3142         Add support for Web IDL partial interfaces to the bindings generator:
3143         http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface
3144
3145         Also drop support for the the WebKit-specific [Supplemental] extended
3146         attribute and use partial interfaces instead in existing IDL files.
3147
3148         No new tests, no behavior change.
3149
3150         * Modules/battery/NavigatorBattery.idl:
3151         * Modules/filesystem/DOMWindowFileSystem.idl:
3152         * Modules/filesystem/DataTransferItemFileSystem.idl:
3153         * Modules/filesystem/HTMLInputElementFileSystem.idl:
3154         * Modules/filesystem/WorkerContextFileSystem.idl:
3155         * Modules/gamepad/NavigatorGamepad.idl:
3156         * Modules/geolocation/NavigatorGeolocation.idl:
3157         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
3158         * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
3159         * Modules/mediastream/DOMWindowMediaStream.idl:
3160         * Modules/mediastream/NavigatorMediaStream.idl:
3161         * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
3162         * Modules/networkinfo/NavigatorNetworkInfoConnection.idl:
3163         * Modules/notifications/DOMWindowNotifications.idl:
3164         * Modules/notifications/WorkerContextNotifications.idl:
3165         * Modules/quota/DOMWindowQuota.idl:
3166         * Modules/quota/NavigatorStorageQuota.idl:
3167         * Modules/quota/WorkerNavigatorStorageQuota.idl:
3168         * Modules/speech/DOMWindowSpeech.idl:
3169         * Modules/speech/DOMWindowSpeechSynthesis.idl:
3170         * Modules/vibration/NavigatorVibration.idl:
3171         * Modules/webaudio/DOMWindowWebAudio.idl:
3172         * Modules/webdatabase/DOMWindowWebDatabase.idl:
3173         * Modules/webdatabase/WorkerContextWebDatabase.idl:
3174         * Modules/websockets/DOMWindowWebSocket.idl:
3175         * Modules/websockets/WorkerContextWebSocket.idl:
3176         * bindings/scripts/IDLAttributes.txt:
3177         * bindings/scripts/IDLParser.pm:
3178         (parsePartialDefinition):
3179         * bindings/scripts/generate-bindings.pl:
3180         * bindings/scripts/preprocess-idls.pl:
3181         (getPartialInterfaceNameFromIDLFile):
3182         * bindings/scripts/test/TestSupplemental.idl:
3183         * page/DOMWindowPagePopup.idl:
3184
3185 2013-04-25  Mihnea Ovidenie  <mihnea@adobe.com>
3186
3187         [CSS Regions] Hit testing is broken for absolutely positioned regions that have overflow: hidden
3188         https://bugs.webkit.org/show_bug.cgi?id=113874
3189
3190         Reviewed by David Hyatt.
3191
3192         Test: fast/regions/hit-test-abspos-overflow-region.html
3193
3194         When a region is an out-of-flow positioned object with an overflow clip, we need
3195         to make sure that hit testing works also for cases other than foreground (content)
3196         hit testing. This patch moves the previous hit testing code, that delegated foreground
3197         hit testing to the region's flow thread hit testing, into the hitTestContent method,
3198         now that RenderRegion is RenderBlock based.
3199
3200         * rendering/RenderRegion.cpp:
3201         (WebCore::RenderRegion::hitTestContents):
3202         * rendering/RenderRegion.h:
3203         (RenderRegion):
3204
3205 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
3206
3207         Copy and paste can strip !important CSS rules due to a bug in mergeStyleFromRules
3208         https://bugs.webkit.org/show_bug.cgi?id=115217
3209
3210         Reviewed by Darin Adler.
3211
3212         The bug was caused by mergeStyleFromRules overriding "important" style rules with "unimportant" inline styles.
3213         Fixed the bug by using addParsedProperty, which respects !important, in MutableStylePropertySet's
3214         mergeAndOverrideOnConflict, which was only used in editing code. Now that we've fixed this function, we can use
3215         it in ViewportStyleResolver::addViewportRule as well.
3216
3217         Test: editing/pasteboard/copy-paste-with-important-rules.html
3218
3219         * css/StylePropertySet.cpp:
3220         (WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict): Fixed to respect !important.
3221         * css/ViewportStyleResolver.cpp:
3222         (WebCore::ViewportStyleResolver::addViewportRule): Use mergeAndOverrideOnConflict now that the code is identical.
3223
3224 2013-04-25  Andreas Kling  <akling@apple.com>
3225
3226         StylePropertySet::getPropertyShorthand() should return a String.
3227         <http://webkit.org/b/115213>
3228
3229         Reviewed by Anders Carlsson.
3230
3231         Return a String directly from getPropertyShorthand() instead of forcing clients
3232         to call getPropertyNameString().
3233
3234         * css/PropertySetCSSStyleDeclaration.cpp:
3235         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
3236         * css/StylePropertySet.cpp:
3237         (WebCore::StylePropertySet::getPropertyShorthand):
3238         * css/StylePropertySet.h:
3239         (StylePropertySet):
3240
3241 2013-04-25  Chris Fleizach  <cfleizach@apple.com>
3242
3243         WEB SPEECH: language support does not work as expected
3244         https://bugs.webkit.org/show_bug.cgi?id=115119
3245
3246         Reviewed by Alexey Proskuryakov.
3247
3248         Make the Mac platform synthesizer have access to all the voices installed on the system.
3249
3250         * WebCore.exp.in:
3251         * platform/mac/PlatformSpeechSynthesizerMac.mm:
3252         (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
3253         * platform/mac/WebCoreSystemInterface.h:
3254         * platform/mac/WebCoreSystemInterface.mm:
3255
3256 2013-04-25  Chris Fleizach  <cfleizach@apple.com>
3257
3258         <meter> element not exposed to accessibility
3259         https://bugs.webkit.org/show_bug.cgi?id=109023
3260         rdar://problem/13658964
3261
3262         Reviewed by Tim Horton.
3263
3264         Makes the <meter> element appear in the AX tree by reusing the
3265         AccessibilityProgressIndicator element to handle either progress or meter
3266         elements.
3267
3268         Test: accessibility/meter-element.html
3269
3270         * accessibility/AXObjectCache.cpp:
3271         (WebCore::createFromRenderer):
3272         (WebCore::AXObjectCache::getOrCreate):
3273         * accessibility/AccessibilityNodeObject.cpp:
3274         (WebCore::AccessibilityNodeObject::canHaveChildren):
3275         (WebCore::AccessibilityNodeObject::visibleText):
3276         * accessibility/AccessibilityProgressIndicator.cpp:
3277         (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
3278         (WebCore::AccessibilityProgressIndicator::create):
3279         (WebCore::AccessibilityProgressIndicator::valueForRange):
3280         (WebCore::AccessibilityProgressIndicator::maxValueForRange):
3281         (WebCore::AccessibilityProgressIndicator::minValueForRange):
3282         (WebCore::AccessibilityProgressIndicator::progressElement):
3283         (WebCore::AccessibilityProgressIndicator::meterElement):
3284         * accessibility/AccessibilityProgressIndicator.h:
3285         (AccessibilityProgressIndicator):
3286         * accessibility/AccessibilityRenderObject.cpp:
3287         (WebCore::AccessibilityRenderObject::firstChild):
3288         (WebCore::AccessibilityRenderObject::lastChild):
3289             These methods are modified to handle when there is no rendered children, but there are Node
3290             children. The node children are desired when calculating text within a node, for example.
3291
3292 2013-04-25  Qiankun Miao  <qiankun.miao@intel.com>
3293
3294         [CSS Shaders] Remove the meshType from the CustomFilterOperation
3295         https://bugs.webkit.org/show_bug.cgi?id=102529
3296
3297         Reviewed by Dean Jackson.
3298
3299         No new tests, no new functionality.
3300
3301         MeshType can be accessed from program, so remove the m_meshType
3302         related code in CustomFilterOperation.
3303
3304         * css/StyleResolver.cpp:
3305         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3306         * platform/graphics/filters/CustomFilterOperation.cpp:
3307         (WebCore::CustomFilterOperation::CustomFilterOperation):
3308         (WebCore::CustomFilterOperation::blend):
3309         * platform/graphics/filters/CustomFilterOperation.h:
3310         (WebCore::CustomFilterOperation::create):
3311         (WebCore::CustomFilterOperation::meshType):
3312         (CustomFilterOperation):
3313         (WebCore::CustomFilterOperation::operator==):
3314         * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h:
3315         (WebCore::CoordinatedCustomFilterOperation::CoordinatedCustomFilterOperation):
3316
3317 2013-04-25  Kent Tamura  <tkent@chromium.org>
3318
3319         Ignore invalid regular expressions for input[pattern].
3320         https://bugs.webkit.org/show_bug.cgi?id=115204
3321
3322         Reviewed by Darin Adler.
3323
3324         According to the specification, we should not proceed regular expression
3325         matching if a pattern attribute value is an invalid regular
3326         expression. We had a bug that invalid expressions such as
3327         pattern=")foo(" made RegularExpression objects successfully.
3328
3329         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute
3330         > If an input element has a pattern attribute specified, and the
3331         > attribute's value, when compiled as a JavaScript regular expression with
3332         > the global, ignoreCase, and multiline flags disabled (see ECMA262
3333         > Edition 5, sections 15.10.7.2 through 15.10.7.4), compiles successfully,
3334         > then the resulting regular expression is the element's compiled pattern
3335         > regular expression. If the element has no such attribute, or if the
3336         > value doesn't compile successfully, then the element has no compiled
3337         > pattern regular expression.
3338
3339         This imports a part of Blink r148951.
3340
3341         Tests: Update fast/forms/ValidityState-patternMismatch.html
3342
3343         * html/BaseTextInputType.cpp:
3344         (WebCore::BaseTextInputType::patternMismatch):
3345         Check correctness of pattern attribute value before wrapping with parentheses.
3346         * platform/text/RegularExpression.cpp:
3347         (WebCore::RegularExpression::isValid): Added.
3348         * platform/text/RegularExpression.h:
3349         (RegularExpression): Declare isValid.
3350
3351 2013-04-25  Antoine Quint  <graouts@apple.com>
3352
3353         Glyphs may fail to render when using SVG font
3354         https://bugs.webkit.org/show_bug.cgi?id=115193
3355
3356         Reviewed by Simon Fraser.
3357
3358         Calling SimpleFontData::applyTransforms() when the font used is
3359         an SVG font makes little sense since Core Text doesn’t know or
3360         understand SVG fonts and would be passed some other, unrelated
3361         platform font.
3362
3363         * platform/graphics/SimpleFontData.h:
3364         (WebCore::SimpleFontData::applyTransforms):
3365
3366 2013-04-25  Jer Noble  <jer.noble@apple.com>
3367
3368         Media elements shouldn't resume playback when a page is restored from the back/forward cache if the WKView isn't in a window
3369         https://bugs.webkit.org/show_bug.cgi?id=115191
3370
3371         Reviewed by Eric Carlson.
3372
3373         If a page is suspended, then resumed when its WebView or WKView has been removed from a window,
3374         the page's media elements will unpause. Check whether media is allowed to start during resume()
3375         via Page::canMediaStart() and if not, register for mediaCanStart notifications. Then, in 
3376         mediaCanStart() if the media is force-paused, unpause it.
3377
3378         * html/HTMLMediaElement.cpp:
3379         (WebCore::HTMLMediaElement::suspend):
3380         (WebCore::HTMLMediaElement::resume):
3381         (WebCore::HTMLMediaElement::mediaCanStart):
3382         * html/HTMLMediaElement.h:
3383         (WebCore::HTMLMediaElement::pageConsentRequiredForResume):
3384
3385 2013-04-25  Andreas Kling  <akling@apple.com>
3386
3387         Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
3388
3389         Rubber-stamped by Anders Koivisto.
3390
3391         * PlatformWinCE.cmake:
3392         * accessibility/AccessibilityObject.h:
3393         * html/HTMLLinkElement.cpp:
3394         (WebCore::HTMLLinkElement::setCSSStyleSheet):
3395
3396 2013-04-25  Patrick Gansterer  <paroga@webkit.org>
3397
3398         Remove OS(WINCE) from AccessibilityObject.h
3399         https://bugs.webkit.org/show_bug.cgi?id=115192
3400
3401         Reviewed by Andreas Kling.
3402
3403         Use the same files like the the other PLATFORM(WIN) ports use.
3404
3405         * PlatformWinCE.cmake:
3406         * accessibility/AccessibilityObject.h:
3407         (AccessibilityObject):
3408
3409 2013-04-25  Alberto Garcia  <agarcia@igalia.com>
3410
3411         Add definition of GlyphBufferGlyph for BlackBerry
3412         https://bugs.webkit.org/show_bug.cgi?id=115183
3413
3414         Reviewed by Xan Lopez.
3415
3416         BlackBerry uses an unsigned int.
3417
3418         * platform/graphics/GlyphBuffer.h:
3419         (WebCore):
3420
3421 2013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
3422
3423         ScriptExecutionContext log exception should include a column number
3424         https://bugs.webkit.org/show_bug.cgi?id=114315
3425
3426         Reviewed by Oliver Hunt.
3427
3428         Test: inspector/console/console-exception-stack-traces.html
3429
3430         * bindings/js/ScriptCallStackFactory.h:
3431         * bindings/js/ScriptCallStackFactory.cpp:
3432         (WebCore::createScriptCallStackFromException):
3433         Generate a ScriptCallStack from an exception. Use the vm.exceptionStack
3434         if available, and fallback to the exception object where needed.
3435
3436         * bindings/js/JSDOMBinding.cpp:
3437         (WebCore::reportException):
3438         Always include a non-empty call stack with exceptions.
3439         Where not provided, fallback to the exception object.
3440
3441         * dom/Document.h:
3442         * dom/Document.cpp:
3443         (WebCore::Document::logExceptionToConsole):
3444         * dom/ScriptExecutionContext.h:
3445         * dom/ScriptExecutionContext.cpp:
3446         (WebCore::ScriptExecutionContext::PendingException::PendingException):
3447         (ScriptExecutionContext::PendingException):
3448         (WebCore::ScriptExecutionContext::reportException):
3449         * workers/DefaultSharedWorkerRepository.cpp:
3450         * workers/SharedWorkerContext.cpp:
3451         (WebCore::SharedWorkerContext::logExceptionToConsole):
3452         * workers/SharedWorkerContext.h:
3453         * workers/WorkerContext.cpp:
3454         (WebCore::WorkerContext::logExceptionToConsole):
3455         * workers/WorkerContext.h:
3456         * workers/WorkerMessagingProxy.cpp:
3457         (WebCore::WorkerExceptionTask::performTask):
3458         Plumb columnNumber through as needed.
3459
3460 2013-04-25  Gregg Tavares  <gman@chromium.org>
3461
3462         Fix build files so WebGLDebugXXX extensions can be used if enabled.
3463         https://bugs.webkit.org/show_bug.cgi?id=113976
3464
3465         Reviewed by Dean Jackson.
3466
3467         No new tests as no new functionality.
3468
3469         * DerivedSources.make:
3470         * GNUmakefile.list.am:
3471         * WebCore.xcodeproj/project.pbxproj:
3472         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3473
3474 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
3475
3476         cloneChildNodes looks for deleteButtonController in each level of recursion
3477         https://bugs.webkit.org/show_bug.cgi?id=115146
3478
3479         Reviewed by Andreas Kling.
3480
3481         Obtain the delete button controller upfront, and shallow copy descendents of each child
3482         so that we don't look for the delete button controller inside cloneNode called on each child.
3483
3484         Performance Tests: DOM/CloneNodes.html
3485
3486         * dom/ContainerNode.cpp:
3487         (WebCore::cloneChildNodesAvoidingDeleteButon): Extracted.
3488         (WebCore::ContainerNode::cloneChildNodes):
3489
3490 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
3491
3492         HTMLOptionsCollection's namedItem and name getter should return the first item
3493         https://bugs.webkit.org/show_bug.cgi?id=115150
3494
3495         Reviewed by Andreas Kling.
3496
3497         Following the resolution in http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038355.html,
3498         the spefication has been updated to only return the first item when there are multiple items of the same name
3499         in HTMLOptionsCollection; this new behavior matches that of Firefox and Opera (Presto).
3500
3501         Implement this new behavior to remove the custom binding code and use the fast path in namedItem and name
3502         getter of HTMLOptionsCollection. (Obtaining all items for a given name is expensive!).
3503
3504         Tests: fast/dom/HTMLSelectElement/named-options.html
3505                fast/dom/html-collections-named-getter.html
3506
3507         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3508         (WebCore): Removed the custom bindings for name getter and namedItem.
3509         * html/HTMLOptionsCollection.idl:
3510
3511 2013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
3512
3513         Web Inspector: ConsoleMessage should include line and column number where possible
3514         https://bugs.webkit.org/show_bug.cgi?id=114929
3515
3516           - adds "m_column" to WebCore::ConsoleMessage
3517           - adds "column" to Console.ConsoleMessage in the inspector protocol
3518           - set the column number for console.* functions (Console.cpp)
3519           - set the column number for XSLT errors (XSLTProcessor)
3520           - plumb columnNumber everywhere else it is needed, set it to 0 and file
3521             bugs for all cases missing columnNumber that could provide it.
3522
3523         Reviewed by Timothy Hatcher.
3524
3525         Test: inspector/console/console-url-line-column.html
3526               inspector/console/console-messages-stack-traces.html
3527
3528         * inspector/ConsoleMessage.h:
3529         * inspector/ConsoleMessage.cpp:
3530         (WebCore::ConsoleMessage::ConsoleMessage):
3531         (WebCore::ConsoleMessage::autogenerateMetadata):
3532         (WebCore::ConsoleMessage::addToFrontend):
3533         (WebCore::ConsoleMessage::isEqual):
3534         Add m_column and set it where appropriate.
3535
3536         * inspector/Inspector.json:
3537         Add column property to Console.ConsoleMessage.
3538
3539         * page/Console.cpp:
3540         (WebCore::internalAddMessage):
3541         (WebCore::Console::profile):
3542         Set columnNumber like lineNumber from the last stack frame.
3543         (WebCore::Console::groupEnd):
3544         Line and column are unused in this message type, set both to 0.
3545
3546         * xml/XSLTProcessorLibxslt.cpp:
3547         (WebCore::XSLTProcessor::parseErrorFunc):
3548         * xml/XSLTProcessorQt.cpp:
3549         (WebCore::XSLTMessageHandler::handleMessage):
3550         Add real column numbers, the XSLT handlers already had it available.
3551
3552         * bindings/js/JSCustomXPathNSResolver.cpp:
3553         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3554         * css/CSSParser.cpp:
3555         (WebCore::CSSParser::logError):
3556         * dom/ScriptExecutionContext.h:
3557         * dom/ScriptExecutionContext.cpp:
3558         (WebCore::ScriptExecutionContext::addConsoleMessage):
3559         * dom/Document.cpp:
3560         (WebCore::Document::logExceptionToConsole):
3561         (WebCore::Document::addMessage):
3562         * dom/Document.h:
3563         * inspector/InspectorConsoleAgent.cpp:
3564         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3565         (WebCore::InspectorConsoleAgent::stopTiming):
3566         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
3567         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3568         (WebCore::InspectorConsoleAgent::didFailLoading):
3569         * inspector/InspectorConsoleAgent.h:
3570         * inspector/InspectorConsoleInstrumentation.h:
3571         (WebCore::InspectorInstrumentation::addMessageToConsole):
3572         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
3573         * inspector/InspectorInstrumentation.cpp:
3574         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3575         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
3576         (WebCore::InspectorInstrumentation::addProfileImpl):
3577         * inspector/InspectorInstrumentation.h:
3578         (InspectorInstrumentation):
3579         * inspector/InspectorProfilerAgent.cpp:
3580         (WebCore::InspectorProfilerAgent::addProfile):
3581         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
3582         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
3583         (WebCore::InspectorProfilerAgent::start):
3584         (WebCore::InspectorProfilerAgent::stop):
3585         * inspector/InspectorProfilerAgent.h:
3586         (InspectorProfilerAgent):
3587         * loader/EmptyClients.h:
3588         (WebCore::EmptyChromeClient::addMessageToConsole):
3589         * page/ChromeClient.h:
3590         (WebCore::ChromeClient::addMessageToConsole):
3591         * page/ContentSecurityPolicy.cpp:
3592         (WebCore::ContentSecurityPolicy::logToConsole):
3593         * page/PageConsole.cpp:
3594         (WebCore::PageConsole::addMessage):
3595         * page/PageConsole.h:
3596         * workers/DefaultSharedWorkerRepository.cpp:
3597         (SharedWorkerProxy):
3598         (WebCore::postExceptionTask):
3599         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
3600         (WebCore::postConsoleMessageTask):
3601         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
3602         * workers/SharedWorkerContext.cpp:
3603         (WebCore::SharedWorkerContext::logExceptionToConsole):
3604         * workers/WorkerContext.cpp:
3605         (WebCore::WorkerContext::logExceptionToConsole):
3606         (WebCore::WorkerContext::addConsoleMessage):
3607         (WebCore::WorkerContext::addMessage):
3608         (WebCore::WorkerContext::addMessageToWorkerConsole):
3609         * workers/WorkerContext.h:
3610         * workers/WorkerMessagingProxy.cpp:
3611         (WebCore::WorkerExceptionTask::create):
3612         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
3613         (WebCore::WorkerExceptionTask::performTask):
3614         (WorkerExceptionTask):
3615         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
3616         (WebCore::postConsoleMessageTask):
3617         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
3618         * workers/WorkerMessagingProxy.h:
3619         (WorkerMessagingProxy):
3620         * workers/WorkerReportingProxy.h:
3621         (WorkerReportingProxy):
3622         Plumb columnNumber through where appropriate. File bugs where missing.
3623
3624 2013-04-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3625
3626         [Qt] Animated opacity does not trigger accelerated compositing
3627         https://bugs.webkit.org/show_bug.cgi?id=115107
3628
3629         Reviewed by Simon Fraser.
3630
3631         Add extra option to also trigger compositing on animated opacity.
3632
3633         * page/ChromeClient.h:
3634         * rendering/RenderLayerCompositor.cpp:
3635         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
3636
3637 2013-04-25  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
3638
3639         Sec-WebSocket-Extensions header field must not appear more than once in an HTTP response.
3640         https://bugs.webkit.org/show_bug.cgi?id=115128
3641
3642         Reviewed by Alexey Proskuryakov.
3643
3644         According to WebSocket specification Sec-WebSocket-Extensions header field
3645         must not appear more than once in an HTTP response. It is ok if it appears
3646         more than once in client request. Also add a check for invalid UTF-8
3647         characters when parsing Sec-WebSocket-Extensions quoted string.
3648
3649         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header.html
3650
3651         * Modules/websockets/WebSocketExtensionParser.cpp:
3652         (WebCore::WebSocketExtensionParser::consumeQuotedString): Return false if there is
3653         invalid character in the quoted string being parsed.
3654         * Modules/websockets/WebSocketHandshake.cpp:
3655         (WebCore::WebSocketHandshake::readHTTPHeaders): Check if Sec-WebSocket-Extensions
3656         appears more than once in header response. Abort handshake if it does.
3657
3658 2013-04-25  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3659
3660         REGRESSION(r148758): Remove WTFLogAlways call from IconLoader.
3661         https://bugs.webkit.org/show_bug.cgi?id=115182
3662
3663         Reviewed by Dan Bernstein.
3664
3665         The call added in r148758 was apparently a leftover from some debugging
3666         session, and it makes the Interactive/window-resize.html performance
3667         test randomly fail on Qt and EFL due to WTFLogAlways writing to stderr.
3668
3669         * loader/icon/IconLoader.cpp:
3670         (WebCore::IconLoader::notifyFinished):
3671
3672 2013-04-25  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3673
3674         Add support for Web IDL callback interfaces to the bindings generator
3675         https://bugs.webkit.org/show_bug.cgi?id=115179
3676
3677         Reviewed by Kentaro Hara.
3678
3679         Add support in the bindings generator for Web IDL callback interfaces:
3680         http://dev.w3.org/2006/webapi/WebIDL/#dfn-callback-interface
3681
3682         Drop support for the WebKit-specific [Callback] extended attributes
3683         on Web IDL interfaces and update existing IDL files to use proper
3684         callback interfaces instead.
3685
3686         No new tests, no behavior change.
3687
3688         * Modules/filesystem/EntriesCallback.idl:
3689         * Modules/filesystem/EntryCallback.idl:
3690         * Modules/filesystem/ErrorCallback.idl:
3691         * Modules/filesystem/FileCallback.idl:
3692         * Modules/filesystem/FileSystemCallback.idl:
3693         * Modules/filesystem/FileWriterCallback.idl:
3694         * Modules/filesystem/MetadataCallback.idl:
3695         * Modules/geolocation/PositionCallback.idl:
3696         * Modules/geolocation/PositionErrorCallback.idl:
3697         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
3698         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
3699         * Modules/mediastream/RTCErrorCallback.idl:
3700         * Modules/mediastream/RTCSessionDescriptionCallback.idl:
3701         * Modules/mediastream/RTCStatsCallback.idl:
3702         * Modules/notifications/NotificationPermissionCallback.idl:
3703         * Modules/quota/StorageErrorCallback.idl:
3704         * Modules/quota/StorageQuotaCallback.idl:
3705         * Modules/quota/StorageUsageCallback.idl:
3706         * Modules/webaudio/AudioBufferCallback.idl:
3707         * Modules/webdatabase/DatabaseCallback.idl:
3708         * Modules/webdatabase/SQLStatementCallback.idl:
3709         * Modules/webdatabase/SQLStatementErrorCallback.idl:
3710         * Modules/webdatabase/SQLTransactionCallback.idl:
3711         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
3712         * Modules/webdatabase/SQLTransactionSyncCallback.idl:
3713         * bindings/scripts/CodeGeneratorJS.pm:
3714         (GenerateInterface):
3715         * bindings/scripts/IDLParser.pm:
3716         (parseCallbackRestOrInterface):
3717         * bindings/scripts/test/TestCallback.idl:
3718         * dom/RequestAnimationFrameCallback.idl:
3719         * dom/StringCallback.idl:
3720         * html/VoidCallback.idl:
3721
3722 2013-04-25  Adrian Perez de Castro  <aperez@igalia.com>
3723
3724         [GStreamer] Add audio/speex MIME type as supported
3725         https://bugs.webkit.org/show_bug.cgi?id=115032
3726
3727         Reviewed by Philippe Normand.
3728
3729         GStreamer has support for the Speex codec (http://www.speex.org).
3730         Speex streams may be embedded in a Ogg container, or standalone.
3731         The case of the Ogg container is already covered by the "*/ogg"
3732         MIME types declared as supported by the GStreamer media playing
3733         code, but for standalone streams to work, "audio/speex" has to
3734         be added.
3735
3736         With this, and the needed GStreamer plugin installed, the GTK+
3737         launcher is able to correctly play Speex streams served with
3738         "Content-type: audio/speex".
3739
3740         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3741
3742 2013-04-25  Andreas Kling  <akling@apple.com>
3743
3744         Add FINAL decorators to the InlineBox class hierarchy.
3745         <http://webkit.org/b/115177>
3746
3747         Reviewed by Antti Koivisto.
3748
3749         From Blink r148628 by <cevans@chromium.org>:
3750
3751         FINAL is a macro in wtf/Compiler.h that does the correct thing if the compiler does not support "final")
3752         The approach used is as simple as possible whilst being thorough.
3753         So, leaf classes have FINAL applied to the whole class whereas intermediary classes have FINAL applied to relevant methods.
3754
3755         FINAL allows a compiler to devirtualize call sites and turn them into direct calls. As you might expect, this is perf positive:
3756         (clang on Linux):
3757         - line_layout.html goes from 120 runs/s -> 123 runs/2, +2.5%
3758         - html5-full-render.html goes from 3176ms -> 3162ms, +0.4%
3759
3760         I have confidence that the former result is statistically significant (as the numbers are very very stable) but not the latter.
3761
3762         * rendering/EllipsisBox.h:
3763         * rendering/InlineFlowBox.h:
3764         * rendering/InlineTextBox.h:
3765         * rendering/RootInlineBox.h:
3766         * rendering/TrailingFloatsRootInlineBox.h:
3767         * rendering/svg/SVGInlineFlowBox.h:
3768         * rendering/svg/SVGInlineTextBox.h:
3769         * rendering/svg/SVGRootInlineBox.h:
3770
3771 2013-04-25  Andreas Kling  <akling@apple.com>
3772
3773         CSS parser: Add error recovery while parsing @-webkit-keyframes key values.
3774         <http://webkit.org/b/115175>
3775
3776         From Blink r148714 by <apavlov@chromium.org>:
3777
3778         If not a percentage, "from", or "to" value is used in a key list, the rule is erroneous,
3779         and due to the absense of recovery, the parser skips the following, valid CSS rule.
3780
3781         On a related note, keyframes, whose selectors contain invalid keys, should be discarded
3782         altogether, according to <http://www.w3.org/TR/css3-animations/#keyframes>
3783
3784         Tests: animations/keyframes-invalid-keys.html
3785                fast/css/webkit-keyframes-errors.html
3786
3787         * css/CSSGrammar.y.in:
3788         * css/CSSParser.cpp:
3789         (WebCore::CSSParser::rewriteSpecifiers):
3790
3791 2013-04-25  Antti Koivisto  <antti@apple.com>
3792
3793         REGRESSION (r147797): Animations slideshows of images on www.thesuperficial.com are slow
3794         https://bugs.webkit.org/show_bug.cgi?id=115172
3795
3796         Reviewed by Andreas Kling.
3797
3798         On this page ads dynamically loaded to subframes on slideshow navigation switch us to state where we throttle layer flushes.
3799         
3800         Fix by ignoring any subframe-originated loads when determining throttling.
3801
3802         * loader/FrameLoader.cpp:
3803         (WebCore::FrameLoader::loadProgressingStatusChanged):
3804         * loader/ProgressTracker.cpp:
3805         (WebCore::ProgressTracker::isMainLoadProgressing):
3806         
3807             Rename, ignore subframe originated loads. Subframe loads that are initiated during the main load still count.
3808
3809         * loader/ProgressTracker.h:
3810         (ProgressTracker):
3811         * page/FrameView.cpp:
3812         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
3813         * page/FrameView.h:
3814         (FrameView):
3815         * rendering/RenderLayerBacking.cpp:
3816         (WebCore::computeTileCoverage):
3817
3818 2013-04-25  Andreas Kling  <akling@apple.com>
3819
3820         SVG: Fix viewBox animations on shapes with non-scaling-stroke.
3821         <http://webkit.org/b/115173>
3822
3823         From Blink r149058 by <pdr@chromium.org>:
3824
3825         Previously hasAttribute() to determine if a viewBox was set in the transform
3826         code for non-scaling-strokes. hasAttribute() should not be used in this case,
3827         as it will return false if the attribute is not set but the value is animating.
3828
3829         This patch switches to checking if the viewBox is empty instead of checking for
3830         the presence of the attribute.
3831
3832         Test: svg/stroke/animated-non-scaling-stroke.html
3833
3834         * svg/SVGSVGElement.cpp:
3835         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
3836         * svg/SVGSVGElement.h:
3837         (WebCore::SVGSVGElement::hasEmptyViewBox):
3838
3839 2013-04-25  Andreas Kling  <akling@apple.com>
3840
3841         Remove isPluginElement hack in Document::setFocusedNode()
3842         <http://webkit.org/b/115171>
3843
3844         From Blink r148800 by <tkent@chromium.org>:
3845
3846         This hack is no longer necessary because r147591 made isFocusable for plugin
3847         elements work correctly.
3848
3849         * dom/Document.cpp:
3850         (WebCore::Document::setFocusedNode):
3851
3852 2013-04-25  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
3853
3854         EventSource: Synchronous loader callback not handled properly
3855         https://bugs.webkit.org/show_bug.cgi?id=115104
3856
3857         When attempting a cross-origin request towards a non-HTTP URL, an early verification
3858         of the protocol scheme will cause didFailAccessControlCheck to be called synchronously
3859         before the loader has even finished being created. This special case was not handled
3860         properly, since we tried to cancel a non-existing loader, which resulted in a crash.
3861         In addition to checking whether a request is in flight before trying to cancel it,
3862         this change also schedules the initial creation of the loader to happen asynchronously
3863         when an EventSource is constructed, so that a script can register for the error event
3864         before it is dispatched (as a result of passing a non-HTTP URL to the constructor).
3865
3866         Reviewed by Alexey Proskuryakov.
3867
3868         Test: http/tests/eventsource/eventsource-cors-non-http.html
3869
3870         * page/EventSource.cpp:
3871         (WebCore::EventSource::EventSource):
3872         (WebCore::EventSource::create):
3873         (WebCore::EventSource::scheduleInitialConnect):
3874         (WebCore):
3875         (WebCore::EventSource::scheduleReconnect):
3876         (WebCore::EventSource::connectTimerFired):
3877         (WebCore::EventSource::close):
3878         (WebCore::EventSource::abortConnectionAttempt):
3879         * page/EventSource.h:
3880         (EventSource):
3881
3882 2013-04-25  Patrick Gansterer  <paroga@webkit.org>
3883
3884         Unreviewed WinCE build fix after r148545.
3885
3886         * page/wince/FrameWinCE.cpp:
3887
3888 2013-04-24  Kent Tamura  <tkent@chromium.org>
3889
3890         Back references don't work in pattern attribute
3891         https://bugs.webkit.org/show_bug.cgi?id=105875
3892
3893         Reviewed by Geoffrey Garen.
3894
3895         This imports a part of Blink r148951.
3896
3897         Tests: Update fast/forms/ValidityState-patternMismatch.html
3898
3899         * html/BaseTextInputType.cpp:
3900         (WebCore::BaseTextInputType::patternMismatch):
3901         Don't use capturing parentheses. They affected back references in
3902         pattern attribute values.
3903
3904 2013-04-24  Tim Horton  <timothy_horton@apple.com>
3905
3906         PDFPlugin: Cursor should become an i-beam when over selectable text
3907         https://bugs.webkit.org/show_bug.cgi?id=115018
3908         <rdar://problem/12645012>
3909
3910         Reviewed by Alexey Proskuryakov.
3911
3912         * WebCore.exp.in: Export the I-beam and arrow cursors.
3913
3914 2013-04-24  Simon Fraser  <simon.fraser@apple.com>
3915
3916         Garbage at the top of http://www.technologyreview.com after scrolling
3917         https://bugs.webkit.org/show_bug.cgi?id=114825
3918
3919         Reviewed by Tim Horton.
3920
3921         Garbage pixels are caused by GraphicsLayerCA setting a layer to be opaque,
3922         but then not painting anything into it. On this page, the element is
3923         toggled to be visibility:hidden on scrolling, but RenderLayer::backgroundIsKnownToBeOpaqueInRect()
3924         failed to consider that as something that can cause backgrounds not to be opaque.
3925         
3926         For the bug to happen, some subtle interactions with r142012 come into play
3927         for the layer to remain visible, hence the slightly complex testcase.
3928         
3929         Test: compositing/contents-opaque/visibility-hidden.html
3930
3931         * rendering/RenderLayer.cpp:
3932         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
3933
3934 2013-04-24  Simon Fraser  <simon.fraser@apple.com>
3935
3936         Dump layer opaqueness in the Compositing log output
3937         https://bugs.webkit.org/show_bug.cgi?id=115132
3938
3939         Reviewed by Tim Horton.
3940
3941         It's useful to see whether we consider layers to be opaque in the Compositing
3942         log channel output, so dump it.
3943
3944         * rendering/RenderLayerCompositor.cpp:
3945         (WebCore::RenderLayerCompositor::logLayerInfo):
3946
3947 2013-04-24  Seokju Kwon  <seokju.kwon@gmail.com>
3948
3949         Add efl to JSInspectorFrontendHost::port()
3950         https://bugs.webkit.org/show_bug.cgi?id=115137
3951
3952         Reviewed by Timothy Hatcher.
3953
3954         No new tests, because there is no change in behavior.
3955
3956         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3957         (WebCore::JSInspectorFrontendHost::port):
3958
3959 2013-04-24  Kangil Han  <kangil.han@samsung.com>
3960
3961         Function parameter quotePair can be passed by reference
3962         https://bugs.webkit.org/show_bug.cgi?id=115089
3963
3964         Reviewed by Alexey Proskuryakov.
3965
3966         Minor performance patch.
3967
3968         * rendering/style/QuotesData.cpp:
3969         (WebCore::QuotesData::addPair):
3970         * rendering/style/QuotesData.h:
3971         (QuotesData):
3972
3973 2013-04-24  Brady Eidson  <beidson@apple.com>
3974
3975         Implementors of CachedResource subclasses should be forced to decide if encoded data can be replaced.
3976         https://bugs.webkit.org/show_bug.cgi?id=115140
3977
3978         Reviewed by Beth Dakin.
3979
3980         No new tests (No behavior change).
3981
3982         This makes mayTryReplaceEncodedData() return false in CachedResource, but overrides to true
3983         in all CachedResource subclasses besides CachedFont (which already has an implementation).
3984
3985         * loader/cache/CachedCSSStyleSheet.h:
3986         * loader/cache/CachedImage.h:
3987         * loader/cache/CachedRawResource.h:
3988         * loader/cache/CachedResource.h:
3989         * loader/cache/CachedSVGDocument.h:
3990         * loader/cache/CachedScript.h:
3991         * loader/cache/CachedShader.h:
3992         * loader/cache/CachedTextTrack.h:
3993         * loader/cache/CachedXSLStyleSheet.h:
3994
3995 2013-04-24  Brady Eidson  <beidson@apple.com>
3996
3997         Once a custom font is cached to disk, it starts failing to render until the page is refreshed.
3998         <rdar://problem/13622998> and https://bugs.webkit.org/show_bug.cgi?id=115131
3999
4000         Reviewed by Alexey Proskuryakov.
4001
4002         No new tests (Not a tested config, nor are disk cache issues currently testable).
4003
4004         * loader/cache/CachedResource.h:
4005         (WebCore::CachedResource:: mayTryReplaceEncodedData): Allow subclasses to refuse encoded data replacement.
4006
4007         * loader/cache/CachedResource.cpp:
4008         (WebCore::CachedResource::tryReplaceEncodedData): Only try if shouldTryReplaceEncodedData() is true.
4009
4010         * loader/cache/CachedFont.cpp:
4011         (WebCore::CachedFont::CachedFont):
4012         (WebCore::CachedFont::ensureCustomFontData):
4013         (WebCore::CachedFont::mayTryReplaceEncodedData): Return false if the custom font data has ever been created.
4014         * loader/cache/CachedFont.h:
4015
4016 2013-04-24  Beth Dakin  <bdakin@apple.com>
4017
4018         Vertical overlay scrollbar in iframes fades in and out rapidly when you scroll in 
4019         a circle
4020         https://bugs.webkit.org/show_bug.cgi?id=115124
4021         -and corresponding-
4022         <rdar://problem/13168957>
4023
4024         Reviewed by Anders Carlsson.
4025
4026         With http://trac.webkit.org/changeset/119834 we started calling 
4027         ScrollbarPainterController's contentAreaScrolled/contentAreaScrolledInDirection 
4028         API on a zero-delay timer instead of calling it right away. This prevented some 
4029         crashes that we saw whenever this was called during a layout. However, that delay, 
4030         combined with the particulars of contentAreaScrolledInDirection cause this bug 
4031         where sometimes the scrollbars in an iframe will fade out very noticeably when 
4032         scrolling in a circle.
4033
4034         This change makes it so we will only use the zero-delay timer if the 
4035         ScrollableArea is not currently handling a wheel event. If it IS handling a wheel 
4036         event, then we will send the notifications to AppKit right away. I confirmed that 
4037         this change did not reintroduce the old crashes. 
4038
4039         Keep track of whether we are currently handling a wheel event with the new member 
4040         variable m_isHandlingWheelEvent.
4041         * page/EventHandler.cpp:
4042         (WebCore::EventHandler::EventHandler):
4043         (WebCore::EventHandler::handleWheelEvent):
4044         * page/EventHandler.h:
4045         (WebCore::EventHandler::isHandlingWheelEvent):
4046         (EventHandler):
4047
4048         To prevent layering violations, the ScrollableArea sub-classes will have to access 
4049         this information from the EventHandler.
4050         * page/FrameView.cpp:
4051         (WebCore::FrameView::isHandlingWheelEvent):
4052         * page/FrameView.h:
4053         * platform/ScrollableArea.h:
4054         (WebCore::ScrollableArea::isHandlingWheelEvent):
4055         * rendering/RenderLayer.cpp:
4056         (WebCore::RenderLayer::isHandlingWheelEvent):
4057         * rendering/RenderLayer.h:
4058         (RenderLayer):
4059         * rendering/RenderListBox.cpp:
4060         (WebCore::RenderListBox::isHandlingWheelEvent):
4061         * rendering/RenderListBox.h:
4062
4063         sendContentAreaScrolledSoon() can be private. Also add new function 
4064         sendContentAreaScrolled().
4065         * platform/mac/ScrollAnimatorMac.h:
4066         (ScrollAnimatorMac):
4067
4068         If the ScrollableArea is handling a wheel event, call 
4069         sendContentAreaScrolled(), otherwise call sendContentAreaScrolledSoon()
4070         * platform/mac/ScrollAnimatorMac.mm:
4071         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
4072         (WebCore::ScrollAnimatorMac::sendContentAreaScrolled):
4073
4074         Re-factored to use sendContentAreaScrolled()
4075         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
4076
4077 2013-04-24  Ryosuke Niwa  <rniwa@webkit.org>
4078
4079         Fix a merge error in r149007 (was missing a null check added in r148777).
4080
4081         * rendering/LogicalSelectionOffsetCaches.h:
4082         (WebCore::containingBlockForAbsolutePosition):
4083
4084 2013-04-24  Otto Derek Cheung  <otcheung@rim.com>
4085
4086         Battery API won't return updated battery status until client calls didChangeBatteryStatus
4087         https://bugs.webkit.org/show_bug.cgi?id=114891
4088
4089         Reviewed by Rob Buis.
4090
4091         The BatteryStatus object in BatteryManager won't get updated until BatteryClient calls
4092         didChangeBatteryStatus in BatteryController. Any attempts to call webkitBattery.charged()
4093         or other get functions will always return the default values until the next battery status
4094         change object gets passed to the controller.
4095
4096         We need to update the manager when we attach it to the controller, and update all
4097         existing managers when the controller receives it's first battery status object.
4098
4099         * Modules/battery/BatteryController.cpp:
4100         (WebCore::BatteryController::addListener):
4101         (WebCore::BatteryController::updateBatteryStatus):
4102         * Modules/battery/BatteryManager.cpp:
4103         (WebCore::BatteryManager::didChangeBatteryStatus):
4104         (WebCore::BatteryManager::updateBatteryStatus):
4105         (WebCore):
4106         * Modules/battery/BatteryManager.h:
4107         (BatteryManager):