66148d25487375c5baaa8f1dadc23c5e9f7961e0
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-25  Ryosuke Niwa  <rniwa@webkit.org>
2
3         HTMLOptionsCollection's namedItem and name getter should return the first item
4         https://bugs.webkit.org/show_bug.cgi?id=115150
5
6         Reviewed by Andreas Kling.
7
8         Following the resolution in http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038355.html,
9         the spefication has been updated to only return the first item when there are multiple items of the same name
10         in HTMLOptionsCollection; this new behavior matches that of Firefox and Opera (Presto).
11
12         Implement this new behavior to remove the custom binding code and use the fast path in namedItem and name
13         getter of HTMLOptionsCollection. (Obtaining all items for a given name is expensive!).
14
15         Tests: fast/dom/HTMLSelectElement/named-options.html
16                fast/dom/html-collections-named-getter.html
17
18         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
19         (WebCore): Removed the custom bindings for name getter and namedItem.
20         * html/HTMLOptionsCollection.idl:
21
22 2013-04-25  Joseph Pecoraro  <pecoraro@apple.com>
23
24         Web Inspector: ConsoleMessage should include line and column number where possible
25         https://bugs.webkit.org/show_bug.cgi?id=114929
26
27           - adds "m_column" to WebCore::ConsoleMessage
28           - adds "column" to Console.ConsoleMessage in the inspector protocol
29           - set the column number for console.* functions (Console.cpp)
30           - set the column number for XSLT errors (XSLTProcessor)
31           - plumb columnNumber everywhere else it is needed, set it to 0 and file
32             bugs for all cases missing columnNumber that could provide it.
33
34         Reviewed by Timothy Hatcher.
35
36         Test: inspector/console/console-url-line-column.html
37               inspector/console/console-messages-stack-traces.html
38
39         * inspector/ConsoleMessage.h:
40         * inspector/ConsoleMessage.cpp:
41         (WebCore::ConsoleMessage::ConsoleMessage):
42         (WebCore::ConsoleMessage::autogenerateMetadata):
43         (WebCore::ConsoleMessage::addToFrontend):
44         (WebCore::ConsoleMessage::isEqual):
45         Add m_column and set it where appropriate.
46
47         * inspector/Inspector.json:
48         Add column property to Console.ConsoleMessage.
49
50         * page/Console.cpp:
51         (WebCore::internalAddMessage):
52         (WebCore::Console::profile):
53         Set columnNumber like lineNumber from the last stack frame.
54         (WebCore::Console::groupEnd):
55         Line and column are unused in this message type, set both to 0.
56
57         * xml/XSLTProcessorLibxslt.cpp:
58         (WebCore::XSLTProcessor::parseErrorFunc):
59         * xml/XSLTProcessorQt.cpp:
60         (WebCore::XSLTMessageHandler::handleMessage):
61         Add real column numbers, the XSLT handlers already had it available.
62
63         * bindings/js/JSCustomXPathNSResolver.cpp:
64         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
65         * css/CSSParser.cpp:
66         (WebCore::CSSParser::logError):
67         * dom/ScriptExecutionContext.h:
68         * dom/ScriptExecutionContext.cpp:
69         (WebCore::ScriptExecutionContext::addConsoleMessage):
70         * dom/Document.cpp:
71         (WebCore::Document::logExceptionToConsole):
72         (WebCore::Document::addMessage):
73         * dom/Document.h:
74         * inspector/InspectorConsoleAgent.cpp:
75         (WebCore::InspectorConsoleAgent::addMessageToConsole):
76         (WebCore::InspectorConsoleAgent::stopTiming):
77         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
78         (WebCore::InspectorConsoleAgent::didReceiveResponse):
79         (WebCore::InspectorConsoleAgent::didFailLoading):
80         * inspector/InspectorConsoleAgent.h:
81         * inspector/InspectorConsoleInstrumentation.h:
82         (WebCore::InspectorInstrumentation::addMessageToConsole):
83         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
84         * inspector/InspectorInstrumentation.cpp:
85         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
86         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
87         (WebCore::InspectorInstrumentation::addProfileImpl):
88         * inspector/InspectorInstrumentation.h:
89         (InspectorInstrumentation):
90         * inspector/InspectorProfilerAgent.cpp:
91         (WebCore::InspectorProfilerAgent::addProfile):
92         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
93         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
94         (WebCore::InspectorProfilerAgent::start):
95         (WebCore::InspectorProfilerAgent::stop):
96         * inspector/InspectorProfilerAgent.h:
97         (InspectorProfilerAgent):
98         * loader/EmptyClients.h:
99         (WebCore::EmptyChromeClient::addMessageToConsole):
100         * page/ChromeClient.h:
101         (WebCore::ChromeClient::addMessageToConsole):
102         * page/ContentSecurityPolicy.cpp:
103         (WebCore::ContentSecurityPolicy::logToConsole):
104         * page/PageConsole.cpp:
105         (WebCore::PageConsole::addMessage):
106         * page/PageConsole.h:
107         * workers/DefaultSharedWorkerRepository.cpp:
108         (SharedWorkerProxy):
109         (WebCore::postExceptionTask):
110         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
111         (WebCore::postConsoleMessageTask):
112         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
113         * workers/SharedWorkerContext.cpp:
114         (WebCore::SharedWorkerContext::logExceptionToConsole):
115         * workers/WorkerContext.cpp:
116         (WebCore::WorkerContext::logExceptionToConsole):
117         (WebCore::WorkerContext::addConsoleMessage):
118         (WebCore::WorkerContext::addMessage):
119         (WebCore::WorkerContext::addMessageToWorkerConsole):
120         * workers/WorkerContext.h:
121         * workers/WorkerMessagingProxy.cpp:
122         (WebCore::WorkerExceptionTask::create):
123         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
124         (WebCore::WorkerExceptionTask::performTask):
125         (WorkerExceptionTask):
126         (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
127         (WebCore::postConsoleMessageTask):
128         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
129         * workers/WorkerMessagingProxy.h:
130         (WorkerMessagingProxy):
131         * workers/WorkerReportingProxy.h:
132         (WorkerReportingProxy):
133         Plumb columnNumber through where appropriate. File bugs where missing.
134
135 2013-04-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
136
137         [Qt] Animated opacity does not trigger accelerated compositing
138         https://bugs.webkit.org/show_bug.cgi?id=115107
139
140         Reviewed by Simon Fraser.
141
142         Add extra option to also trigger compositing on animated opacity.
143
144         * page/ChromeClient.h:
145         * rendering/RenderLayerCompositor.cpp:
146         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
147
148 2013-04-25  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
149
150         Sec-WebSocket-Extensions header field must not appear more than once in an HTTP response.
151         https://bugs.webkit.org/show_bug.cgi?id=115128
152
153         Reviewed by Alexey Proskuryakov.
154
155         According to WebSocket specification Sec-WebSocket-Extensions header field
156         must not appear more than once in an HTTP response. It is ok if it appears
157         more than once in client request. Also add a check for invalid UTF-8
158         characters when parsing Sec-WebSocket-Extensions quoted string.
159
160         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header.html
161
162         * Modules/websockets/WebSocketExtensionParser.cpp:
163         (WebCore::WebSocketExtensionParser::consumeQuotedString): Return false if there is
164         invalid character in the quoted string being parsed.
165         * Modules/websockets/WebSocketHandshake.cpp:
166         (WebCore::WebSocketHandshake::readHTTPHeaders): Check if Sec-WebSocket-Extensions
167         appears more than once in header response. Abort handshake if it does.
168
169 2013-04-25  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
170
171         REGRESSION(r148758): Remove WTFLogAlways call from IconLoader.
172         https://bugs.webkit.org/show_bug.cgi?id=115182
173
174         Reviewed by Dan Bernstein.
175
176         The call added in r148758 was apparently a leftover from some debugging
177         session, and it makes the Interactive/window-resize.html performance
178         test randomly fail on Qt and EFL due to WTFLogAlways writing to stderr.
179
180         * loader/icon/IconLoader.cpp:
181         (WebCore::IconLoader::notifyFinished):
182
183 2013-04-25  Christophe Dumez  <ch.dumez@sisa.samsung.com>
184
185         Add support for Web IDL callback interfaces to the bindings generator
186         https://bugs.webkit.org/show_bug.cgi?id=115179
187
188         Reviewed by Kentaro Hara.
189
190         Add support in the bindings generator for Web IDL callback interfaces:
191         http://dev.w3.org/2006/webapi/WebIDL/#dfn-callback-interface
192
193         Drop support for the WebKit-specific [Callback] extended attributes
194         on Web IDL interfaces and update existing IDL files to use proper
195         callback interfaces instead.
196
197         No new tests, no behavior change.
198
199         * Modules/filesystem/EntriesCallback.idl:
200         * Modules/filesystem/EntryCallback.idl:
201         * Modules/filesystem/ErrorCallback.idl:
202         * Modules/filesystem/FileCallback.idl:
203         * Modules/filesystem/FileSystemCallback.idl:
204         * Modules/filesystem/FileWriterCallback.idl:
205         * Modules/filesystem/MetadataCallback.idl:
206         * Modules/geolocation/PositionCallback.idl:
207         * Modules/geolocation/PositionErrorCallback.idl:
208         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
209         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
210         * Modules/mediastream/RTCErrorCallback.idl:
211         * Modules/mediastream/RTCSessionDescriptionCallback.idl:
212         * Modules/mediastream/RTCStatsCallback.idl:
213         * Modules/notifications/NotificationPermissionCallback.idl:
214         * Modules/quota/StorageErrorCallback.idl:
215         * Modules/quota/StorageQuotaCallback.idl:
216         * Modules/quota/StorageUsageCallback.idl:
217         * Modules/webaudio/AudioBufferCallback.idl:
218         * Modules/webdatabase/DatabaseCallback.idl:
219         * Modules/webdatabase/SQLStatementCallback.idl:
220         * Modules/webdatabase/SQLStatementErrorCallback.idl:
221         * Modules/webdatabase/SQLTransactionCallback.idl:
222         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
223         * Modules/webdatabase/SQLTransactionSyncCallback.idl:
224         * bindings/scripts/CodeGeneratorJS.pm:
225         (GenerateInterface):
226         * bindings/scripts/IDLParser.pm:
227         (parseCallbackRestOrInterface):
228         * bindings/scripts/test/TestCallback.idl:
229         * dom/RequestAnimationFrameCallback.idl:
230         * dom/StringCallback.idl:
231         * html/VoidCallback.idl:
232
233 2013-04-25  Adrian Perez de Castro  <aperez@igalia.com>
234
235         [GStreamer] Add audio/speex MIME type as supported
236         https://bugs.webkit.org/show_bug.cgi?id=115032
237
238         Reviewed by Philippe Normand.
239
240         GStreamer has support for the Speex codec (http://www.speex.org).
241         Speex streams may be embedded in a Ogg container, or standalone.
242         The case of the Ogg container is already covered by the "*/ogg"
243         MIME types declared as supported by the GStreamer media playing
244         code, but for standalone streams to work, "audio/speex" has to
245         be added.
246
247         With this, and the needed GStreamer plugin installed, the GTK+
248         launcher is able to correctly play Speex streams served with
249         "Content-type: audio/speex".
250
251         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
252
253 2013-04-25  Andreas Kling  <akling@apple.com>
254
255         Add FINAL decorators to the InlineBox class hierarchy.
256         <http://webkit.org/b/115177>
257
258         Reviewed by Antti Koivisto.
259
260         From Blink r148628 by <cevans@chromium.org>:
261
262         FINAL is a macro in wtf/Compiler.h that does the correct thing if the compiler does not support "final")
263         The approach used is as simple as possible whilst being thorough.
264         So, leaf classes have FINAL applied to the whole class whereas intermediary classes have FINAL applied to relevant methods.
265
266         FINAL allows a compiler to devirtualize call sites and turn them into direct calls. As you might expect, this is perf positive:
267         (clang on Linux):
268         - line_layout.html goes from 120 runs/s -> 123 runs/2, +2.5%
269         - html5-full-render.html goes from 3176ms -> 3162ms, +0.4%
270
271         I have confidence that the former result is statistically significant (as the numbers are very very stable) but not the latter.
272
273         * rendering/EllipsisBox.h:
274         * rendering/InlineFlowBox.h:
275         * rendering/InlineTextBox.h:
276         * rendering/RootInlineBox.h:
277         * rendering/TrailingFloatsRootInlineBox.h:
278         * rendering/svg/SVGInlineFlowBox.h:
279         * rendering/svg/SVGInlineTextBox.h:
280         * rendering/svg/SVGRootInlineBox.h:
281
282 2013-04-25  Andreas Kling  <akling@apple.com>
283
284         CSS parser: Add error recovery while parsing @-webkit-keyframes key values.
285         <http://webkit.org/b/115175>
286
287         From Blink r148714 by <apavlov@chromium.org>:
288
289         If not a percentage, "from", or "to" value is used in a key list, the rule is erroneous,
290         and due to the absense of recovery, the parser skips the following, valid CSS rule.
291
292         On a related note, keyframes, whose selectors contain invalid keys, should be discarded
293         altogether, according to <http://www.w3.org/TR/css3-animations/#keyframes>
294
295         Tests: animations/keyframes-invalid-keys.html
296                fast/css/webkit-keyframes-errors.html
297
298         * css/CSSGrammar.y.in:
299         * css/CSSParser.cpp:
300         (WebCore::CSSParser::rewriteSpecifiers):
301
302 2013-04-25  Antti Koivisto  <antti@apple.com>
303
304         REGRESSION (r147797): Animations slideshows of images on www.thesuperficial.com are slow
305         https://bugs.webkit.org/show_bug.cgi?id=115172
306
307         Reviewed by Andreas Kling.
308
309         On this page ads dynamically loaded to subframes on slideshow navigation switch us to state where we throttle layer flushes.
310         
311         Fix by ignoring any subframe-originated loads when determining throttling.
312
313         * loader/FrameLoader.cpp:
314         (WebCore::FrameLoader::loadProgressingStatusChanged):
315         * loader/ProgressTracker.cpp:
316         (WebCore::ProgressTracker::isMainLoadProgressing):
317         
318             Rename, ignore subframe originated loads. Subframe loads that are initiated during the main load still count.
319
320         * loader/ProgressTracker.h:
321         (ProgressTracker):
322         * page/FrameView.cpp:
323         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
324         * page/FrameView.h:
325         (FrameView):
326         * rendering/RenderLayerBacking.cpp:
327         (WebCore::computeTileCoverage):
328
329 2013-04-25  Andreas Kling  <akling@apple.com>
330
331         SVG: Fix viewBox animations on shapes with non-scaling-stroke.
332         <http://webkit.org/b/115173>
333
334         From Blink r149058 by <pdr@chromium.org>:
335
336         Previously hasAttribute() to determine if a viewBox was set in the transform
337         code for non-scaling-strokes. hasAttribute() should not be used in this case,
338         as it will return false if the attribute is not set but the value is animating.
339
340         This patch switches to checking if the viewBox is empty instead of checking for
341         the presence of the attribute.
342
343         Test: svg/stroke/animated-non-scaling-stroke.html
344
345         * svg/SVGSVGElement.cpp:
346         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
347         * svg/SVGSVGElement.h:
348         (WebCore::SVGSVGElement::hasEmptyViewBox):
349
350 2013-04-25  Andreas Kling  <akling@apple.com>
351
352         Remove isPluginElement hack in Document::setFocusedNode()
353         <http://webkit.org/b/115171>
354
355         From Blink r148800 by <tkent@chromium.org>:
356
357         This hack is no longer necessary because r147591 made isFocusable for plugin
358         elements work correctly.
359
360         * dom/Document.cpp:
361         (WebCore::Document::setFocusedNode):
362
363 2013-04-25  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
364
365         EventSource: Synchronous loader callback not handled properly
366         https://bugs.webkit.org/show_bug.cgi?id=115104
367
368         When attempting a cross-origin request towards a non-HTTP URL, an early verification
369         of the protocol scheme will cause didFailAccessControlCheck to be called synchronously
370         before the loader has even finished being created. This special case was not handled
371         properly, since we tried to cancel a non-existing loader, which resulted in a crash.
372         In addition to checking whether a request is in flight before trying to cancel it,
373         this change also schedules the initial creation of the loader to happen asynchronously
374         when an EventSource is constructed, so that a script can register for the error event
375         before it is dispatched (as a result of passing a non-HTTP URL to the constructor).
376
377         Reviewed by Alexey Proskuryakov.
378
379         Test: http/tests/eventsource/eventsource-cors-non-http.html
380
381         * page/EventSource.cpp:
382         (WebCore::EventSource::EventSource):
383         (WebCore::EventSource::create):
384         (WebCore::EventSource::scheduleInitialConnect):
385         (WebCore):
386         (WebCore::EventSource::scheduleReconnect):
387         (WebCore::EventSource::connectTimerFired):
388         (WebCore::EventSource::close):
389         (WebCore::EventSource::abortConnectionAttempt):
390         * page/EventSource.h:
391         (EventSource):
392
393 2013-04-25  Patrick Gansterer  <paroga@webkit.org>
394
395         Unreviewed WinCE build fix after r148545.
396
397         * page/wince/FrameWinCE.cpp:
398
399 2013-04-24  Kent Tamura  <tkent@chromium.org>
400
401         Back references don't work in pattern attribute
402         https://bugs.webkit.org/show_bug.cgi?id=105875
403
404         Reviewed by Geoffrey Garen.
405
406         This imports a part of Blink r148951.
407
408         Tests: Update fast/forms/ValidityState-patternMismatch.html
409
410         * html/BaseTextInputType.cpp:
411         (WebCore::BaseTextInputType::patternMismatch):
412         Don't use capturing parentheses. They affected back references in
413         pattern attribute values.
414
415 2013-04-24  Tim Horton  <timothy_horton@apple.com>
416
417         PDFPlugin: Cursor should become an i-beam when over selectable text
418         https://bugs.webkit.org/show_bug.cgi?id=115018
419         <rdar://problem/12645012>
420
421         Reviewed by Alexey Proskuryakov.
422
423         * WebCore.exp.in: Export the I-beam and arrow cursors.
424
425 2013-04-24  Simon Fraser  <simon.fraser@apple.com>
426
427         Garbage at the top of http://www.technologyreview.com after scrolling
428         https://bugs.webkit.org/show_bug.cgi?id=114825
429
430         Reviewed by Tim Horton.
431
432         Garbage pixels are caused by GraphicsLayerCA setting a layer to be opaque,
433         but then not painting anything into it. On this page, the element is
434         toggled to be visibility:hidden on scrolling, but RenderLayer::backgroundIsKnownToBeOpaqueInRect()
435         failed to consider that as something that can cause backgrounds not to be opaque.
436         
437         For the bug to happen, some subtle interactions with r142012 come into play
438         for the layer to remain visible, hence the slightly complex testcase.
439         
440         Test: compositing/contents-opaque/visibility-hidden.html
441
442         * rendering/RenderLayer.cpp:
443         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
444
445 2013-04-24  Simon Fraser  <simon.fraser@apple.com>
446
447         Dump layer opaqueness in the Compositing log output
448         https://bugs.webkit.org/show_bug.cgi?id=115132
449
450         Reviewed by Tim Horton.
451
452         It's useful to see whether we consider layers to be opaque in the Compositing
453         log channel output, so dump it.
454
455         * rendering/RenderLayerCompositor.cpp:
456         (WebCore::RenderLayerCompositor::logLayerInfo):
457
458 2013-04-24  Seokju Kwon  <seokju.kwon@gmail.com>
459
460         Add efl to JSInspectorFrontendHost::port()
461         https://bugs.webkit.org/show_bug.cgi?id=115137
462
463         Reviewed by Timothy Hatcher.
464
465         No new tests, because there is no change in behavior.
466
467         * bindings/js/JSInspectorFrontendHostCustom.cpp:
468         (WebCore::JSInspectorFrontendHost::port):
469
470 2013-04-24  Kangil Han  <kangil.han@samsung.com>
471
472         Function parameter quotePair can be passed by reference
473         https://bugs.webkit.org/show_bug.cgi?id=115089
474
475         Reviewed by Alexey Proskuryakov.
476
477         Minor performance patch.
478
479         * rendering/style/QuotesData.cpp:
480         (WebCore::QuotesData::addPair):
481         * rendering/style/QuotesData.h:
482         (QuotesData):
483
484 2013-04-24  Brady Eidson  <beidson@apple.com>
485
486         Implementors of CachedResource subclasses should be forced to decide if encoded data can be replaced.
487         https://bugs.webkit.org/show_bug.cgi?id=115140
488
489         Reviewed by Beth Dakin.
490
491         No new tests (No behavior change).
492
493         This makes mayTryReplaceEncodedData() return false in CachedResource, but overrides to true
494         in all CachedResource subclasses besides CachedFont (which already has an implementation).
495
496         * loader/cache/CachedCSSStyleSheet.h:
497         * loader/cache/CachedImage.h:
498         * loader/cache/CachedRawResource.h:
499         * loader/cache/CachedResource.h:
500         * loader/cache/CachedSVGDocument.h:
501         * loader/cache/CachedScript.h:
502         * loader/cache/CachedShader.h:
503         * loader/cache/CachedTextTrack.h:
504         * loader/cache/CachedXSLStyleSheet.h:
505
506 2013-04-24  Brady Eidson  <beidson@apple.com>
507
508         Once a custom font is cached to disk, it starts failing to render until the page is refreshed.
509         <rdar://problem/13622998> and https://bugs.webkit.org/show_bug.cgi?id=115131
510
511         Reviewed by Alexey Proskuryakov.
512
513         No new tests (Not a tested config, nor are disk cache issues currently testable).
514
515         * loader/cache/CachedResource.h:
516         (WebCore::CachedResource:: mayTryReplaceEncodedData): Allow subclasses to refuse encoded data replacement.
517
518         * loader/cache/CachedResource.cpp:
519         (WebCore::CachedResource::tryReplaceEncodedData): Only try if shouldTryReplaceEncodedData() is true.
520
521         * loader/cache/CachedFont.cpp:
522         (WebCore::CachedFont::CachedFont):
523         (WebCore::CachedFont::ensureCustomFontData):
524         (WebCore::CachedFont::mayTryReplaceEncodedData): Return false if the custom font data has ever been created.
525         * loader/cache/CachedFont.h:
526
527 2013-04-24  Beth Dakin  <bdakin@apple.com>
528
529         Vertical overlay scrollbar in iframes fades in and out rapidly when you scroll in 
530         a circle
531         https://bugs.webkit.org/show_bug.cgi?id=115124
532         -and corresponding-
533         <rdar://problem/13168957>
534
535         Reviewed by Anders Carlsson.
536
537         With http://trac.webkit.org/changeset/119834 we started calling 
538         ScrollbarPainterController's contentAreaScrolled/contentAreaScrolledInDirection 
539         API on a zero-delay timer instead of calling it right away. This prevented some 
540         crashes that we saw whenever this was called during a layout. However, that delay, 
541         combined with the particulars of contentAreaScrolledInDirection cause this bug 
542         where sometimes the scrollbars in an iframe will fade out very noticeably when 
543         scrolling in a circle.
544
545         This change makes it so we will only use the zero-delay timer if the 
546         ScrollableArea is not currently handling a wheel event. If it IS handling a wheel 
547         event, then we will send the notifications to AppKit right away. I confirmed that 
548         this change did not reintroduce the old crashes. 
549
550         Keep track of whether we are currently handling a wheel event with the new member 
551         variable m_isHandlingWheelEvent.
552         * page/EventHandler.cpp:
553         (WebCore::EventHandler::EventHandler):
554         (WebCore::EventHandler::handleWheelEvent):
555         * page/EventHandler.h:
556         (WebCore::EventHandler::isHandlingWheelEvent):
557         (EventHandler):
558
559         To prevent layering violations, the ScrollableArea sub-classes will have to access 
560         this information from the EventHandler.
561         * page/FrameView.cpp:
562         (WebCore::FrameView::isHandlingWheelEvent):
563         * page/FrameView.h:
564         * platform/ScrollableArea.h:
565         (WebCore::ScrollableArea::isHandlingWheelEvent):
566         * rendering/RenderLayer.cpp:
567         (WebCore::RenderLayer::isHandlingWheelEvent):
568         * rendering/RenderLayer.h:
569         (RenderLayer):
570         * rendering/RenderListBox.cpp:
571         (WebCore::RenderListBox::isHandlingWheelEvent):
572         * rendering/RenderListBox.h:
573
574         sendContentAreaScrolledSoon() can be private. Also add new function 
575         sendContentAreaScrolled().
576         * platform/mac/ScrollAnimatorMac.h:
577         (ScrollAnimatorMac):
578
579         If the ScrollableArea is handling a wheel event, call 
580         sendContentAreaScrolled(), otherwise call sendContentAreaScrolledSoon()
581         * platform/mac/ScrollAnimatorMac.mm:
582         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
583         (WebCore::ScrollAnimatorMac::sendContentAreaScrolled):
584
585         Re-factored to use sendContentAreaScrolled()
586         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
587
588 2013-04-24  Ryosuke Niwa  <rniwa@webkit.org>
589
590         Fix a merge error in r149007 (was missing a null check added in r148777).
591
592         * rendering/LogicalSelectionOffsetCaches.h:
593         (WebCore::containingBlockForAbsolutePosition):
594
595 2013-04-24  Otto Derek Cheung  <otcheung@rim.com>
596
597         Battery API won't return updated battery status until client calls didChangeBatteryStatus
598         https://bugs.webkit.org/show_bug.cgi?id=114891
599
600         Reviewed by Rob Buis.
601
602         The BatteryStatus object in BatteryManager won't get updated until BatteryClient calls
603         didChangeBatteryStatus in BatteryController. Any attempts to call webkitBattery.charged()
604         or other get functions will always return the default values until the next battery status
605         change object gets passed to the controller.
606
607         We need to update the manager when we attach it to the controller, and update all
608         existing managers when the controller receives it's first battery status object.
609
610         * Modules/battery/BatteryController.cpp:
611         (WebCore::BatteryController::addListener):
612         (WebCore::BatteryController::updateBatteryStatus):
613         * Modules/battery/BatteryManager.cpp:
614         (WebCore::BatteryManager::didChangeBatteryStatus):
615         (WebCore::BatteryManager::updateBatteryStatus):
616         (WebCore):
617         * Modules/battery/BatteryManager.h:
618         (BatteryManager):
619
620 2013-04-24  Jacky Jiang  <zhajiang@blackberry.com>
621
622         Clean up unused code in ViewportArguments.h
623         https://bugs.webkit.org/show_bug.cgi?id=115121
624
625         Reviewed by Benjamin Poulain.
626
627         The target-densityDPI emulation implementation has been removed by
628         r147893, so clean up the remaining code as well.
629
630         * dom/ViewportArguments.h:
631
632 2013-04-24  Andreas Kling  <akling@apple.com>
633
634         ElementData should use 'unsigned' attribute indices.
635         <http://webkit.org/b/115103>
636
637         Reviewed by Antti Koivisto.
638
639         Switch to using 'unsigned' for attribute indices. This gives consistent behavior
640         on 32/64-bit, and the underlying storage is already limited by Vector's 32-bit capacity.
641
642         Added an ElementData::attributeNotFound constant (-1) since we can't use WTF::notFound.
643
644         * dom/Element.cpp:
645         (WebCore::Element::detachAttribute):
646         (WebCore::Element::removeAttribute):
647         (WebCore::Element::setAttribute):
648         (WebCore::Element::setSynchronizedLazyAttribute):
649         (WebCore::Element::setAttributeInternal):
650         (WebCore::Element::setAttributeNode):
651         (WebCore::Element::removeAttributeNode):
652         (WebCore::Element::removeAttributeInternal):
653         (WebCore::UniqueElementData::removeAttribute):
654         (WebCore::ElementData::getAttributeItemIndexSlowCase):
655         * dom/Element.h:
656         (ElementData):
657         (UniqueElementData):
658         (Element):
659         (WebCore::Element::getAttributeItemIndex):
660         (WebCore::Element::attributeCount):
661         (WebCore::ElementData::length):
662         (WebCore::ElementData::getAttributeItem):
663         (WebCore::ElementData::getAttributeItemIndex):
664         * dom/NamedNodeMap.cpp:
665         (WebCore::NamedNodeMap::removeNamedItem):
666         (WebCore::NamedNodeMap::removeNamedItemNS):
667         (WebCore::NamedNodeMap::length):
668         * dom/NamedNodeMap.h:
669         (NamedNodeMap):
670
671 2013-04-24  Andreas Kling  <akling@apple.com>
672
673         ElementData::attributeItem() should bounds-check the index.
674         <http://webkit.org/b/115076>
675
676         Reviewed by Antti Koivisto.
677
678         Switch the ASSERT_WITH_SECURITY_IMPLICATION to a RELEASE_ASSERT.
679
680         * dom/Element.h:
681         (WebCore::ElementData::attributeItem):
682
683 2013-04-23  Andreas Kling  <akling@apple.com>
684
685         Setting an inline style property to "" shouldn't cause style recalc unless the property was present.
686         <http://webkit.org/b/115122>
687
688         Reviewed by Antti Koivisto.
689
690         StylePropertySet::setProperty() handles empty strings by removing the property entirely.
691         If there was no property to remove, it shouldn't claim that it changed something, as that
692         will cause the CSSOM wrapper to mark the element for style recalc.
693
694         A common idiom that triggers this is excessive use of { element.style.display = ''; }
695
696         * css/StylePropertySet.cpp:
697         (WebCore::MutableStylePropertySet::setProperty):
698
699 2013-04-23  Ryosuke Niwa  <rniwa@webkit.org>
700
701         Moving word boundaries backwards fails when there is a text node starting with an apostrophe
702         https://bugs.webkit.org/show_bug.cgi?id=115070
703
704         Reviewed by Alexey Proskuryakov.
705
706         The bug was caused by previousBoundary erroneously assuming that we don't need any more context if a word
707         boundary is found at the beginning of a string. For example, when "I'll" is split into two text nodes,
708         "I" and "'ll", there is a word boundary between "'" and "ll" in "'ll" so we need to examine the whole "I'll".
709
710         Fixed the bug by obtaining more context when the character starts exactly at offset 1 in a text node to
711         work around this bug. In the long term, we probably need to provide Foundation of the entire context since in
712         languages like Hebrew and some of European languages, there could be many accents and combining characters
713         between split into multiple text nodes as one variant is seen in the newly added test case.
714
715         Test: editing/selection/previous-word-boundary-across-text-nodes.html
716
717         * editing/VisibleUnits.cpp:
718         (WebCore::previousBoundary):
719
720 2013-04-24  Benjamin Poulain  <bpoulain@apple.com>
721
722         Do not use static string in DiagnosticLoggingKeys
723         https://bugs.webkit.org/show_bug.cgi?id=115093
724
725         Reviewed by Andreas Kling.
726
727         The code is not hot enough to justify keeping the memory around.
728         This removes 3kb from the binary on x86_64.
729
730         * page/DiagnosticLoggingKeys.cpp:
731         (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
732         (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
733         (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
734         (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
735         (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
736         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
737         (WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
738         (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
739         (WebCore::DiagnosticLoggingKeys::passKey):
740         (WebCore::DiagnosticLoggingKeys::failKey):
741         (WebCore::DiagnosticLoggingKeys::noopKey):
742         * page/DiagnosticLoggingKeys.h:
743         (DiagnosticLoggingKeys):
744
745 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
746
747         Remove wxWebKit #ifdefs from WebCore/platform/graphics
748         https://bugs.webkit.org/show_bug.cgi?id=115081
749
750         Reviewed by Geoffrey Garen.
751
752         * platform/graphics/BitmapImage.h:
753         (BitmapImage):
754         * platform/graphics/Color.h:
755         (Color):
756         * platform/graphics/FloatRect.h:
757         (FloatRect):
758         * platform/graphics/FloatSize.h:
759         (FloatSize):
760         * platform/graphics/FontPlatformData.h:
761         * platform/graphics/GlyphBuffer.h:
762         (WebCore):
763         (WebCore::GlyphBuffer::glyphAt):
764         (WebCore::GlyphBuffer::add):
765         * platform/graphics/Gradient.h:
766         * platform/graphics/GraphicsContext.h:
767         (GraphicsContext):
768         * platform/graphics/Image.cpp:
769         (WebCore::Image::drawTiled):
770         * platform/graphics/ImageBufferData.h:
771         * platform/graphics/IntPoint.h:
772         (IntPoint):
773         * platform/graphics/IntRect.h:
774         * platform/graphics/IntSize.h:
775         (IntSize):
776         * platform/graphics/NativeImagePtr.h:
777         (WebCore):
778         * platform/graphics/Path.h:
779         * platform/graphics/Pattern.h:
780         * platform/graphics/SimpleFontData.h:
781         (SimpleFontData):
782         (WebCore::SimpleFontData::widthForGlyph):
783         * platform/graphics/mac/ComplexTextController.cpp:
784         (WebCore::ComplexTextController::collectComplexTextRuns):
785         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
786         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
787         * platform/graphics/transforms/AffineTransform.h:
788         (AffineTransform):
789         * platform/graphics/transforms/TransformationMatrix.h:
790         (TransformationMatrix):
791
792 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
793
794         Remove wxWebKit #ifdefs from WebCore/plugins
795         https://bugs.webkit.org/show_bug.cgi?id=115080
796
797         Reviewed by Geoffrey Garen.
798
799         * plugins/PluginView.h:
800         (PluginView):
801         * plugins/mac/PluginViewMac.mm:
802         (WebCore::nativeWindowFor):
803         (WebCore::cgHandleFor):
804         (WebCore::topLevelOffsetFor):
805         (WebCore::PluginView::platformStart):
806         * plugins/win/PluginViewWin.cpp:
807         (windowHandleForPageClient):
808         (WebCore::PluginView::handleMouseEvent):
809         (WebCore::PluginView::platformStart):
810         (WebCore::PluginView::snapshot):
811
812 2013-04-24  Benjamin Poulain  <benjamin@webkit.org>
813
814         Remove wxWebKit #ifdefs from WebCore/page
815         https://bugs.webkit.org/show_bug.cgi?id=115079
816
817         Reviewed by Geoffrey Garen.
818
819         * page/FrameView.cpp:
820         (WebCore::FrameView::wheelEvent):
821         * page/Settings.cpp:
822         (WebCore):
823         * page/Settings.h:
824         (Settings):
825
826 2013-04-24  Chris Fleizach  <cfleizach@apple.com>
827
828         AX: WAI-ARIA landmarks no longer speak type of landmark on iOS
829         https://bugs.webkit.org/show_bug.cgi?id=114547
830
831         Reviewed by David Kilzer.
832
833         We want iOS to speak the landmark type.
834         I've moved the landmark role description to the base Mac class and exposed
835         these localized strings to iOS (the ones used to return landmark descriptions).
836
837         I've also updated the accessibilityLabel to account for landmark type, but also
838         handle multiple label sources more gracefully by appending commas, which changed a few
839         tests in minor ways.
840
841         Test: platform/iphone-simulator/accessibility/landmark-type.html
842
843         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
844         (-[WebAccessibilityObjectWrapper accessibilityLabel]):
845         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
846         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
847         (-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
848         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
849         (-[WebAccessibilityObjectWrapper roleDescription]):
850         * platform/LocalizedStrings.cpp:
851         (WebCore):
852         (WebCore::AXButtonActionVerb):
853         (WebCore::AXRadioButtonActionVerb):
854         (WebCore::AXTextFieldActionVerb):
855         (WebCore::AXCheckedCheckBoxActionVerb):
856         (WebCore::AXUncheckedCheckBoxActionVerb):
857         (WebCore::AXLinkActionVerb):
858         (WebCore::AXMenuListPopupActionVerb):
859         (WebCore::AXMenuListActionVerb):
860         * platform/LocalizedStrings.h:
861         (WebCore):
862
863 2013-04-24  Andreas Kling  <akling@apple.com>
864
865         CSS attribute selectors cause unnecessary style recalc when setting attribute to same value.
866         <http://webkit.org/b/115116>
867         <rdar://problem/13727709>
868
869         Reviewed by Simon Fraser.
870
871         The logic that dirties the style if there's a relevant attribute selector in the document
872         shouldn't run if the attribute is being overwritten with an identical value.
873         Move this into willModifyAttribute() instead, since we need access to both the old and the new value.
874
875         This reduces unnecessary style recalculation in Mac App Store content.
876
877         * dom/Element.cpp:
878         (WebCore::Element::attributeChanged):
879         (WebCore::Element::willModifyAttribute):
880
881 2013-04-24  Jonathan Feldstein <jfeldstein@blackberry.com>
882
883         [BlackBerry] Fixes the San Angeles demo on khronos.org
884         https://bugs.webkit.org/show_bug.cgi?id=115106
885
886         Reviewed by Rob Buis
887         Internally Reviewed by Jeremy Nicholl and Arvid Nilsson
888
889         Fixes a bug in which the currently bound vertex array object's vertex array
890         state was being modified as opposed to the default vertex array state.
891
892         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
893         (EGLImageLayerWebKitThread::blitToFrontBuffer):
894
895 2013-04-24  Nico Weber  <thakis@chromium.org>
896
897         Fold RenderThemeMacShared into RenderThemeMac
898         https://bugs.webkit.org/show_bug.cgi?id=115086
899
900         Reviewed by Anders Carlsson.
901
902         No intended functionality change.
903
904         * WebCore.xcodeproj/project.pbxproj:
905         * rendering/RenderThemeMac.h:
906         (RenderThemeMac):
907         (WebCore::RenderThemeMac::supportsControlTints):
908         (WebCore::RenderThemeMac::scrollbarControlSizeForPart):
909         (WebCore::RenderThemeMac::supportsSelectionForegroundColors):
910         (WebCore::RenderThemeMac::supportsClosedCaptioning):
911         (WebCore::RenderThemeMac::updateActiveState):
912         * rendering/RenderThemeMac.mm:
913         (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
914         (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
915         (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
916         (WebCore::RenderThemeMac::RenderThemeMac):
917         (WebCore::RenderThemeMac::~RenderThemeMac):
918         (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
919         (WebCore):
920         (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
921         (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
922         (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
923         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
924         (WebCore::RenderThemeMac::platformFocusRingColor):
925         (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
926         (WebCore::toFontWeight):
927         (WebCore::RenderThemeMac::systemFont):
928         (WebCore::convertNSColorToColor):
929         (WebCore::menuBackgroundColor):
930         (WebCore::RenderThemeMac::platformColorsDidChange):
931         (WebCore::RenderThemeMac::systemColor):
932         (WebCore::RenderThemeMac::usesTestModeFocusRingColor):
933         (WebCore::RenderThemeMac::isControlStyled):
934         (WebCore::RenderThemeMac::adjustRepaintRect):
935         (WebCore::RenderThemeMac::inflateRect):
936         (WebCore::RenderThemeMac::convertToPaintingRect):
937         (WebCore::RenderThemeMac::updateCheckedState):
938         (WebCore::RenderThemeMac::updateEnabledState):
939         (WebCore::RenderThemeMac::updateFocusedState):
940         (WebCore::RenderThemeMac::updatePressedState):
941         (WebCore::RenderThemeMac::controlSupportsTints):
942         (WebCore::RenderThemeMac::controlSizeForFont):
943         (WebCore::RenderThemeMac::setControlSize):
944         (WebCore::RenderThemeMac::sizeForFont):
945         (WebCore::RenderThemeMac::sizeForSystemFont):
946         (WebCore::RenderThemeMac::setSizeFromFont):
947         (WebCore::RenderThemeMac::setFontFromControlSize):
948         (WebCore::RenderThemeMac::controlSizeForSystemFont):
949         (WebCore::RenderThemeMac::paintTextField):
950         (WebCore::RenderThemeMac::adjustTextFieldStyle):
951         (WebCore::RenderThemeMac::paintCapsLockIndicator):
952         (WebCore::RenderThemeMac::paintTextArea):
953         (WebCore::RenderThemeMac::adjustTextAreaStyle):
954         (WebCore::RenderThemeMac::popupButtonMargins):
955         (WebCore::RenderThemeMac::popupButtonSizes):
956         (WebCore::RenderThemeMac::popupButtonPadding):
957         (WebCore::RenderThemeMac::paintMenuList):
958         (WebCore::RenderThemeMac::meterSizeForBounds):
959         (WebCore::RenderThemeMac::paintMeter):
960         (WebCore::RenderThemeMac::supportsMeter):
961         (WebCore::RenderThemeMac::levelIndicatorStyleFor):
962         (WebCore::RenderThemeMac::levelIndicatorFor):
963         (WebCore::RenderThemeMac::progressBarSizes):
964         (WebCore::RenderThemeMac::progressBarMargins):
965         (WebCore::RenderThemeMac::minimumProgressBarHeight):
966         (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
967         (WebCore::RenderThemeMac::animationDurationForProgressBar):
968         (WebCore::RenderThemeMac::adjustProgressBarStyle):
969         (WebCore::RenderThemeMac::paintProgressBar):
970         (WebCore::TopGradientInterpolate):
971         (WebCore::BottomGradientInterpolate):
972         (WebCore::MainGradientInterpolate):
973         (WebCore::TrackGradientInterpolate):
974         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
975         (WebCore::RenderThemeMac::paintMenuListButton):
976         (WebCore::menuListButtonSizes):
977         (WebCore::RenderThemeMac::adjustMenuListStyle):
978         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
979         (WebCore::RenderThemeMac::popupInternalPaddingRight):
980         (WebCore::RenderThemeMac::popupInternalPaddingTop):
981         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
982         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
983         (WebCore::RenderThemeMac::setPopupButtonCellState):
984         (WebCore::RenderThemeMac::menuListSizes):
985         (WebCore::RenderThemeMac::minimumMenuListSize):
986         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
987         (WebCore::RenderThemeMac::paintSliderTrack):
988         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
989         (WebCore::RenderThemeMac::paintSliderThumb):
990         (WebCore::RenderThemeMac::paintSearchField):
991         (WebCore::RenderThemeMac::setSearchCellState):
992         (WebCore::RenderThemeMac::searchFieldSizes):
993         (WebCore::RenderThemeMac::setSearchFieldSize):
994         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
995         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
996         (WebCore::RenderThemeMac::cancelButtonSizes):
997         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
998         (WebCore::RenderThemeMac::resultsButtonSizes):
999         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
1000         (WebCore::RenderThemeMac::paintSearchFieldDecoration):
1001         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
1002         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1003         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
1004         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1005         (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
1006         (WebCore::RenderThemeMac::sliderTickSize):
1007         (WebCore::RenderThemeMac::sliderTickOffsetFromTrackCenter):
1008         (WebCore::RenderThemeMac::adjustSliderThumbSize):
1009         (WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
1010         (WebCore::RenderThemeMac::popupButton):
1011         (WebCore::RenderThemeMac::search):
1012         (WebCore::RenderThemeMac::searchMenuTemplate):
1013         (WebCore::RenderThemeMac::sliderThumbHorizontal):
1014         (WebCore::RenderThemeMac::sliderThumbVertical):
1015         (WebCore::RenderThemeMac::textField):
1016         (WebCore::RenderThemeMac::fileListNameForWidth):
1017         * rendering/RenderThemeMacShared.h: Removed.
1018         * rendering/RenderThemeMacShared.mm: Removed.
1019
1020 2013-04-24  ChangSeok Oh  <changseok.oh@collabora.com>
1021
1022         [GTK][AC] Visible rect doesn't update after resizing a window.
1023         https://bugs.webkit.org/show_bug.cgi?id=115096
1024
1025         Reviewed by Gustavo Noronha Silva.
1026
1027         Once we set actor's a clip rect, we should update the rect when resizing the actor.
1028
1029         No new tests since no new functionality.
1030
1031         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1032         (WebCore::GraphicsLayerClutter::setSize):
1033
1034 2013-04-24  ChangSeok Oh  <changseok.oh@collabora.com>
1035
1036         [GTK][AC] Fix unexpected clear of ClutterContent.
1037         https://bugs.webkit.org/show_bug.cgi?id=115099
1038
1039         Reviewed by Gustavo Noronha Silva.
1040
1041         adoptGRef doesn't increase a reference count. So if a actor has a valid ClutterContent,
1042         it would be cleared unexpectedly by smart pointer when escaping a function.
1043
1044         No new tests, no functionality changed.
1045
1046         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1047         (graphicsLayerActorUpdateTexture):
1048
1049 2013-04-24  Alberto Garcia  <agarcia@igalia.com>
1050
1051         DOMFileSystemBase: fix multiple definitions in the BlackBerry port
1052         https://bugs.webkit.org/show_bug.cgi?id=114950
1053
1054         Reviewed by Xan Lopez.
1055
1056         The following  methods are already defined in DOMFileSystemBlackBerry.cpp:
1057
1058         crackFileSystemURL()
1059         createFileSystemURL()
1060         isValidType()
1061         supportsToURL()
1062
1063         * Modules/filesystem/DOMFileSystemBase.cpp:
1064         (WebCore):
1065
1066 2013-04-24  George Staikos  <gstaikos@rim.com>
1067
1068         [BlackBerry] Add support for JPEG image quality during encoding.
1069         https://bugs.webkit.org/show_bug.cgi?id=105773
1070
1071         Reviewed by Xan Lopez.
1072
1073         PR 271611
1074         Internally reviewed by Liam Quinn.
1075
1076         Pass the quality flag into the encoder, with a default of 65
1077
1078         Covered by existing tests.
1079
1080         * platform/image-encoders/JPEGImageEncoder.cpp:
1081         (WebCore::compressRGBABigEndianToJPEG):
1082         * platform/image-encoders/JPEGImageEncoder.h:
1083         (WebCore):
1084
1085 2013-04-24  Csaba Osztrogon√°c  <ossy@webkit.org>
1086
1087         Fix cast-align WebCore/platform/graphics/GraphicsContext3D.cpp on ARM
1088         https://bugs.webkit.org/show_bug.cgi?id=115036
1089
1090         Reviewed by Benjamin Poulain.
1091
1092         * platform/graphics/GraphicsContext3D.cpp:
1093         (WebCore):
1094
1095 2013-04-24  Andreas Kling  <akling@apple.com>
1096
1097         Remove unnecessary MutableStylePropertySet casts.
1098         <http://webkit.org/b/115075>
1099
1100         Reviewed by Geoffrey Garen.
1101
1102         Get rid of some now-unneeded static_casts that were left from the StylePropertySet
1103         refactoring last weekend.
1104
1105         * css/StylePropertySet.cpp:
1106         (WebCore::MutableStylePropertySet::setProperty):
1107         * editing/EditingStyle.cpp:
1108         (WebCore::EditingStyle::triStateOfStyle):
1109         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
1110
1111 2013-04-24  Kangil Han  <kangil.han@samsung.com>
1112
1113         [Minor code cleanup] Remove duplicated condition check
1114         https://bugs.webkit.org/show_bug.cgi?id=115082
1115
1116         Reviewed by Andreas Kling.
1117
1118         areRectsPartiallyAligned() has duplicated condition check, so remove it.
1119
1120         * page/SpatialNavigation.cpp:
1121         (WebCore::areRectsPartiallyAligned):
1122
1123 2013-04-24  Krzysztof Wolanski  <k.wolanski@samsung.com>
1124
1125         [EFL] Fix build warnings caused by missing images attributes for default buttons
1126         https://bugs.webkit.org/show_bug.cgi?id=114955
1127
1128         Reviewed by Gyuyoung Kim.
1129
1130         Added default image for each button from mediacontrol catalog.
1131
1132         No new tests, because there is no change in behavior.
1133
1134         * platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc:
1135         * platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc:
1136         * platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc:
1137         * platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc:
1138         * platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc:
1139         * platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc:
1140
1141 2013-04-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1142
1143         Unreviewed build fix with gstreamer 0.10.x after r147555.
1144
1145         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1146         (webKitWebAudioSrcLoop):
1147
1148 == Rolled over to ChangeLog-2013-04-24 ==