422af767e90dffbfca2f0fe77874b4f6555404b0
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2
3         Fix GCC with C++11 build
4         https://bugs.webkit.org/show_bug.cgi?id=111579
5
6         Reviewed by Anders Carlsson.
7
8         If the destructor is private, MemoryInstrumentation can not create an inherited class.
9
10         * css/PropertySetCSSStyleDeclaration.h:
11         (StyleRuleCSSStyleDeclaration):
12         * dom/ShadowRoot.h:
13         (ShadowRoot):
14         * loader/SubresourceLoader.h:
15         (SubresourceLoader):
16         * platform/Timer.h:
17
18 2013-03-28  Allan Sandfeld Jensen  <allan.jensen@digia.com>
19
20         [Qt] Create ShadowBlur on demand.
21         https://bugs.webkit.org/show_bug.cgi?id=113506
22
23         Reviewed by Noam Rosenthal.
24
25         This patch creates ShadowBlur objects on demand instead of keeping a single one alive for
26         each GraphicsContext. This matches what other platforms does and fixes the problem with 
27         an active shadowblur being affected by changing shadow settings on the GraphicsContext.
28
29         The method mustUseShadowBlur is moved from ShadowBlur to GraphcisContext, so that it can
30         be used to determine if a ShadowBlur object should even be generated.
31
32         * platform/graphics/GraphicsContext.cpp:
33         (WebCore::GraphicsContext::hasBlurredShadow):
34         (WebCore::GraphicsContext::mustUseShadowBlur):
35         * platform/graphics/GraphicsContext.h:
36         (GraphicsContext):
37         * platform/graphics/ShadowBlur.cpp:
38         (WebCore::ShadowBlur::ShadowBlur):
39         * platform/graphics/ShadowBlur.h:
40         * platform/graphics/cairo/FontCairo.cpp:
41         (WebCore::drawGlyphsShadow):
42         * platform/graphics/cg/GraphicsContextCG.cpp:
43         (WebCore::GraphicsContext::fillRect):
44         (WebCore::GraphicsContext::fillRoundedRect):
45         (WebCore::GraphicsContext::fillRectWithRoundedHole):
46         * platform/graphics/qt/FontQt.cpp:
47         (WebCore::drawQtGlyphRun):
48         * platform/graphics/qt/GraphicsContextQt.cpp:
49         (GraphicsContextPlatformPrivate):
50         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
51         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
52         (WebCore::GraphicsContext::restorePlatformState):
53         (WebCore::GraphicsContext::fillPath):
54         (WebCore::GraphicsContext::strokePath):
55         (WebCore::GraphicsContext::fillRect):
56         (WebCore::GraphicsContext::fillRoundedRect):
57         (WebCore::GraphicsContext::fillRectWithRoundedHole):
58         (WebCore::GraphicsContext::setPlatformShadow):
59         (WebCore::GraphicsContext::clearPlatformShadow):
60         * platform/graphics/qt/ImageQt.cpp:
61         (WebCore::BitmapImage::draw):
62         * platform/graphics/qt/StillImageQt.cpp:
63         (WebCore::StillImage::draw):
64
65 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
66
67         Remove Chromium code from WebCore/page
68         https://bugs.webkit.org/show_bug.cgi?id=114013
69
70         Reviewed by Anders Carlsson.
71
72         Removed.
73
74         * page/Console.cpp:
75         (WebCore::Console::time):
76         (WebCore::Console::timeEnd):
77         * page/EventHandler.cpp:
78         (WebCore::shouldGesturesTriggerActive):
79         (WebCore::EventHandler::handleMouseReleaseEvent):
80         (WebCore):
81         (WebCore::EventHandler::sendScrollEventToView):
82         * page/FeatureObserver.cpp:
83         (WebCore::FeatureObserver::updateMeasurements):
84         * page/FrameView.cpp:
85         (WebCore::FrameView::layout):
86         (WebCore::FrameView::useSlowRepaints):
87         * page/PageConsole.cpp:
88         * page/PageGroup.cpp:
89         (WebCore::PageGroup::isLinkVisited):
90         (WebCore::PageGroup::addVisitedLink):
91         * page/Settings.cpp:
92         (WebCore):
93         * page/android: Removed.
94         * page/chromium: Removed.
95         * page/chromium/ChromeClientChromium.h: Removed.
96         * page/chromium/DragControllerChromium.cpp: Removed.
97         * page/chromium/EventHandlerChromium.cpp: Removed.
98         * page/scrolling/ScrollingCoordinator.cpp:
99         (WebCore::ScrollingCoordinator::create):
100         (WebCore):
101         * page/scrolling/ScrollingCoordinator.h:
102         (ScrollingCoordinator):
103         * page/scrolling/ScrollingTree.cpp:
104         (WebCore):
105         * page/scrolling/ScrollingTree.h:
106         (ScrollingTree):
107         * page/scrolling/chromium: Removed.
108         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Removed.
109         * page/scrolling/chromium/ScrollingCoordinatorChromium.h: Removed.
110
111 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
112
113         Remove Chromium code from WebCore/rendering
114         https://bugs.webkit.org/show_bug.cgi?id=114017
115
116         Reviewed by Simon Fraser.
117
118         Removed.
119
120         * rendering/RenderBlockLineLayout.cpp:
121         (WebCore::setLogicalWidthForTextRun):
122         * rendering/RenderLayerBacking.cpp:
123         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
124         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
125         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
126         * rendering/RenderLayerCompositor.cpp:
127         (WebCore::RenderLayerCompositor::paintContents):
128         (WebCore::shouldCompositeOverflowControls):
129         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
130         * rendering/RenderMediaControlsChromium.cpp: Removed.
131         * rendering/RenderMediaControlsChromium.h: Removed.
132         * rendering/RenderObject.cpp:
133         (WebCore::RenderObject::shouldRespectImageOrientation):
134         * rendering/RenderText.cpp:
135         (WebCore):
136         (WebCore::RenderText::previousOffsetForBackwardDeletion):
137         * rendering/RenderThemeChromiumAndroid.cpp: Removed.
138         * rendering/RenderThemeChromiumAndroid.h: Removed.
139         * rendering/RenderThemeChromiumCommon.cpp: Removed.
140         * rendering/RenderThemeChromiumCommon.h: Removed.
141         * rendering/RenderThemeChromiumDefault.cpp: Removed.
142         * rendering/RenderThemeChromiumDefault.h: Removed.
143         * rendering/RenderThemeChromiumFontProvider.cpp: Removed.
144         * rendering/RenderThemeChromiumFontProvider.h: Removed.
145         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Removed.
146         * rendering/RenderThemeChromiumFontProviderWin.cpp: Removed.
147         * rendering/RenderThemeChromiumMac.h: Removed.
148         * rendering/RenderThemeChromiumMac.mm: Removed.
149         * rendering/RenderThemeChromiumSkia.cpp: Removed.
150         * rendering/RenderThemeChromiumSkia.h: Removed.
151         * rendering/RenderThemeChromiumWin.cpp: Removed.
152         * rendering/RenderThemeChromiumWin.h: Removed.
153         * rendering/RenderThemeMacShared.mm:
154         (WebCore::RenderThemeMacShared::paintSliderThumb):
155
156 2013-04-05  Noam Rosenthal  <noam@webkit.org>
157
158         [Texmap] css3/filters/filter-animation-from-none-hw.html does not animate
159         https://bugs.webkit.org/show_bug.cgi?id=114026
160
161         Reviewed by Allan Sandfeld Jensen.
162
163         Allow the filter's blending function to take place when animating from/to none.
164
165         * platform/graphics/GraphicsLayerAnimation.cpp:
166         (WebCore::applyFilterAnimation):
167
168 2013-04-05  Noam Rosenthal  <noam@webkit.org>
169
170         [CoordGfx] Enable filter animations
171         https://bugs.webkit.org/show_bug.cgi?id=114027
172
173         Reviewed by Allan Sandfeld Jensen.
174
175         Allow CoordinatedGraphicsLayer to serialize filter animations to the UI process.
176
177         Covered by animation tests in css3/filters.
178
179         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
180         (WebCore::CoordinatedGraphicsLayer::addAnimation):
181
182 2013-04-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
183
184         Avoid double hash table lookups in TextureMapperGL
185         https://bugs.webkit.org/show_bug.cgi?id=114030
186
187         Reviewed by Noam Rosenthal.
188
189         Use Vector::add() and leverage its returned AddResult value instead of
190         calling Vector::find() then Vector::set() if the key does not already
191         exist in the map. This results in a single hash lookup instead of two
192         in this case.
193
194         No new tests, no behavior change.
195
196         * platform/graphics/texmap/TextureMapperGL.cpp:
197         (WebCore::TextureMapperGLData::SharedGLData::getShaderProgram):
198         (WebCore::TextureMapperGLData::getStaticVBO):
199         (WebCore::TextureMapperGL::drawUsingCustomFilter):
200
201 2013-04-05  Aivo Paas  <aivopaas@gmail.com>
202
203         Updating mouse cursor on style changes without emitting fake mousemove event
204         https://bugs.webkit.org/show_bug.cgi?id=101857
205
206         Reviewed by Allan Sandfeld Jensen.
207
208         Mouse cursor changes in styles used to be reflected in UI through dispatching a fake
209         mousemove event. The old approach has some flaws: it emits a mousemove event in
210         javascript when there is no mouse movement involved (bug 85343); the fake mousemove
211         event is cancelled while there is a mouse button held down - cursor won't change
212         until mouse is moved or the button released (bug 53341).
213
214         The new approach does not use the fake mousemove event. Instead, it uses only the logic
215         needed for the actual cursor change to happen.
216
217         EventHandler::selectCursor was refactored to not take a whole mouse event but instead work with
218         HitTestResult so that EventHandler::updateCursor must not create a useless PlatformEvent.
219
220         Fixes: https://bugs.webkit.org/show_bug.cgi?id=85343 (mousemove event on cursor change)
221                https://bugs.webkit.org/show_bug.cgi?id=53341 (no cursor change when mouse button down)
222
223         Tests: fast/events/mouse-cursor-change.html
224                fast/events/mouse-cursor-no-mousemove.html
225
226         * page/EventHandler.cpp:
227         (WebCore::EventHandler::EventHandler):
228         (WebCore::EventHandler::clear):
229         (WebCore::EventHandler::cursorUpdateTimerFired):
230         (WebCore::EventHandler::updateCursor):
231         (WebCore::EventHandler::selectCursor):
232         (WebCore::EventHandler::handleMouseMoveEvent):
233         (WebCore::EventHandler::scheduleCursorUpdate):
234         * page/EventHandler.h:
235         * page/FrameView.cpp:
236         (WebCore::FrameView::shouldSetCursor):
237         * page/FrameView.h:
238         * page/MouseEventWithHitTestResults.cpp:
239         (WebCore::MouseEventWithHitTestResults::isOverLink):
240         * rendering/HitTestResult.cpp:
241         (WebCore::HitTestResult::isOverLink):
242         * rendering/HitTestResult.h:
243         * rendering/RenderObject.cpp:
244         (WebCore::RenderObject::styleDidChange):
245
246 2013-04-05  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
247
248         [Qt] PluginsX11: exposedRect offset is applied twice when painting windowless
249         https://bugs.webkit.org/show_bug.cgi?id=114020
250
251         Reviewed by Simon Hausmann.
252
253         Both XGetImage and QPainter::drawImage would apply the offset.
254         Since the XImage will only contain the exposed rect, no need to specify
255         the source rect to drawImage.
256
257         * plugins/qt/PluginViewQt.cpp:
258         (WebCore::PluginView::paintUsingXPixmap):
259
260 2013-04-05  Seokju Kwon  <seokju.kwon@gmail.com>
261
262         Web Inspector: crash in InspectorDOMAgent::innerHighlightQuad after r147566
263         https://bugs.webkit.org/show_bug.cgi?id=113991
264
265         Reviewed by Joseph Pecoraro.
266
267         * inspector/InspectorDOMAgent.cpp:
268         (WebCore::InspectorDOMAgent::innerHighlightQuad):
269
270 2013-04-05  Carlos Garcia Campos  <cgarcia@igalia.com>
271
272         REGRESSION(r145279): Build fails while linking when MEDIA_STREAM is enabled
273         https://bugs.webkit.org/show_bug.cgi?id=113294
274
275         Reviewed by Xan Lopez.
276
277         In r145279 NamedGetter extended attribute is added to
278         RTCStatsResponse.idl which makes the code generator to add
279         prototypes for JSRTCStatsResponse::nameGetter and
280         JSRTCStatsResponse::canGetItemsForName to the generated
281         JSRTCStatsResponse header, but they are not implemented
282         anywhere. We need to provide a JSRTCStatsResponseCustom file with
283         the implementation of both functions.
284
285         * GNUmakefile.list.am: Add JSRTCStatsResponseCustom.cpp to
286         compilation.
287         * Target.pri: Ditto.
288         * UseJSC.cmake: Ditto.
289         * WebCore.vcproj/WebCore.vcproj: Ditto.
290         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
291         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
292         * bindings/js/JSRTCStatsResponseCustom.cpp: Added.
293         (WebCore):
294         (WebCore::JSRTCStatsResponse::canGetItemsForName):
295         (WebCore::JSRTCStatsResponse::nameGetter):
296
297 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
298
299         Remove Chromium code from WebCore/loader
300         https://bugs.webkit.org/show_bug.cgi?id=114011
301
302         Reviewed by Benjamin Poulain.
303
304         Removed.
305
306         * loader/DocumentLoader.cpp:
307         (WebCore::DocumentLoader::responseReceived):
308         * loader/DocumentThreadableLoader.h:
309         * loader/FrameLoader.cpp:
310         (WebCore::FrameLoader::FrameLoader):
311         (WebCore::FrameLoader::defaultObjectContentType):
312         (WebCore):
313         * loader/FrameLoader.h:
314         (FrameLoader):
315         * loader/FrameLoaderClient.h:
316         (FrameLoaderClient):
317         * loader/PingLoader.cpp:
318         (WebCore::PingLoader::loadImage):
319         (WebCore::PingLoader::sendPing):
320         (WebCore::PingLoader::sendViolationReport):
321         * loader/ResourceLoadScheduler.cpp:
322         (WebCore):
323         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
324         (WebCore::ResourceLoadScheduler::scheduleLoad):
325         * loader/ResourceLoader.h:
326         * loader/SubresourceLoader.h:
327         * loader/ThreadableLoaderClient.h:
328         (ThreadableLoaderClient):
329         * loader/ThreadableLoaderClientWrapper.h:
330         (ThreadableLoaderClientWrapper):
331         * loader/appcache/ApplicationCacheHost.h:
332         (WebCore):
333         (ApplicationCacheHost):
334         * loader/cache/CachedRawResource.h:
335         (CachedRawResource):
336         (WebCore::CachedRawResourceClient::redirectReceived):
337         * loader/cache/CachedResource.cpp:
338         (WebCore):
339         (WebCore::CachedResource::load):
340         * loader/cache/CachedResource.h:
341         (WebCore::CachedResource::didSendData):
342         * loader/cache/CachedResourceLoader.cpp:
343         (WebCore::CachedResourceLoader::requestResource):
344         (WebCore::CachedResourceLoader::preload):
345         * loader/chromium: Removed.
346         * loader/chromium/CachedRawResourceChromium.cpp: Removed.
347         * loader/chromium/DocumentThreadableLoaderChromium.cpp: Removed.
348         * loader/chromium/ResourceLoaderChromium.cpp: Removed.
349         * loader/chromium/SubresourceLoaderChromium.cpp: Removed.
350
351 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
352
353         Remove Chromium code from WebCore/editing
354         https://bugs.webkit.org/show_bug.cgi?id=114008
355
356         Reviewed by Benjamin Poulain.
357
358         Removed.
359
360         * editing/EditingBehavior.h:
361         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
362         * editing/FrameSelection.h:
363         (WebCore):
364         * editing/chromium: Removed.
365         * editing/chromium/EditorChromium.cpp: Removed.
366         * editing/chromium/FrameSelectionChromium.cpp: Removed.
367
368 2013-04-05  Benjamin Poulain  <benjamin@webkit.org>
369
370         Remove the chromium code from the filesystem module
371         https://bugs.webkit.org/show_bug.cgi?id=114002
372
373         Reviewed by Ryosuke Niwa.
374
375         * Modules/filesystem/DOMFileSystemBase.cpp:
376         (WebCore::DOMFileSystemBase::createFileSystemURL):
377         * Modules/filesystem/FileSystemType.h:
378         * Modules/filesystem/LocalFileSystem.cpp:
379         * Modules/filesystem/LocalFileSystem.h:
380         (LocalFileSystem):
381
382 2013-04-05  Ryosuke Niwa  <rniwa@webkit.org>
383
384         Remove Chromium code from Source/WebCore/dom
385         https://bugs.webkit.org/show_bug.cgi?id=114007
386
387         Reviewed by Benjamin Poulain.
388
389         Removed.
390
391         * dom/Document.cpp:
392         (WebCore::Document::recalcStyle):
393         (WebCore::Document::implicitClose):
394         (WebCore::Document::setFocusedNode):
395         * dom/MessagePortChannel.h:
396         (MessagePortChannel):
397         * dom/ShadowRoot.cpp:
398         (WebCore::ShadowRoot::ShadowRoot):
399         * dom/default/chromium: Removed.
400         * dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Removed.
401         * dom/default/chromium/PlatformMessagePortChannelChromium.h: Removed.
402
403 2013-04-05  Benjamin Poulain  <benjamin@webkit.org>
404
405         Remove the chromium directories from WebCore/Modules
406         https://bugs.webkit.org/show_bug.cgi?id=114000
407
408         Reviewed by Ryosuke Niwa.
409
410         First step in cleaning the code: remove the chromium-specific files.
411
412         * Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Removed.
413         * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Removed.
414         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: Removed.
415         * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h: Removed.
416         * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.cpp: Removed.
417         * Modules/indexeddb/chromium/IDBFactoryBackendInterfaceChromium.h: Removed.
418         * Modules/speech/chromium/SpeechSynthesisChromium.cpp: Removed.
419         * Modules/webdatabase/chromium/DatabaseObserver.h: Removed.
420         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Removed.
421         * Modules/webdatabase/chromium/QuotaTracker.cpp: Removed.
422         * Modules/webdatabase/chromium/QuotaTracker.h: Removed.
423         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Removed.
424
425 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
426
427         Remove Chromium code from WebCore/accessibility
428         https://bugs.webkit.org/show_bug.cgi?id=114001
429
430         Reviewed by Benjamin Poulain.
431
432         Removed.
433
434         * accessibility/AccessibilityObject.cpp:
435         (WebCore::AccessibilityObject::AccessibilityObject):
436         (WebCore::AccessibilityObject::detach):
437         (WebCore::AccessibilityObject::isDetached):
438         * accessibility/AccessibilityObject.h:
439         (AccessibilityObject):
440         * accessibility/chromium: Removed.
441         * accessibility/chromium/AXObjectCacheChromium.cpp: Removed.
442         * accessibility/chromium/AccessibilityObjectChromium.cpp: Removed.
443
444 2013-04-05  Benjamin Poulain  <bpoulain@apple.com>
445
446         Remove WTFURL from WebKit
447         https://bugs.webkit.org/show_bug.cgi?id=113994
448
449         Reviewed by Ryosuke Niwa.
450
451         * GNUmakefile.list.am:
452         * WebCore.exp.in:
453         * WebCore.xcodeproj/project.pbxproj:
454         * platform/KURL.cpp:
455         (WebCore):
456         (WebCore::KURL::reportMemoryUsage):
457         (WebCore::KURL::isSafeToSendToAnotherThread):
458         * platform/KURL.h:
459         (KURL):
460         (WebCore):
461         * platform/KURLWTFURL.cpp: Removed.
462         * platform/KURLWTFURLImpl.h: Removed.
463         * platform/cf/KURLCFNet.cpp:
464         (WebCore::KURL::KURL):
465         (WebCore::KURL::createCFURL):
466         (WebCore):
467         * platform/mac/KURLMac.mm:
468         (WebCore::KURL::KURL):
469         (WebCore::KURL::createCFURL):
470
471 2013-04-04  peavo@outlook.com  <peavo@outlook.com>
472
473         WinCairo build fails to link.
474         https://bugs.webkit.org/show_bug.cgi?id=113873
475
476         Reviewed by Brent Fulgham.
477
478         Removed double guards for USE(ACCELERATED_COMPOSITING),
479         and moved methods out of USE(ACCELERATED_COMPOSITING) guard to fix linker errors. 
480
481         * page/FrameView.cpp:
482         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
483         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
484         (WebCore::FrameView::setWantsLayerForHeader):
485         (WebCore::FrameView::setWantsLayerForFooter):
486         (WebCore::FrameView::setHeaderHeight):
487         (WebCore::FrameView::setFooterHeight):
488
489 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
490
491         Remove code for 10.5 and earlier from Source/WebCore
492         https://bugs.webkit.org/show_bug.cgi?id=113754
493
494         Reviewed by Benjamin Poulain.
495
496         Removed the code for 10.5 and removed if-def for 10.6.
497
498         * WebCore.xcodeproj/project.pbxproj:
499         * page/ContextMenuController.cpp:
500         (WebCore::ContextMenuController::populate):
501         * platform/LocalizedStrings.cpp:
502         (WebCore::imageTitle):
503         * platform/graphics/cg/GraphicsContextCG.cpp:
504         (WebCore::GraphicsContext::setAllowsFontSmoothing):
505         * platform/graphics/cg/ImageCG.cpp:
506         (WebCore::Image::drawPattern):
507         * platform/graphics/cg/ImageSourceCG.cpp:
508         (WebCore::ImageSource::clear):
509         * platform/graphics/cg/PathCG.cpp:
510         (WebCore::Path::boundingRect):
511         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
512         (WebCore):
513         (WebCore::FontPlatformData::ctFont):
514         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
515         (WebCore::MediaPlayerPrivateGStreamerBase::supportsFullscreen):
516         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
517         * platform/graphics/mac/FontCacheMac.mm:
518         (WebCore):
519         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
520         (WebCore::FontCache::platformInit):
521         * platform/graphics/mac/FontCustomPlatformData.cpp:
522         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
523         (WebCore::createFontCustomPlatformData):
524         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
525         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
526         (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen):
527         (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
528         (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale):
529         * platform/graphics/mac/SimpleFontDataMac.mm:
530         (WebCore::SimpleFontData::platformInit):
531         * platform/graphics/mac/WebLayer.h:
532         * platform/mac/CursorMac.mm:
533         (WebCore::Cursor::ensurePlatformCursor):
534         * platform/mac/DisplaySleepDisabler.cpp:
535         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
536         (WebCore):
537         * platform/mac/DisplaySleepDisabler.h:
538         (DisplaySleepDisabler):
539         * platform/mac/EmptyProtocolDefinitions.h:
540         * platform/mac/HTMLConverter.h:
541         * platform/mac/HTMLConverter.mm:
542         * platform/mac/PopupMenuMac.mm:
543         (WebCore::PopupMenuMac::populate):
544         * platform/mac/ScrollElasticityController.mm:
545         (systemUptime):
546         * platform/mac/SharedTimerMac.mm:
547         (PowerObserver):
548         (WebCore::PowerObserver::PowerObserver):
549         (WebCore::PowerObserver::~PowerObserver):
550         (WebCore::PowerObserver::didReceiveSystemPowerNotification):
551         * platform/mac/SuddenTermination.mm:
552         * platform/mac/WebCoreFullScreenWindow.mm:
553         (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
554         * platform/mac/WebFontCache.mm:
555         (+[WebFontCache getTraits:inFamily:]):
556         (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
557         * platform/mac/WebVideoFullscreenController.mm:
558         (SOFT_LINK_POINTER):
559         (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]):
560         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
561         (createControlWithMediaUIControlType):
562         (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
563         * platform/network/Credential.h:
564         * platform/network/cf/DNSCFNet.cpp:
565         (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
566         * platform/network/cf/ProxyServerCFNet.cpp:
567         (WebCore):
568         (WebCore::proxyServersForURL):
569         * platform/network/cf/SocketStreamHandleCFNet.cpp:
570         (WebCore::SocketStreamHandle::chooseProxy):
571         * platform/network/mac/AuthenticationMac.mm:
572         (WebCore):
573         * platform/network/mac/WebCoreURLResponse.mm:
574         (WebCore::adjustMIMETypeIfNecessary):
575         * platform/text/TextChecking.h:
576         (WebCore):
577
578 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
579
580         Qt build fix attempt after r147684.
581
582         * html/canvas/CanvasRenderingContext.cpp:
583
584 2013-04-04  Benjamin Poulain  <bpoulain@apple.com>
585
586         alternateFamilyName should return a null, not an empty value
587         https://bugs.webkit.org/show_bug.cgi?id=113987
588
589         Reviewed by Anders Carlsson.
590
591         The string object corresponding semantically to "no-value" is
592         a null string, not an empty string.
593
594         Fix alternateFamilyName() accordingly.
595
596         * platform/graphics/FontCache.cpp:
597         (WebCore::alternateFamilyName):
598         (WebCore::FontCache::getCachedFontPlatformData):
599
600 2013-04-04  Anders Carlsson  <andersca@apple.com>
601
602         Work around a bug in the bindings generation script.
603
604         * WebCore.xcodeproj/project.pbxproj:
605
606 2013-04-04  Dean Jackson  <dino@apple.com>
607
608         Don't dispatch delayed click if snapshotted plugin was triggered by a click on the label
609         https://bugs.webkit.org/show_bug.cgi?id=113982
610
611         Reviewed by Tim Horton.
612
613         We regressed the way clicks were sent on to restarted plugins when we moved to a
614         Shadow Root - we were always sending the click. We should only send the click
615         on if the user clicked on the main plugin content, and not send it when you
616         click directly on the label.
617
618         * html/HTMLPlugInImageElement.cpp:
619         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Keep a reference to the container and label.
620         (WebCore::HTMLPlugInImageElement::partOfSnapshotLabel): New method that detects if a Node was part
621             of the snapshot label.
622         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Only record the event if you should forward it on.
623         * html/HTMLPlugInImageElement.h:
624         (HTMLPlugInImageElement): New parameter to userDidClickSnapshot and member variables for shadow content.
625         * rendering/RenderSnapshottedPlugIn.cpp:
626         (WebCore::RenderSnapshottedPlugIn::handleEvent): Ask the plugin if the clicked target was the snapshot label.
627
628 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
629
630         Unreviewed EFL build fix.
631
632         Add missing include for FloatRect.h.
633
634         * platform/efl/PlatformScreenEfl.cpp:
635
636 2013-04-04  Tim Horton  <timothy_horton@apple.com>
637
638         Unreviewed build fix.
639
640         * platform/graphics/GlyphPageTreeNode.cpp:
641
642 2013-04-04  Anders Carlsson  <andersca@apple.com>
643
644         Another build fix.
645
646         * platform/graphics/FontCache.cpp:
647         * platform/graphics/SimpleFontData.cpp:
648
649 2013-04-04  Anders Carlsson  <andersca@apple.com>
650
651         Fix build.
652
653         * WebCore.xcodeproj/project.pbxproj:
654
655 2013-04-04  Geoffrey Garen  <ggaren@apple.com>
656
657         Removed empty files from the build
658         https://bugs.webkit.org/show_bug.cgi?id=113978
659
660         Reviewed by Anders Carlsson.
661
662         Anders made a list of all the empty files that are slowing down the Mac
663         build, and I grepped them away.
664
665         * WebCore.xcodeproj/project.pbxproj:
666
667 2013-04-04  Anders Carlsson  <andersca@apple.com>
668
669         Prune unneeded header #includes
670         https://bugs.webkit.org/show_bug.cgi?id=113973
671
672         Reviewed by Geoffrey Garen.
673
674         Reduce the amount of headers included by other headers by:
675         - Moving implicit and explicit constructors and destructors into .cpp files so member variable constructors/destructors
676           don't have to be declared.
677         - Move CachedResourceClient subclasses out into separate headers so that their respective CachedResource subclasses don't
678           have to be included by the classes that derive from those subclasses.
679         - Remove headers that were never needed in the first place.
680
681         * Modules/webaudio/AudioContext.h:
682         * WebCore.xcodeproj/project.pbxproj:
683         * bindings/js/JSDOMWindowCustom.cpp:
684         * css/CSSFontFaceSource.h:
685         * html/canvas/CanvasPattern.cpp:
686         (WebCore::CanvasPattern::create):
687         (WebCore::CanvasPattern::CanvasPattern):
688         (WebCore::CanvasPattern::~CanvasPattern):
689         * html/canvas/CanvasPattern.h:
690         (WebCore::CanvasPattern::pattern):
691         (WebCore::CanvasPattern::originClean):
692         * html/parser/HTMLScriptRunner.h:
693         * loader/ImageLoader.h:
694         * loader/LinkLoader.h:
695         * loader/TextTrackLoader.h:
696         * loader/cache/CachedFont.cpp:
697         * loader/cache/CachedFont.h:
698         * loader/cache/CachedFontClient.h: Added.
699         (WebCore::CachedFontClient::~CachedFontClient):
700         (WebCore::CachedFontClient::expectedType):
701         (WebCore::CachedFontClient::resourceClientType):
702         (WebCore::CachedFontClient::fontLoaded):
703         * loader/cache/CachedResourceHandle.cpp:
704         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
705         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
706         (WebCore::CachedResourceHandleBase::setResource):
707         * loader/cache/CachedResourceHandle.h:
708         (WebCore::CachedResourceHandleBase::get):
709         (WebCore::CachedResourceHandleBase::operator!):
710         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
711         (WebCore::CachedResourceHandleBase::operator=):
712         (WebCore::CachedResourceHandle::CachedResourceHandle):
713         (WebCore::CachedResourceHandle::get):
714         (WebCore::CachedResourceHandle::operator->):
715         (WebCore::CachedResourceHandle::operator=):
716         (WebCore::CachedResourceHandle::operator==):
717         (WebCore::CachedResourceHandle::operator!=):
718         (WebCore::operator==):
719         (WebCore::operator!=):
720         * loader/cache/CachedSVGDocument.h:
721         * loader/cache/CachedSVGDocumentReference.h:
722         * loader/cache/CachedSVGDocumentClient.h: Added.
723         (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
724         (WebCore::CachedSVGDocumentClient::expectedType):
725         (WebCore::CachedSVGDocumentClient::resourceClientType):
726         * loader/cache/CachedStyleSheetClient.h:
727         * platform/PlatformScreen.h:
728         * platform/audio/HRTFElevation.cpp:
729         * platform/audio/HRTFKernel.cpp:
730         (WebCore::HRTFKernel::fftSize):
731         * platform/audio/HRTFKernel.h:
732         * platform/audio/ReverbConvolverStage.cpp:
733         (WebCore::ReverbConvolverStage::~ReverbConvolverStage):
734         * platform/audio/ReverbConvolverStage.h:
735         * platform/graphics/FontPlatformData.h:
736         * platform/graphics/GraphicsContext3D.h:
737         * platform/graphics/Path.cpp:
738         * platform/graphics/Path.h:
739         * platform/graphics/Pattern.cpp:
740         * platform/graphics/Pattern.h:
741         * platform/graphics/filters/FilterOperation.cpp:
742         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
743         (WebCore::ReferenceFilterOperation::~ReferenceFilterOperation):
744         (WebCore::ReferenceFilterOperation::setCachedSVGDocumentReference):
745         * platform/graphics/filters/FilterOperation.h:
746         * platform/graphics/transforms/AffineTransform.h:
747         * plugins/DOMMimeType.h:
748         * rendering/RenderLayerFilterInfo.h:
749         * rendering/style/StyleCachedShader.h:
750         * svg/SVGFEImageElement.h:
751         * svg/SVGFontFaceUriElement.h:
752         * svg/SVGUseElement.h:
753         * xml/parser/XMLDocumentParser.h:
754
755 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
756
757         [Cairo] Stop passing raw pointers to BitmapImage::create()
758         https://bugs.webkit.org/show_bug.cgi?id=113945
759
760         Reviewed by Martin Robinson.
761
762         BitmapImage::create() was updated in r147643 to take a PassRefPtr<cairo_surface_t>
763         in argument instead of a cairo_surface_t*. This patch updates several call sites
764         so that they now pass in a smart pointer instead of a raw one to avoid silent
765         converting from cairo_surface_t* to PassRefPtr<cairo_surface_t>.
766
767         No new tests, no behavior change.
768
769         * platform/graphics/cairo/ImageBufferCairo.cpp:
770         (WebCore::ImageBufferData::ImageBufferData): Use RefPtr to m_surface to avoid manual
771         memory handling.
772         (WebCore::ImageBuffer::ImageBuffer):
773         (WebCore::ImageBuffer::~ImageBuffer):
774         (WebCore::ImageBuffer::copyImage):
775         (WebCore::ImageBuffer::clip):
776         (WebCore::ImageBuffer::platformTransformColorSpace):
777         (WebCore::getImageData):
778         (WebCore::ImageBuffer::putByteArray):
779         * platform/graphics/cairo/ImageBufferDataCairo.h:
780         (ImageBufferData):
781         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
782         (ImageGStreamer::ImageGStreamer):
783         * platform/graphics/gtk/ImageBufferGtk.cpp:
784         (WebCore::ImageBuffer::toDataURL):
785
786 2013-04-04  Simon Fraser  <simon.fraser@apple.com>
787
788         Page content missing when flipping from an empty layer to a tiled layer
789         https://bugs.webkit.org/show_bug.cgi?id=113977
790         <rdar://problem/13444219>
791
792         Reviewed by Tim Horton.
793         
794         Some articles on USA Today were missing content on load, when a large GraphicsLayer
795         which did not draw content needed to draw content (and become tiled in the process).
796         
797         The bug was an ordering dependency in GraphicsLayerCA::commitLayerChangesBeforeSublayers().
798         swapFromOrToTiledLayer() sets some dirty flags, but for some properties which have
799         already been committed in the current flush cycle.
800         
801         Fix by moving the swapFromOrToTiledLayer() to the top of the commit, which is
802         safe since it only consults GraphicsLayer properties, not CALayer properties.
803
804         Test: compositing/tiling/empty-to-tiled.html
805
806         * platform/graphics/ca/GraphicsLayerCA.cpp:
807         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
808         (WebCore::GraphicsLayerCA::updateGeometry):
809         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
810         (WebCore::GraphicsLayerCA::updateContentsScale):
811         * platform/graphics/ca/GraphicsLayerCA.h:
812         (GraphicsLayerCA):
813
814 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
815
816         Regression(r147639) Causes assertion hit in HashTable
817         https://bugs.webkit.org/show_bug.cgi?id=113954
818
819         Reviewed by Benjamin Poulain.
820
821         Lookup the key in the hash table again after the recursive call to
822         getCachedFontPlatformData() as it may have altered the hash map and
823         invalidated the previous iterator we had.
824
825         No new tests, covered by existing tests.
826
827         * platform/graphics/FontCache.cpp:
828         (WebCore::FontCache::getCachedFontPlatformData):
829
830 2013-04-04  Eric Carlson  <eric.carlson@apple.com>
831
832         [Mac] add "automatic" text track menu item
833         https://bugs.webkit.org/show_bug.cgi?id=113822
834
835         Reviewed by Jer Noble.
836
837         No new tests, existing tests updated.
838
839         * English.lproj/Localizable.strings: Add new track menu item.
840
841         * html/HTMLMediaElement.cpp: 
842         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_captionDisplayMode.
843         (WebCore::HTMLMediaElement::finishParsingChildren): LoadTextTrackResource -> ConfigureTextTracks.
844         (WebCore::HTMLMediaElement::scheduleDelayedAction): Ditto.
845         (WebCore::HTMLMediaElement::loadTimerFired): Ditto.
846         (WebCore::HTMLMediaElement::loadInternal): Ditto. Flag the caption menu as invalid so it will
847             be rebuilt again.
848         (WebCore::HTMLMediaElement::mediaPlayerDidAddTrack): LoadTextTrackResource -> ConfigureTextTracks.
849         (WebCore::HTMLMediaElement::didAddTrack): Ditto.
850         (WebCore::HTMLMediaElement::configureTextTrackGroup): Deal with new track display modes.
851         (WebCore::HTMLMediaElement::HTMLMediaElement::hasClosedCaptions): Minor cleanup.
852         (WebCore::HTMLMediaElement::configureTextTrackGroup): Add some logging.
853         (WebCore::HTMLMediaElement::configureTextTracks): Call updateActiveTextTrackCues so cue display
854             is updated.
855         (WebCore::HTMLMediaElement::captionPreferencesChanged): Deal with new track display modes.
856         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Add some logging.
857         * html/HTMLMediaElement.h: Ditto.
858
859         * html/shadow/MediaControlElementTypes.cpp: Remove trackIndexAttributeName and trackListIndexForElement.
860         * html/shadow/MediaControlElementTypes.h: Ditto.
861
862         * html/shadow/MediaControlElements.cpp:
863         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Don't use track index,
864             everything we need is in the track<->element map now.
865         (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Ditto. Always rebuild the 
866             track list because clear the map each time the menu goes away because it refs every track.
867         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Don't set the track
868             index attribute on the menu items, just use the map.
869         * html/shadow/MediaControlElements.h:
870
871         * html/shadow/MediaControlsApple.cpp:
872         (WebCore::MediaControlsApple::changedClosedCaptionsVisibility): resetTrackListMenu is gone.
873         (WebCore::MediaControlsApple::reset): Ditto.
874         (WebCore::MediaControlsApple::closedCaptionTracksChanged): Ditto.
875
876         * html/track/TextTrack.cpp:
877         (WebCore::TextTrack::captionMenuOffItem): New, static TextTrack used for the menu "Off" item.
878         (WebCore::TextTrack::captionMenuAutomaticItem): New, static TextTrack used for the menu "Automatic" item.
879         * html/track/TextTrack.h:
880
881         * page/CaptionUserPreferences.cpp:
882         (WebCore::CaptionUserPreferences::shouldShowCaptions): Removed, we use captionDisplayMode instead.
883         (WebCore::CaptionUserPreferences::captionDisplayMode): New.
884         (WebCore::CaptionUserPreferences::setCaptionDisplayMode): New.
885         (WebCore::CaptionUserPreferences::setPreferredLanguage): Make the parameter a const reference.
886         (WebCore::CaptionUserPreferences::textTrackSelectionScore): Return 0 if the user doesn't want
887             captions or subtitles.
888         (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Take language as a parameter
889             instead of assuming that it is always the entire language list.
890         * page/CaptionUserPreferences.h:
891
892         * page/CaptionUserPreferencesMac.h:
893         * page/CaptionUserPreferencesMac.mm:
894         (WebCore::CaptionUserPreferencesMac::shouldShowCaptions): Removed, we use captionDisplayMode instead.
895         (WebCore::CaptionUserPreferencesMac::captionDisplayMode): New.
896         (WebCore::CaptionUserPreferencesMac::setCaptionDisplayMode): New.
897         (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Make the parameter a const reference.
898         (WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): Deal with "Automatic" mode.
899             captions or subtitles.
900         (WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Take language as a parameter
901             instead of assuming that it is always the entire language list.
902         (WebCore::CaptionUserPreferencesMac::sortedTrackListForMenu): Insert "Off" and "Automatic" items.
903
904         * platform/LocalizedStrings.cpp:
905         (WebCore::textTrackAutomaticMenuItemText): New.
906         * platform/LocalizedStrings.h:
907
908         * platform/graphics/MediaPlayer.cpp:
909         (WebCore::MediaPlayer::languageOfPrimaryAudioTrack): New.
910         * platform/graphics/MediaPlayer.h:
911         * platform/graphics/MediaPlayerPrivate.h:
912
913         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
914         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
915         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Return the language
916             of the main audio track.
917
918 2013-04-04  Alexey Proskuryakov  <ap@apple.com>
919
920         REGRESSION (r146580): Assertion using SecurityOrigin::create, URL string is not valid
921         https://bugs.webkit.org/show_bug.cgi?id=113961
922
923         Reviewed by Geoff Garen.
924
925         * page/SecurityOrigin.cpp:
926         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
927         (WebCore::SecurityOrigin::create):
928         Don't use ParsedURLString, because http://host:80/ is normalized to http://host/,
929         so it's not a parsed URL string.
930
931 2013-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>
932
933         Unreviewed, rolling out r147662.
934         http://trac.webkit.org/changeset/147662
935         https://bugs.webkit.org/show_bug.cgi?id=113955
936
937         The change r147662  breaks fast/regions/fixed-pos-elem-in-
938         region.html (Requested by benjaminp on #webkit).
939
940         * rendering/RenderBlockLineLayout.cpp:
941         (WebCore::inlineLogicalWidth):
942
943 2013-04-04  Tim Horton  <timothy_horton@apple.com>
944
945         REGRESSION (r147373): Auto-sizing doesn't always respect minimum width changes
946         https://bugs.webkit.org/show_bug.cgi?id=113947
947         <rdar://problem/13579024>
948
949         Reviewed by Anders Carlsson.
950
951         Reset the FrameView size to the minimum auto-sizing size
952         before performing auto-sizing. We were already resetting the height,
953         but not the width, instead using the FrameView's current width.
954
955         This means that changing the minimum width without also manually
956         resizing the FrameView will never see the width change.
957
958         Auto-sizing tests are not working on Mac yet.
959
960         * page/FrameView.cpp:
961         (WebCore::FrameView::autoSizeIfEnabled):
962
963 2013-04-04  Martin Robinson  <mrobinson@igalia.com>
964
965         [GTK] Remove the gyp build
966         https://bugs.webkit.org/show_bug.cgi?id=113942
967
968         Reviewed by Gustavo Noronha Silva.
969
970         * WebCore.gyp/WebCoreGTK.gyp: Removed.
971
972 2013-04-04  Robert Hogan  <robert@webkit.org>
973
974         REGRESSION(r142152): Text wraps in menu
975         https://bugs.webkit.org/show_bug.cgi?id=113706
976
977         Reviewed by David Hyatt.
978
979         * rendering/RenderBlockLineLayout.cpp:
980         (WebCore::inlineLogicalWidth): Empty inline elements add their inline border/padding/margin to the width of the
981         line when we iterate through them in nextLineBreak(), so no need to add them again here when climbing back up
982         from their first child looking for border/padding/margin to add. (An empty inline element can have floating children.)
983
984 2013-04-04  Ryosuke Niwa  <rniwa@webkit.org>
985
986         Changing typing style with font size delta overrides the previous font size delta
987         https://bugs.webkit.org/show_bug.cgi?id=113923
988
989         Reviewed by Andreas Kling.
990
991         The bug was caused by a new font size delta value overriding the old one as
992         opposed to being added to the old value. Fixed that in overrideWithStyle.
993
994         Also made overrideWithStyle share code with mergeStyle since there is already
995         code to merge text-decorations there.
996
997         Unfortunately, adding a test for this fix proved to be hard because we don't
998         expose any API to directly set typing style.
999
1000         * editing/EditingStyle.cpp:
1001         (WebCore::EditingStyle::overrideWithStyle): Use mergeStyle.
1002         (WebCore::EditingStyle::mergeStyle): Add font size deltas as opposed to simply
1003         using the new value.
1004
1005 2013-04-04  Chris Fleizach  <cfleizach@apple.com>
1006
1007         AX:File upload button has wrong label
1008         https://bugs.webkit.org/show_bug.cgi?id=113924
1009
1010         Reviewed by David Kilzer.
1011
1012         Allow the label and value to be returned for file upload controls on iOS.
1013         Due to the different AX APIs, we can expose a bit more information on iOS.
1014
1015         Test: platform/iphone-simulator/accessibility/file-upload-button.html
1016
1017         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1018         (-[WebAccessibilityObjectWrapper stringValueShouldBeUsedInLabel]):
1019         (-[WebAccessibilityObjectWrapper fileUploadButtonReturnsValueInTitle]):
1020         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
1021         (-[WebAccessibilityObjectWrapperBase fileUploadButtonReturnsValueInTitle]):
1022         (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
1023
1024 2013-04-03  Dean Jackson  <dino@apple.com>
1025
1026         Expose settings to disable plugin snapshotting autostart and primary detection
1027         https://bugs.webkit.org/show_bug.cgi?id=113918
1028
1029         Reviewed by Tim Horton.
1030
1031         Three new settings:
1032         - snapshotAllPlugIns: Do not apply any heuristics - immediately snapshot a plugin.
1033         - primaryPlugInSnapshotDetectionEnabled: Toggle snapshotting the "main" plugin in the page.
1034         - autostartOriginPlugInSnapshottingEnabled: Toggle snapshotting based on URL origins.
1035
1036         * html/HTMLPlugInImageElement.cpp:
1037         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Don't tell the host that we've started
1038             if the autostartOriginPlugInSnapshottingEnabled is false.
1039         (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Don't restart a primary
1040             plugin if primaryPlugInSnapshotDetectionEnabled is false.
1041         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Snapshot immediately if
1042             snapshotAllPlugIns is true. Also, don't test for autostart if
1043             autostartOriginPlugInSnapshottingEnabled is false.
1044         * page/Settings.in: Three new settings values.
1045
1046 2013-04-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1047
1048         [BlackBerry] Remove skia code from PluginViewBlackBerry
1049         https://bugs.webkit.org/show_bug.cgi?id=113936
1050
1051         Reviewed by Rob Buis.
1052
1053         Skia is not used anymore by the BlackBerry port.
1054
1055         * plugins/blackberry/PluginViewBlackBerry.cpp:
1056         (WebCore::PluginView::paint):
1057
1058 2013-04-04  Emil A Eklund  <eae@chromium.org>
1059
1060         Change RenderFrameSet::computeEdgeInfo to use m-rows/m_cols directly
1061         https://bugs.webkit.org/show_bug.cgi?id=113825
1062
1063         Reviewed by Eric Seidel.
1064
1065         Tests: fast/frames/invalid-frameset-compute-edge.html
1066
1067         * rendering/RenderFrameSet.cpp:
1068         (WebCore::RenderFrameSet::computeEdgeInfo):
1069
1070 2013-04-04  ChangSeok Oh  <changseok.oh@collabora.com>
1071
1072         [GTK][AC] Invalid clear ClutterContent of ClutterActor
1073         https://bugs.webkit.org/show_bug.cgi?id=113758
1074
1075         Reviewed by Gustavo Noronha Silva.
1076
1077         Using clutter_actor_set_content(actor, 0) is better to clear ClutterContent of ClutterActor.
1078         Actually the ClutterContent referece is cleared in the API if we set 0.
1079
1080         No new tests since no functionality changed.
1081
1082         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1083         (graphicsLayerActorUpdateTexture):
1084
1085 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1086
1087         [Cairo] Fix canvas drawing of SVG-based patterns and remove NativeImageCairo
1088         https://bugs.webkit.org/show_bug.cgi?id=113929
1089
1090         Reviewed by Martin Robinson.
1091
1092         Make (Pass)NativeImagePtr typedefs to (Pass)RefPtr<cairo_surface_t> instead
1093         of NativeImageCairo*. Now that we switch to using smart pointers,
1094         NativeImageCairo is removed as it made no sense to make it ref counted when
1095         it merely held a single ref counted member.
1096
1097         Now that Cairo is using smart pointers for (Pass)NativeImagePtr, this patch
1098         also enables the implementation of SVGImage::nativeImageForCurrentFrame()
1099         for USE(CAIRO) as well. This effectively fixes canvas drawing of SVG-based
1100         patterns for Cairo-based ports.
1101
1102         No new tests, covered by svg/canvas/canvas-pattern-svg.html.
1103
1104         * GNUmakefile.list.am: Remove NativeImageCairo.* for GTK.
1105
1106         * PlatformEfl.cmake: Remove NativeImageCairo.* for EFL.
1107
1108         * WebCore.vcproj/WebCore.vcproj:
1109         * WebCore.vcxproj/WebCore.vcxproj:
1110         * WebCore.vcxproj/WebCore.vcxproj.filters:
1111         Remove NativeImageCairo.* for Win.
1112
1113         * platform/graphics/BitmapImage.cpp:
1114         (WebCore::FrameData::reportMemoryUsage):
1115         Update MemoryClassInfo::addRawBuffer() call now that m_frame is a RefPtr
1116         for USE(CAIRO).
1117
1118         * platform/graphics/BitmapImage.h:
1119         (BitmapImage):
1120         Remove factory method taking a cairo_surface_t* in argument. This is useless
1121         now that PassNativeImagePtr is a typedef to PassRefPtr<cairo_surface_t> and
1122         there is already a factory method taking a PassNativeImagePtr in argument.
1123
1124         * platform/graphics/NativeImagePtr.h:
1125         (WebCore):
1126         Make PassNativeImagePtr a typedef to PassRefPtr<cairo_surface_t> and
1127         NativeImagePtr a typedef to RefPtr<cairo_surface_t>, instead of
1128         NativeImageCairo*. Moving to smart pointers is needed to enable implementation
1129         of SVGImage::nativeImageForCurrentFrame() for Cairo.
1130
1131         * platform/graphics/cairo/BitmapImageCairo.cpp:
1132         (WebCore::BitmapImage::BitmapImage):
1133         (WebCore::BitmapImage::draw):
1134         (WebCore::BitmapImage::checkForSolidColor):
1135         (WebCore::FrameData::clear):
1136         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
1137         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1138         * platform/graphics/cairo/ImageCairo.cpp:
1139         (WebCore::Image::drawPattern):
1140         Update Cairo graphics code to reflect the (Pass)NativeImagePtr type changes.
1141
1142         * platform/graphics/cairo/NativeImageCairo.cpp: Removed.
1143         * platform/graphics/cairo/NativeImageCairo.h: Removed.
1144
1145         * platform/graphics/cairo/PatternCairo.cpp:
1146         (WebCore::Pattern::createPlatformPattern):
1147         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1148         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1149         * platform/graphics/efl/ImageEfl.cpp:
1150         (WebCore::BitmapImage::getEvasObject):
1151         * platform/graphics/gtk/ImageGtk.cpp:
1152         (WebCore::BitmapImage::getGdkPixbuf):
1153         * platform/graphics/texmap/TextureMapperGL.cpp:
1154         (WebCore::BitmapTextureGL::updateContents):
1155         * platform/graphics/win/ImageCairoWin.cpp:
1156         (WebCore::BitmapImage::create):
1157         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1158         * platform/gtk/DragImageGtk.cpp:
1159         (WebCore::createDragImageFromImage):
1160         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1161         (WebCore::ImageFrame::asNewNativeImage):
1162         * platform/win/DragImageCairoWin.cpp:
1163         (WebCore::createDragImageFromImage):
1164         Update code to reflect the (Pass)NativeImagePtr type changes.
1165
1166         * svg/graphics/SVGImage.cpp:
1167         (WebCore):
1168         * svg/graphics/SVGImage.h:
1169         Enable SVGImage::nativeImageForCurrentFrame() for USE(CAIRO).
1170
1171 2013-04-04  Ed Bartosh  <bartosh@gmail.com>
1172
1173         [EFL] --minimal build fails with 'error: unused variable'
1174         https://bugs.webkit.org/show_bug.cgi?id=113903
1175
1176         Reviewed by Gustavo Noronha Silva.
1177
1178         Moved variable definition under #if where it's used
1179         * platform/network/soup/ResourceHandleSoup.cpp:
1180         (WebCore::restartedCallback):
1181
1182 2013-04-04  Andreas Kling  <akling@apple.com>
1183
1184         Global FontPlatformData cache should use OwnPtr.
1185         <http://webkit.org/b/111939>
1186
1187         Reviewed by Anders Carlsson.
1188
1189         Let the global FontPlatformData use OwnPtr instead of raw pointers + deleteAllValues().
1190
1191         * platform/graphics/FontCache.cpp:
1192         (WebCore::FontCache::getCachedFontPlatformData):
1193         (WebCore::FontCache::purgeInactiveFontData):
1194         (WebCore::FontCache::invalidate):
1195
1196             Tweaked code for OwnPtr. Also made getCachedFontPlatformData() do one hash lookup
1197             instead of two.
1198
1199         * platform/graphics/FontCache.h:
1200         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
1201         (WebCore::FontCache::createFontPlatformData):
1202         * platform/graphics/chromium/FontCacheAndroid.cpp:
1203         (WebCore::FontCache::createFontPlatformData):
1204         * platform/graphics/freetype/FontCacheFreeType.cpp:
1205         (WebCore::FontCache::createFontPlatformData):
1206         * platform/graphics/mac/FontCacheMac.mm:
1207         (WebCore::FontCache::createFontPlatformData):
1208         * platform/graphics/qt/FontCacheQt.cpp:
1209         (WebCore::FontCache::createFontPlatformData):
1210         * platform/graphics/skia/FontCacheSkia.cpp:
1211         (WebCore::FontCache::createFontPlatformData):
1212         * platform/graphics/win/FontCacheWin.cpp:
1213         (WebCore::FontCache::createFontPlatformData):
1214         * platform/graphics/wince/FontCacheWinCE.cpp:
1215         (WebCore::FontCache::createFontPlatformData):
1216         * platform/graphics/wx/FontCacheWx.cpp:
1217         (WebCore::FontCache::createFontPlatformData):
1218
1219             FontCache::createFontPlatformData() now returns a PassOwnPtr.
1220
1221 2013-04-04  Andreas Kling  <akling@apple.com>
1222
1223         Render images with low-quality scaling while FrameView is being resized.
1224         <http://webkit.org/b/113764>
1225         <rdar://problem/13555154>
1226
1227         Reviewed by Antti Koivisto.
1228
1229         Have ImageQualityController ask the renderer's containing FrameView if it's currently in live
1230         resize, and if so, paint all images with low-quality scaling. A high-quality repaint will happen
1231         ~0.5 sec after live resizing ends, piggybacking on the same mechanism we use to do JS-animated
1232         resizing with low-quality scaling.
1233
1234         This reduces CPU time spent generating new tiles during live window resize, especially on Retina
1235         systems where a lot of upscaling happens on legacy web content.
1236
1237         * rendering/RenderBoxModelObject.cpp:
1238         (ImageQualityController):
1239
1240             Added an m_liveResizeOptimizationIsActive flag that tracks whether the ImageQualityController
1241             is painting everything in low quality due to live window resize. It gets unset when the HQ
1242             repaint timer fires and everything has been repainted properly.
1243
1244         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
1245
1246             When the HQ repaint timer fires, check if the renderer's containing FrameView is still in
1247             live resize, and if so, abort HQ repaint for now and reschedule the timer.
1248
1249         (WebCore::ImageQualityController::ImageQualityController):
1250         (WebCore::ImageQualityController::objectDestroyed):
1251         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
1252
1253 2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>
1254
1255         Web Inspector: fix closure compiler warnings in IndexedDBModel.js
1256         https://bugs.webkit.org/show_bug.cgi?id=113926
1257
1258         Reviewed by Alexander Pavlov.
1259
1260         No new tests: no change in behaviour.
1261
1262         * inspector/front-end/IndexedDBModel.js:
1263
1264 2013-04-04  Xidorn Quan  <quanxunzhen@gmail.com>
1265
1266         REGRESSION (r145870): Can't get insertion point to appear in some input and textareas on wordpress
1267         https://bugs.webkit.org/show_bug.cgi?id=113591
1268
1269         Reviewed by Simon Fraser.
1270
1271         Since a child node could overflow its ancestor, it is not wise to check
1272         one's radii boundary before checking whether the given point intersects
1273         its children. This patch moves the related code down to fix the bug.
1274
1275         Test: fast/borders/border-radius-child.html
1276
1277         * rendering/RenderBlock.cpp:
1278         (WebCore::RenderBlock::nodeAtPoint):
1279
1280 2013-04-04  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1281
1282         [GStreamer] Virtual modifier for MediaPlayer::simulateAudioInterruption must go
1283         https://bugs.webkit.org/show_bug.cgi?id=113851
1284
1285         Reviewed by Eric Carlson.
1286
1287         * platform/graphics/MediaPlayer.h:
1288         (MediaPlayer): Removed virtual modifier to
1289         simulateAudioInterruption.
1290
1291 2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1292
1293         [Qt] Support -webkit-font-smoothing
1294         https://bugs.webkit.org/show_bug.cgi?id=106009
1295
1296         Reviewed by Jocelyn Turcotte.
1297
1298         Remove false dependency on Qt 5.1 for the -webkit-font-smoothing property.
1299         For now we are still keeping the dependency on Font::shouldUseSmoothing().
1300
1301         * platform/graphics/qt/FontPlatformDataQt.cpp:
1302         (WebCore::FontPlatformData::FontPlatformData):
1303
1304 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1305
1306         Regression(r142765) Broke Custom SVG cursors and SVG canvas drawing for Chromium
1307         https://bugs.webkit.org/show_bug.cgi?id=113420
1308
1309         Reviewed by Stephen White.
1310
1311         Introduce a PassNativeImagePtr typedef that is used in place of NativeImagePtr
1312         for method arguments and return values. This is needed as Skia now maps
1313         NativeImagePtr to RefPtr<NativeImageSkia> and PassNativeImagePtr to
1314         PassRefPtr<NativeImageSkia>. We move towards ref counted smart pointers so that
1315         SVGImage::nativeImageForCurrentFrame() can transfer ownership of the native
1316         image to the caller if needed (e.g. for SVGImage).
1317
1318         Provide nativeImageForCurrentFrame() implementation for SVGImage. SVGImage no
1319         longer holds the native image internally, to save memory. It is therefore created
1320         when nativeImageForCurrentFrame() is called and ownership is passed to the
1321         caller. For now, this implementation is only enabled for Skia as others are using
1322         raw pointers for PassNativeImagePtr.
1323
1324         Test: svg/canvas/canvas-pattern-svg.html
1325
1326         * loader/icon/IconDatabase.cpp:
1327         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
1328         Return a PassNativeImagePtr instead of NativeImagePtr.
1329
1330         * loader/icon/IconDatabase.h:
1331         (IconDatabase):
1332         * loader/icon/IconDatabaseBase.h:
1333         (WebCore::IconDatabaseBase::synchronousNativeIconForPageURL):
1334         Return a PassNativeImagePtr instead of NativeImagePtr.
1335
1336         * platform/chromium/DragImageChromiumSkia.cpp:
1337         (WebCore::createDragImageFromImage):
1338         Store return value of nativeImageForCurrentFrame() in a RefPtr instead of a raw
1339         one.
1340
1341         * platform/chromium/PasteboardChromium.cpp:
1342         (WebCore::Pasteboard::writeImage):
1343         Store return value of nativeImageForCurrentFrame() in a RefPtr<NativeImageSkia>
1344         instead of a NativeImagePtr. While these are equivalent, the former is more
1345         readable in Skia-specific code.
1346
1347         * platform/graphics/BitmapImage.cpp:
1348         (WebCore::BitmapImage::frameAtIndex):
1349         Return a PassNativeImagePtr instead of a NativeImagePtr.
1350
1351         (WebCore::BitmapImage::nativeImageForCurrentFrame):
1352         Return a PassNativeImagePtr instead of a NativeImagePtr.
1353
1354         * platform/graphics/BitmapImage.h:
1355         (WebCore::BitmapImage::create):
1356         Take a PassNativeImagePtr in argument instead of a NativeImagePtr.
1357
1358         (BitmapImage): Ditto.
1359
1360         * platform/graphics/GraphicsContext.h:
1361         (GraphicsContext): Ditto.
1362
1363         * platform/graphics/GraphicsContext3D.h:
1364         (ImageExtractor):
1365         Keep NativeImageSkia in a RefPtr instead of OwnPtr, now that it is refcounted.
1366
1367         * platform/graphics/Image.h:
1368         (WebCore::Image::nativeImageForCurrentFrame):
1369         Return a PassNativeImagePtr instead of a NativeImagePtr.
1370
1371         * platform/graphics/ImageBuffer.h:
1372         (ImageBuffer):
1373         Have copyNativeImage() return a PassNativeImagePtr instead of a NativeImagePtr.
1374
1375         * platform/graphics/ImageSource.cpp:
1376         (WebCore::ImageSource::createFrameAtIndex):
1377         Return a PassNativeImagePtr instead of a NativeImagePtr.
1378
1379         * platform/graphics/ImageSource.h:
1380         Have createFrameAtIndex() return a PassNativeImagePtr instead of a NativeImagePtr.
1381
1382         * platform/graphics/NativeImagePtr.h:
1383         Map NativeImagePtr to a RefPtr<NativeImageSkia> instead of NativeImageSkia* for Skia.
1384         Introduce new PassNativeImagePtr that maps to PassRefPtr<NativeImageSkia> for Skia
1385         and is equivalent to NativeImagePtr for other ports. We now use smart pointers for
1386         the native image so that SVGImage::nativeImageForCurrentFrame() can pass ownership
1387         of the native image to the caller, unlike BitmapImage::nativeImageForCurrentFrame().
1388
1389         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1390         (WebCore::ImageFrame::asNewNativeImage):
1391         Return a PassNativeImagePtr instead of a NativeImagePtr.
1392
1393         (WebCore::BitmapImage::BitmapImage):
1394         Take a PassNativeImagePtr instead of a NativeImagePtr in argument.
1395
1396         * platform/graphics/cg/GraphicsContextCG.cpp:
1397         (WebCore::GraphicsContext::drawNativeImage): Ditto.
1398
1399         * platform/graphics/cg/ImageBufferCG.cpp:
1400         (WebCore::ImageBuffer::copyNativeImage):
1401         Take a PassNativeImagePtr instead of a NativeImagePtr in argument.
1402
1403         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1404         (WebCore::GraphicsLayerChromium::setContentsToImage):
1405         Store return value of nativeImageForCurrentFrame() in a RefPtr instead of a raw one.
1406
1407         * platform/graphics/filters/skia/FEBlendSkia.cpp:
1408         (WebCore::FEBlend::platformApplySkia): Ditto.
1409
1410         * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
1411         (WebCore::FEColorMatrix::platformApplySkia): Ditto.
1412
1413         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
1414         (WebCore::FEComponentTransfer::platformApplySkia): Ditto.
1415
1416         * platform/graphics/filters/skia/FEDisplacementMapSkia.cpp:
1417         (WebCore::FEDisplacementMap::platformApplySkia): Ditto.
1418
1419         * platform/graphics/filters/skia/FELightingSkia.cpp:
1420         (WebCore::FELighting::platformApplySkia): Ditto.
1421
1422         * platform/graphics/qt/ImageDecoderQt.cpp:
1423         (WebCore::ImageFrame::asNewNativeImage):
1424         Return a PassNativeImagePtr instead of a NativeImagePtr.
1425
1426         * platform/graphics/qt/StillImageQt.cpp:
1427         (WebCore::StillImage::nativeImageForCurrentFrame):
1428         Return a PassNativeImagePtr instead of a NativeImagePtr.
1429
1430         * platform/graphics/qt/StillImageQt.h:
1431         (StillImage): Ditto.
1432
1433         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1434         (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
1435         No longer need to adopt the return value of asNewNativeImage() now
1436         that it returns a PassRefPtr instead of a raw one.
1437
1438         * platform/graphics/skia/ImageBufferSkia.cpp:
1439         (WebCore::ImageBuffer::copyImage):
1440         (WebCore::ImageBuffer::draw):
1441         (WebCore::ImageBuffer::drawPattern):
1442         Call NativeImageSkia::create() factory method now that the constructor
1443         is private.
1444
1445         * platform/graphics/skia/ImageSkia.cpp:
1446         (WebCore::FrameData::clear):
1447         Just call clear() on m_frame instead of explicitely deleting it now
1448         that it is a RefPtr.
1449
1450         (WebCore::Image::drawPattern):
1451         Store return value of nativeImageForCurrentFrame() in a RefPtr instead
1452         of a raw one.
1453
1454         (WebCore::BitmapImage::BitmapImage):
1455         (WebCore::BitmapImage::checkForSolidColor):
1456         Store return value of frameAtIndex() in a RefPtr instead of a raw one.
1457
1458         (WebCore::BitmapImage::draw):
1459         Store return value of nativeImageForCurrentFrame() in a RefPtr instead
1460         of a raw one.
1461
1462         * platform/graphics/skia/NativeImageSkia.cpp:
1463         Add new constructor taking all members in argument. This is used for
1464         cloning a NativeImageSkia object.
1465
1466         (WebCore::NativeImageSkia::NativeImageSkia):
1467         (WebCore::NativeImageSkia::deepSkBitmapCopy):
1468         Add convenience function to make a deep copy of a SkBitmap.
1469
1470         * platform/graphics/skia/NativeImageSkia.h:
1471         (WebCore):
1472         (WebCore::NativeImageSkia::create):
1473         (NativeImageSkia):
1474         Make NativeImageSkia subclass RefCounted. Make the constructor private
1475         and add a factory method instead that returns a PassRefPtr.
1476
1477         (WebCore::NativeImageSkia::clone):
1478         Add a clone() method now that NativeImageSkia is refcounted and is no
1479         longer copyable.
1480
1481         * platform/graphics/skia/PatternSkia.cpp:
1482         (WebCore::Pattern::platformPattern):
1483         Store return value of nativeImageForCurrentFrame() in a RefPtr instead
1484         of a raw one.
1485
1486         * platform/graphics/wince/ImageWinCE.cpp:
1487         (WebCore::ImageFrame::asNewNativeImage):
1488         Return a PassNativeImagePtr instead of a NativeImagePtr.
1489
1490         * platform/image-decoders/ImageDecoder.h:
1491         (ImageFrame):
1492         Have asNewNativeImage() return a PassNativeImagePtr instead of a
1493         NativeImagePtr.
1494
1495         (WebCore::ImageFrame::getAddr):
1496         (WebCore::ImageFrame::setSkBitmap):
1497         (WebCore::ImageFrame::getSkBitmap):
1498         (WebCore::ImageFrame::width):
1499         (WebCore::ImageFrame::height):
1500         Update use of m_bitmap now that it is a pointer type and call
1501         NativeImageSkia::create() to construct a NativeImageSkia object now
1502         that the constructor is private.
1503
1504         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1505         (WebCore::ImageFrame::asNewNativeImage):
1506         Return a PassNativeImagePtr instead of a NativeImagePtr.
1507
1508         * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
1509         (WebCore::ImageFrame::asNewNativeImage): Ditto.
1510
1511         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1512         (WebCore::ImageFrame::ImageFrame):
1513         Initialize m_bitmap in the constructor now that it is a pointer
1514         type and we need NativeImageSkia's default constructor to be
1515         called.
1516
1517         (WebCore::ImageFrame::operator=):
1518         Call NativeImageSkia's new clone() method to copy m_bitmap as
1519         NativeImageSkia is now RefCounted and no longer copyable.
1520
1521         (WebCore::ImageFrame::clearPixelData):
1522         (WebCore::ImageFrame::zeroFillPixelData):
1523         (WebCore::ImageFrame::copyBitmapData):
1524         (WebCore::ImageFrame::setSize):
1525         Update use of m_bitmap now that it is a pointer type.
1526
1527         (WebCore::ImageFrame::asNewNativeImage):
1528         Return a PassNativeImagePtr instead of a NativeImagePtr.
1529         Call NativeImageSkia's clone method now that it is no longer
1530         copyable.
1531
1532         (WebCore::ImageFrame::setHasAlpha):
1533         (WebCore::ImageFrame::setStatus):
1534         Update use of m_bitmap now that it is a pointer type.
1535
1536         * platform/image-decoders/wx/ImageDecoderWx.cpp:
1537         (WebCore::ImageFrame::asNewNativeImage):
1538         Return a PassNativeImagePtr instead of a NativeImagePtr.
1539
1540         * svg/graphics/SVGImage.cpp:
1541         (WebCore):
1542         (WebCore::SVGImage::nativeImageForCurrentFrame):
1543         Add implementation of nativeImageForCurrentFrame() for SVGImage as
1544         it is needed for SVG custom cursor support and Canvas drawing of
1545         patterns containing SVG images. As SVGImage no longer keep the
1546         native image internally to save memory, the implementation creates
1547         the native image when nativeImageForCurrentFrame() and passes
1548         its ownership to the caller.
1549
1550         * svg/graphics/SVGImage.h:
1551         Override Image::nativeImageForCurrentFrame() and remove dummy
1552         implementation of frameAtIndex() as it is not needed / used.
1553
1554         * svg/graphics/SVGImageForContainer.cpp:
1555         (WebCore::SVGImageForContainer::nativeImageForCurrentFrame):
1556         Add implementation of nativeImageForCurrentFrame() which merely
1557         forwards the call to the Image being contained.
1558
1559         * svg/graphics/SVGImageForContainer.h:
1560         Override Image::nativeImageForCurrentFrame().
1561
1562 2013-04-04  Andrei Bucur  <abucur@adobe.com>
1563
1564         [CSSRegions] RenderFlowThread::renderRegionForLine should use a faster search method
1565         https://bugs.webkit.org/show_bug.cgi?id=66921
1566
1567         Reviewed by David Hyatt.
1568
1569         The RenderFlowThread::regionAtBlockOffset() function is a hot path for the code using
1570         flow threads because it translates from block coordinates to regions.
1571         Currently the method is O(n), using a linear search through the regions chain to find the
1572         region where a block offset lands.
1573         The patch improves this search by using an interval tree (PODIntervalTree). Before a flow
1574         thread is laid out, each region is updated to hold the size of the portion of the flow it
1575         will receive. This information is gathered inside the interval tree and used to speedup the
1576         search in RenderFlowThread::regionAtBlockOffset(). The algorithm uses a custom adapter
1577         simplified for looking up offsets inside the interval tree.
1578         For now, the interval tree is cleared every time the flow thread portions list is updated.
1579         The implementation can be improved but induces some cmplexity as we'd have to manually manage
1580         the life cycle of the tree's nodes. The performance gains are good enough as is to make this
1581         only optional.
1582         Another important change is now the flow thread portion rectangles will not overflow when
1583         using auto-height regions (or very large regions). The maximum size of the flow is set to
1584         LayoutUnit::max()/2. Any region forcing a greater size will be capped so the thread
1585         won't overflow.
1586
1587         Performance test results:
1588         /Layout/RegionsAuto:Time            ms 699.95   181.20  74.11% Better
1589         /Layout/RegionsAutoMaxHeight:Time   ms 2083.00  308.55  85.19% Better
1590         /Layout/RegionsFixed:Time           ms 726.10   223.65  69.20% Better
1591         /Layout/RegionsFixedShort:Time      ms 869.60   288.25  66.85% Better
1592
1593         Tests: See PerformanceTests/Layout/Regions*
1594
1595         * rendering/RenderFlowThread.cpp:
1596         (WebCore::RenderFlowThread::regionAtBlockOffset):
1597         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
1598         (WebCore::RenderFlowThread::RegionSearchAdapter::collectIfNeeded):
1599         (WebCore):
1600         * rendering/RenderFlowThread.h:
1601         (WebCore):
1602
1603 2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>
1604
1605         [Qt] WebSocket errors should be logged to console
1606         https://bugs.webkit.org/show_bug.cgi?id=113842
1607
1608         Reviewed by Jocelyn Turcotte.
1609
1610         Pass the reason of a failure to SocketStreamError instance
1611         and notify it via SocketStreamHandleClient::didFailSocketStream().
1612
1613         Test : http/tests/inspector/console-websocket-error.html
1614
1615         * platform/network/qt/SocketStreamError.h:
1616         (WebCore::SocketStreamError::SocketStreamError):
1617         * platform/network/qt/SocketStreamHandleQt.cpp:
1618         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
1619         (WebCore::SocketStreamHandlePrivate::socketErrorCallback):
1620
1621 2013-04-04  Ed Bartosh  <bartosh@gmail.com>
1622
1623         [ATK] build fails when accessibility is turned off
1624         https://bugs.webkit.org/show_bug.cgi?id=113699
1625
1626         Reviewed by Gyuyoung Kim.
1627
1628         * editing/atk/FrameSelectionAtk.cpp: Wrapped accessibility code in #if HAVE(ACCESSIBILITY)
1629
1630 2013-04-04  Seokju Kwon  <seokju.kwon@gmail.com>
1631
1632         Web Inspector: fix closure compiler warnings in the profiler code HeapSnapshotDataGrids.js
1633         https://bugs.webkit.org/show_bug.cgi?id=113922
1634
1635         Reviewed by Yury Semikhatsky.
1636
1637         No new tests: no change in behaviour.
1638
1639         * inspector/front-end/HeapSnapshotDataGrids.js:
1640
1641 2013-04-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1642
1643         [EFL] Add a decoration image to search input field
1644         https://bugs.webkit.org/show_bug.cgi?id=113552
1645
1646         Reviewed by Laszlo Gombos.
1647
1648         Though EFL port has a decoration image for search input field, we didn't use it.
1649         Start to show it.
1650
1651         Tests: fast/forms/search-cancel-button-style-sharing.html
1652                fast/forms/search-rtl.html
1653                fast/css/input-search-padding.html
1654                fast/css/text-input-with-webkit-border-radius.html
1655                fast/css/text-overflow-input.html
1656                fast/forms/box-shadow-override.html
1657                fast/forms/control-restrict-line-height.html
1658                fast/forms/input-appearance-height.html
1659                fast/forms/placeholder-position.html
1660                fast/forms/placeholder-pseudo-style.html
1661                fast/forms/search-styled.html
1662                fast/forms/search-vertical-alignment.html
1663                fast/forms/searchfield-heights.html
1664                fast/repaint/search-field-cancel.html 
1665                fast/replaced/width100percent-searchfield.html
1666
1667         * platform/efl/RenderThemeEfl.cpp:
1668         (WebCore):
1669         (WebCore::RenderThemeEfl::supportsDataListUI):
1670         (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
1671
1672 2013-04-03  Kent Tamura  <tkent@chromium.org>
1673
1674         Input value/placeholder is not redrawn when the input height grows
1675         https://bugs.webkit.org/show_bug.cgi?id=113845
1676
1677         Reviewed by Ojan Vafai.
1678
1679         Test: fast/forms/text/text-height-grow.html
1680
1681         * rendering/RenderTextControlSingleLine.cpp:
1682         (WebCore::RenderTextControlSingleLine::styleDidChange):
1683         We need relayout of the inner text element.
1684
1685 2013-04-03  Shawn Singh  <shawnsingh@chromium.org>
1686
1687         Add comment to clarify isStackingContext() in RenderLayer.h
1688         https://bugs.webkit.org/show_bug.cgi?id=113909
1689
1690         Reviewed by Simon Fraser.
1691
1692         It was not obvious how the implementation of isStackingContext()
1693         was correct, a comment is appropriate here for anyone who reads
1694         this code in the future.
1695
1696         Just a change in comment, no test needed.
1697
1698         * rendering/RenderLayer.h:
1699
1700 2013-04-03  Hans Muller  <hmuller@adobe.com>
1701
1702         [CSS Exclusions] Removed ExclusionShape dead code
1703         https://bugs.webkit.org/show_bug.cgi?id=113904
1704
1705         Reviewed by Dirk Schulze.
1706
1707         No new tests, just removing dead code.
1708
1709         * rendering/ExclusionShape.cpp:
1710         (WebCore::ExclusionShape::createExclusionShape):
1711         * rendering/ExclusionShape.h:
1712         (ExclusionShape):
1713
1714 2013-04-03  Otto Derek Cheung  <otcheung@rim.com>
1715
1716         [BlackBerry] Switch MediaPlayerPrivateBlackBerry.cpp's timer to use CLOCK_MONOTONIC
1717         https://bugs.webkit.org/show_bug.cgi?id=113900
1718
1719         Reviewed by Rob Buis.
1720         Internally Reviewed by Jeff Rogers.
1721
1722         Timers should use CLOCK_MONOTONIC to avoid undesirable effects when
1723         the user switches the system time.
1724
1725         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1726         (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
1727
1728 2013-04-03  Dave Michael  <dmichael@chromium.org>
1729
1730         Unable to focus on embedded plugins such as Flash via javascript focus()
1731         https://bugs.webkit.org/show_bug.cgi?id=32292
1732
1733         Reviewed by Ryosuke Niwa.
1734
1735         Make embed, object, and applet elements support focus() when
1736         appropriate. Prior to this patch, javascript focus() had no effect on
1737         embed, object, or applet elements unless tabindex or contenteditable is
1738         set. With this patch, focus() will focus the element unless the plugin
1739         content has failed to load (i.e., we are showing either fallback content
1740         or an unavailable plugin indicator).
1741
1742         Test: plugins/focus.html
1743               java/focus.html
1744
1745         * html/HTMLPlugInElement.cpp:
1746         (WebCore::HTMLPlugInElement::supportsFocus):
1747         Overridden to return true except when the plugin content has failed to load.
1748         * html/HTMLPlugInElement.h:
1749         (WebCore::HTMLPlugInElement::useFallbackContent):
1750         Moved up from HTMLPlugInImageElement.
1751         (WebCore::HTMLPlugInElement::supportsFocus):
1752         * html/HTMLPlugInElement.h:
1753         (WebCore::HTMLPlugInImageElement::useFallbackContent):
1754         Removed. Now the implementation is inherited from HTMLPlugInElement.
1755
1756 2013-04-03  Glenn Adams  <glenn@skynav.com>
1757
1758         Element boundaries prevent Japanese line break opportunities
1759         https://bugs.webkit.org/show_bug.cgi?id=105692
1760
1761         Reviewed by Darin Adler.
1762
1763         Introduce use of prior context when using text break iterators
1764         in non-ASCII path through nextBreakablePosition(). This enables
1765         the use of line break context across an element boundary for
1766         the non-ASCII path. Use of this context with the ASCII path was
1767         enabled by https://bugs.webkit.org/show_bug.cgi?id=17427.
1768
1769         Performance tests of line layout and html5 parsing show that this
1770         patch provides an approximately 4% improvement with Japanese and
1771         no statistically significant regression with ASCII path. Parsing
1772         (html5-full-render) performance is not significantly affected.
1773
1774         Tests: fast/text/line-break-between-text-nodes-cjk.html
1775                fast/text/line-break-between-text-nodes-latin1.html
1776
1777         Expect rebaselines will be needed due to different line breaks:
1778                fast/text/international/003.html
1779                fast/text/international/text-combine-image-test-expected.html
1780                fast/text/writing-mode/Kusa-Makura-background-canvas.html
1781
1782         * platform/text/TextBreakIterator.cpp:
1783         (WebCore::acquireLineBreakIterator): Pass prior context to non-ICU path.
1784         * platform/text/TextBreakIterator.h:
1785         (WebCore::LazyLineBreakIterator::priorContextLength): Added.
1786         (WebCore::LazyLineBreakIterator::get): Pass prior context to ICU path.
1787         (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Editorial.
1788         * platform/text/TextBreakIteratorICU.cpp:
1789         Use prior context from line break iterators. Requires
1790         adding new UTF16 (UChar*) text provider and reimplementing
1791         Latin1 (LChar*) text provider. Implementation is optimized
1792         by using generic functionality that applies to both string
1793         sources.
1794         (WebCore::textPinIndex): Added.
1795         (WebCore::textNativeLength): Added.
1796         (WebCore::textFixPointer): Added.
1797         (WebCore::textClone): Added.
1798         (WebCore::textExtract): Added.
1799         (WebCore::textClose): Added.
1800         (WebCore::textGetContext): Added.
1801         (WebCore::textLatin1GetCurrentContext): Added.
1802         (WebCore::textLatin1MoveInPrimaryContext): Added.
1803         (WebCore::textLatin1SwitchToPrimaryContext): Added.
1804         (WebCore::textLatin1MoveInPriorContext): Added.
1805         (WebCore::textLatin1SwitchToPriorContext): Added.
1806         (WebCore::textInChunkOrOutOfRange): Added.
1807         (WebCore::textLatin1Access): Added.
1808         (WebCore::textInit): Added.
1809         (WebCore::textOpenLatin1): Added.
1810         (WebCore::textUTF16GetCurrentContext): Added.
1811         (WebCore::textUTF16MoveInPrimaryContext): Added.
1812         (WebCore::textUTF16SwitchToPrimaryContext): Added.
1813         (WebCore::textUTF16MoveInPriorContext): Added.
1814         (WebCore::textUTF16SwitchToPriorContext): Added.
1815         (WebCore::textUTF16Access): Added.
1816         (WebCore::textOpenUTF16): Added.
1817         (WebCore::acquireLineBreakIterator): Use new text providers with prior context.
1818         * platform/text/wchar/TextBreakIteratorWchar.cpp:
1819         (WebCore::acquireLineBreakIterator): Pass prior context to non-ICU path.
1820         * rendering/break_lines.cpp:
1821         (WebCore::nextBreakablePosition): Use prior context in ICU path.
1822
1823 2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1824
1825         [Chromium] Bad cast from BitmapImageSingleFrameSkia to BitmapImage
1826         https://bugs.webkit.org/show_bug.cgi?id=113492
1827
1828         Reviewed by Stephen White.
1829
1830         Remove BitmapImageSingleFrameSkia and have ImageBufferSkia construct
1831         BitmapImage objects instead via an intermediate NativeImageSkia.
1832
1833         No new tests, covered by existing tests.
1834
1835         * WebCore.gypi:
1836         * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Remove
1837         include for BitmapImageSingleFrameSkia.h header.
1838         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Removed.
1839         * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Removed.
1840         * platform/graphics/skia/ImageBufferSkia.cpp: Construct BitmapImage
1841         objects instead of BitmapImageSingleFrameSkia ones.
1842         (WebCore::ImageBuffer::copyImage):
1843         (WebCore::drawNeedsCopy):
1844         (WebCore::ImageBuffer::draw):
1845         (WebCore::ImageBuffer::drawPattern):
1846         * platform/graphics/skia/ImageSkia.cpp:
1847         (WebCore::BitmapImage::BitmapImage): Implement BitmapImage constructor
1848         that takes an NativeImageSkia* in argument.
1849         (WebCore):
1850         (WebCore::BitmapImage::draw): Remove m_source.initialized() check as
1851         this will return false for BitmapImage objects constructed from a
1852         NativeImageSkia, due to the lack of decoder.
1853         * platform/graphics/skia/NativeImageSkia.cpp:
1854         (WebCore::NativeImageSkia::NativeImageSkia): Add parameter to the
1855         NativeImageSkia constructor so that the caller can request a deep copy
1856         instead of a shallow one. This is needed by the ImageBuffer.
1857         * platform/graphics/skia/NativeImageSkia.h:
1858         * platform/image-decoders/ImageDecoder.h:
1859         (WebCore::ImageFrame::setSkBitmap):
1860
1861 2013-04-03  David Vest  <davve@opera.com>
1862
1863         ASSERTION FAILED: resultAnimationElement->m_animatedType
1864         https://bugs.webkit.org/show_bug.cgi?id=93528
1865
1866         Reviewed by Philip Rogers.
1867
1868         When the order of animation elements change within an animation
1869         group, we can't assume that the resultElement is the same as it
1870         was when the animation was frozen. Make sure to reset the
1871         animation type for the resultElement before updating the
1872         animation.
1873
1874         Test: svg/animations/animation-dependency-crash.html
1875
1876         * svg/animation/SVGSMILElement.cpp:
1877         (WebCore::SVGSMILElement::progress):
1878
1879 2013-04-03  Timothy Hatcher  <timothy@apple.com>
1880
1881         Stop unconditionally enabling JavaScript execution when closing the Web Inspector.
1882
1883         https://webkit.org/b/113889
1884         rdar://problem/12281794
1885
1886         Reviewed by Joseph Pecoraro.
1887
1888         * inspector/InspectorPageAgent.cpp:
1889         (WebCore::InspectorPageAgent::InspectorPageAgent): Initialize m_originalScriptExecutionDisabled.
1890         (WebCore::InspectorPageAgent::enable): Populate m_originalScriptExecutionDisabled based on current setting.
1891         (WebCore::InspectorPageAgent::disable): Restore previous setting.
1892         * inspector/InspectorPageAgent.h:
1893         (InspectorPageAgent): Added m_originalScriptExecutionDisabled.
1894
1895 2013-04-03  Dean Jackson  <dino@apple.com>
1896
1897         Cross fade into restarted plugin
1898         https://bugs.webkit.org/show_bug.cgi?id=113868
1899
1900         Reviewed by Tim Horton.
1901
1902         Allow a restarted plugin to fade in over its snapshot, avoiding the abrupt
1903         flash of empty content. The WebCore part of this patch marks the plugin
1904         element as restarted, and draws the snapshot for a short amount of time
1905         as the plugin is restarting. After the plugin has reappeared, we stop drawing
1906         the snapshot.
1907
1908         There is a little bit of drive-by whitespace removal in HTMLPlugInImageElement.
1909
1910         * html/HTMLPlugInElement.h:
1911         (WebCore::HTMLPlugInElement::restartedPlugin): New method indicating if the plugin has been restarted.
1912         * html/HTMLPlugInImageElement.cpp:
1913         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise new timer and member variable.
1914         (WebCore::HTMLPlugInImageElement::setDisplayState): If we are moving into a restarting state, make sure
1915             to remember this and also start a timer so that we show the snapshot for while.
1916         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): No need to draw the snapshot from here on.
1917         * html/HTMLPlugInImageElement.h:
1918         (HTMLPlugInImageElement): Member variable to remember if we've restarted.
1919         * rendering/RenderEmbeddedObject.cpp:
1920         (WebCore::RenderEmbeddedObject::paintContents): Only exit early from the paint if we're not a restarting
1921             plugin, otherwise we do want to draw the snapshot if there is one.
1922         * rendering/RenderLayerBacking.cpp:
1923         (WebCore::isRestartedPlugin): Detects a restarted plugin.
1924         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Don't become a simple container
1925             compositing layer if you're a restarted plugin.
1926
1927 2013-04-03  John Griggs  <jgriggs@blackberry.com>
1928
1929         [BlackBerry] Adjustments to media controls appearance.
1930         https://bugs.webkit.org/show_bug.cgi?id=113816
1931         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=316398
1932         https://przilla.ott.qnx.com/bugzilla/show_bug.cgi?id=316438
1933
1934         Updates to the BlackBerry media controls:
1935          - extend the timeline slider.
1936          - move the volume slider for audio elements up so it does not overlap the main panel.
1937          - upstream some other cosmetic changes to media controls that were not previously upstreamed.
1938
1939         Reviewed by Rob Buis.
1940
1941         BlackBerry-specific, cosmetic change; No new tests required.
1942
1943         * platform/blackberry/RenderThemeBlackBerry.cpp:
1944         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1945         (WebCore::RenderThemeBlackBerry::paintMediaPlayButton):
1946         (WebCore::RenderThemeBlackBerry::paintMediaMuteButton):
1947         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1948         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
1949         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
1950
1951 2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1952
1953         [Gstreamer] Use gst_buffer_extract() in copyGstreamerBuffersToAudioChannel()
1954         https://bugs.webkit.org/show_bug.cgi?id=113880
1955
1956         Reviewed by Philippe Normand.
1957
1958         copyGstreamerBuffersToAudioChannel() was mapping the GstBuffer content to memcpy
1959         it to the AudioChannel buffer. This patch leverages gst_buffer_extract() to
1960         simplify the code as it does exactly what we need: gst_buffer_map, memcpy,
1961         gst_buffer_unmap and error handling.
1962
1963         Also replace GstBuffer NULL check by an assertion as we already make sure they
1964         are not NULL before adding them to the list. Additionally, we now call
1965         audioChannel->mutableData() only once instead of once per iteration. It is
1966         a bit better as the getter does some work internally.
1967
1968         No new tests, no behavior change.
1969
1970         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1971         (WebCore::copyGstreamerBuffersToAudioChannel):
1972
1973 2013-04-03  Antoine Quint  <graouts@apple.com>
1974
1975         Web Inspector: DOM.highlightRect() and DOM.highlightQuad() should allow for page coordinates
1976         https://bugs.webkit.org/show_bug.cgi?id=113869
1977
1978         Add a new "usePageCoordinates" parameter to DOM.highlightRect() and DOM.highlightQuad()
1979         allowing to specify that the rect or quad to highlight should be converted to page
1980         coordinates instead of using the default viewport coordinates.
1981
1982         Reviewed by Timothy Hatcher.
1983
1984         * inspector/Inspector.json:
1985         * inspector/InspectorDOMAgent.cpp:
1986         (WebCore::InspectorDOMAgent::highlightRect):
1987         (WebCore::InspectorDOMAgent::highlightQuad):
1988         (WebCore::InspectorDOMAgent::innerHighlightQuad):
1989         Store the "usePageCoordinates" parameter obtained from the protocol calls onto the
1990         highlight configuration object so that it may be used within the InspectorOverlay.
1991
1992         * inspector/InspectorDOMAgent.h:
1993         (InspectorDOMAgent):
1994         * inspector/InspectorOverlay.cpp:
1995         (WebCore::InspectorOverlay::highlightQuad):
1996         Check the highlight configuration for the "usePageCoordinates" parameter and
1997         apply the inverse of the page's scroll offset to the quad if it's true.
1998
1999         * inspector/InspectorOverlay.h:
2000         (HighlightConfig):
2001         (WebCore::Highlight::setDataFromConfig):
2002         (Highlight):
2003
2004 2013-04-03  Kangil Han  <kangil.han@samsung.com>
2005
2006         Add omitted reference operator of VisiblePosition in AccessibilityObject
2007         https://bugs.webkit.org/show_bug.cgi?id=113879
2008
2009         Reviewed by Darin Adler.
2010
2011         Seems reference operator has been omitted in startOfStyleRange function, so add it.
2012
2013         * accessibility/AccessibilityObject.cpp:
2014         (WebCore::startOfStyleRange):
2015
2016 2013-04-03  Jessie Berlin  <jberlin@apple.com>
2017
2018         Update the localizable strings file.
2019
2020         Rubber-stamped by Michael Saboff.
2021
2022         * English.lproj/Localizable.strings:
2023
2024 2013-04-03  David Kilzer  <ddkilzer@apple.com>
2025
2026         BUILD FIX (r147493): Fix number of arguments to AudioDestinationIOS constructor
2027
2028         Fixes the following build failures:
2029
2030             Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:84:25: error: no matching constructor for initialization of 'WebCore::AudioDestinationIOS'
2031                 return adoptPtr(new AudioDestinationIOS(callback, sampleRate));
2032                                     ^                   ~~~~~~~~~~~~~~~~~~~~
2033             In file included from Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:36:
2034             Source/WebCore/platform/audio/ios/AudioDestinationIOS.h:44:5: note: candidate constructor not viable: requires 3 arguments, but 2 were provided
2035                 AudioDestinationIOS(AudioIOCallback&, unsigned numberOfOutputChannels, double sampleRate);
2036                 ^
2037             Source/WebCore/platform/audio/ios/AudioDestinationIOS.h:42:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 2 were provided
2038             class AudioDestinationIOS : public AudioDestination, public AudioSessionListener {
2039                   ^
2040             Source/WebCore/platform/audio/ios/AudioDestinationIOS.cpp:101:22: error: out-of-line definition of 'AudioDestinationIOS' does not match any declaration in 'WebCore::AudioDestinationIOS'
2041             AudioDestinationIOS::AudioDestinationIOS(AudioIOCallback& callback, double sampleRate)
2042                                  ^~~~~~~~~~~~~~~~~~~
2043             2 errors generated.
2044
2045         * platform/audio/ios/AudioDestinationIOS.h:
2046         (AudioDestinationIOS): Remove numberOfOutputChannels argument.
2047
2048 2013-04-03  David Kilzer  <ddkilzer@apple.com>
2049
2050         BUILD FIX (r147494): -[AVAudioSession setCategory:error:] takes NSError**
2051
2052         Fixes the following build failure:
2053
2054             Source/WebCore/platform/audio/ios/AudioSessionIOS.mm:151:71: error: cannot initialize a parameter of type 'NSError **' with an lvalue of type 'NSError *'
2055                 [[AVAudioSession sharedInstance] setCategory:categoryString error:error];
2056                                                                                   ^~~~~
2057
2058         * platform/audio/ios/AudioSessionIOS.mm:
2059         (WebCore::AudioSession::setCategory): Add '&' operator.
2060
2061 2013-04-03  Felipe Zimmerle  <felipe@zimmerle.org>
2062
2063         CSP blocks inline style when cloning a node
2064         https://bugs.webkit.org/show_bug.cgi?id=112270
2065
2066         Reviewed by Adam Barth.
2067
2068         Checks if the Element is being cloned, if so, the application of the
2069         style is allowed otherwise it relies on default permission mechanism.
2070
2071         Test: http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html
2072
2073         * dom/Element.cpp:
2074         (WebCore::Element::attributeChanged): Added parameter
2075         AttributeModificationReason to the method signature.
2076         (WebCore::Element::cloneAttributesFromElement): It is now calling 
2077         attributeChanged with AttributeModificationReason parameter. In this scope
2078         it is always set to ModifiedByCloning.
2079         (WebCode::Element::attributeChangedFromParserOrByCloning):
2080         Added parameter AttributeModificationReason.
2081         * dom/Element.h: Added AttributeModificationReason enum. Used to specify
2082         whenever an attribute was set by a cloned oject or directly.
2083         AttributeModificationReason added to attributeChanged with the default
2084         value set to ModifiedDirectly. 
2085         * dom/StyledElement.cpp: 
2086         (WebCore::StyledElement::attributeChanged): Added
2087         AttributeModificationReason to the method signature.
2088         (WebCore::StyledElement::styleAttributeChanged): Now it is checking the
2089         reason of the update, if the reason is ModifiedDirectly check CSP
2090         before set. If ModifiedByCloning set the attribute ignoring the CSP
2091         policy.
2092         * dom/StyledElement.h:
2093         (StyledElement): Added AttributeModificationReason parameter to the methods:
2094         attributeChanged and styleAttributeChanged, attributeChanged has
2095         ModifiedDirectly as default value.
2096         * svg/SVGElement.cpp: 
2097         (WebCore::SVGElement::attributeChanged): Added AttributeModificationReason
2098         parameter to the method signature.
2099         * svg/SVGElement.h: 
2100         (SVGElement): Added AttributeModificationReason parameter to the
2101         attributeChanged signature with the default value set to:
2102         ModifiedDirectly.
2103
2104 2013-04-03  Csaba Osztrogonác  <ossy@webkit.org>
2105
2106         Unreviewed 32bit buildfix after r147542.
2107
2108         * Modules/websockets/WebSocket.cpp:
2109         (WebCore::WebSocket::didReceiveBinaryData):
2110
2111 2013-04-03  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2112
2113         [Gstreamer] Avoid calls to g_slist_nth_data in webKitWebAudioSrcLoop()
2114         https://bugs.webkit.org/show_bug.cgi?id=113875
2115
2116         Reviewed by Philippe Normand.
2117
2118         webKitWebAudioSrcLoop() was iterating over 2 GSLists by using a counter and then
2119         calling g_slist_nth_data() to get the element of each GSList. This is inefficient
2120         because calling g_slist_nth_data() will iterate the GSList up until index 'n'.
2121
2122         This patch improves this by keeping pointers to the current element of each list
2123         while iterating, so that we can simply use g_slist_next() to iterate instead
2124         of g_slist_nth_data().
2125
2126         No new tests, no behavior change.
2127
2128         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2129         (webKitWebAudioSrcLoop):
2130
2131 2013-04-03  Keishi Hattori  <keishi@webkit.org>
2132
2133         Actions that require user gesture don't work in window.showModalDialog in Chromium
2134         https://bugs.webkit.org/show_bug.cgi?id=113777
2135
2136         Reviewed by Jochen Eisinger.
2137
2138         In Chromium the window for showModalDialog is not modal which causes the
2139         UserGestureIndicator to block actions in the sub window. We introduce a
2140         RAII that saves the UserGestureIndicator and state, then resets it before
2141         runModalDialog, and restore it when it's done.
2142
2143         No new tests. Can't cause user gesture inside modal dialog.
2144
2145         * dom/UserGestureIndicator.cpp:
2146         (WebCore::UserGestureIndicatorDisabler::UserGestureIndicatorDisabler): Saves and resets the topmost indicator and state.
2147         (WebCore):
2148         (WebCore::UserGestureIndicatorDisabler::~UserGestureIndicatorDisabler): Restores topmost indicator and state.
2149         * dom/UserGestureIndicator.h:
2150         (WebCore):
2151         (UserGestureIndicatorDisabler): RAII to temporarily disable UserGestureIndicator.
2152         (UserGestureIndicator): Allow access to UserGestureIndicatorDisabler.
2153         * page/DOMWindow.cpp:
2154         (WebCore::DOMWindow::showModalDialog): Disable UserGestureIndicator while runModalDialog.
2155
2156 2013-04-03  Zeno Albisser  <zeno@webkit.org>
2157
2158         [Qt] Fail gracefully if an OpenGL context could not be created.
2159         https://bugs.webkit.org/show_bug.cgi?id=113784
2160
2161         In case we fail to create or adopt a valid platform OpenGL context
2162         we do not want to provide a GraphicsContext3D instance.
2163         Otherwise we would crash as soon as the instance is being used.
2164
2165         Reviewed by Jocelyn Turcotte.
2166
2167         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2168         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2169         (WebCore::GraphicsContext3D::GraphicsContext3D):
2170
2171 2013-04-03  ChangSeok Oh  <changseok.oh@collabora.com>
2172
2173         [GTK][AC] Implement matrix keyframe animations with clutter ac backend
2174         https://bugs.webkit.org/show_bug.cgi?id=110314
2175
2176         Reviewed by Gustavo Noronha Silva.
2177
2178         Clutter 1.12 doesn't support additive transform animations yet, So clutter ac backend
2179         uses matrix animations for the case. This patch follows changeset 143369, 143343
2180         to support matrix keyframe animations. I believe this change is easy if you understand
2181         above two changesets.
2182
2183         Covered by existing animation tests.
2184
2185         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
2186         (WebCore::PlatformClutterAnimation::setValues):
2187         (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
2188         (WebCore):
2189         (WebCore::PlatformClutterAnimation::addTransformTransition):
2190         * platform/graphics/clutter/PlatformClutterAnimation.h:
2191         (PlatformClutterAnimation):
2192
2193 2013-04-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2194
2195         Should close select popup when the element loses focus
2196         https://bugs.webkit.org/show_bug.cgi?id=113220
2197
2198         Reviewed by Kent Tamura.
2199
2200         Test: fast/forms/select-popup-closes-on-blur.html
2201
2202         * html/HTMLSelectElement.cpp:
2203         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): handle the blur event, closing
2204         the popup menu if any.
2205         * testing/Internals.cpp:
2206         (WebCore::Internals::isSelectPopupVisible): utility to query the select node renderer to
2207         find out whether the popup is open or closed.
2208         (WebCore):
2209         * testing/Internals.h: add the new method definition.
2210         * testing/Internals.idl: ditto.
2211
2212 2013-03-28  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2213
2214         [Qt] Switch ContextMenu implementation to CROSS_PLATFORM_CONTEXT_MENU
2215         https://bugs.webkit.org/show_bug.cgi?id=113535
2216
2217         Reviewed by Simon Hausmann.
2218
2219         Now Qt uses the CROSS_PLATFORM_CONTEXT_MENUS
2220         USE flag. This flag provides a full cross-platform
2221         representation of a ContextMenu and a ContextMenuItem.
2222         The embedder can then decide how to show this, so neither
2223         WebCore nor WebCore/platform need to know any platform
2224         specifics about menus.
2225
2226         No new tests, no behavior changes.
2227
2228         * Target.pri:
2229         * platform/ContextMenu.h:
2230         (ContextMenu):
2231         * platform/ContextMenuItem.h:
2232         * platform/qt/ContextMenuItemQt.cpp:
2233         (WebCore::ContextMenuItem::platformContextMenuItem):
2234         * platform/qt/ContextMenuQt.cpp:
2235         (WebCore::ContextMenu::ContextMenu):
2236         (WebCore::ContextMenu::getContextMenuItems):
2237         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
2238         (WebCore::ContextMenu::platformContextMenu):
2239
2240 2013-04-03  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2241
2242         [Qt] Monospace font does not render in proper sizes
2243         https://bugs.webkit.org/show_bug.cgi?id=93263
2244
2245         Reviewed by Jocelyn Turcotte.
2246
2247         Remove this patch's artificial dependency on Qt 5.1.
2248
2249         * platform/graphics/qt/FontPlatformDataQt.cpp:
2250         (WebCore::FontPlatformData::FontPlatformData):
2251
2252 2013-04-03  Takeshi Yoshino  <tyoshino@chromium.org>
2253
2254         Refine LOG messages in WebSocket related components
2255         https://bugs.webkit.org/show_bug.cgi?id=113852
2256
2257         Reviewed by Kent Tamura.
2258
2259         Refine LOG messages by
2260         - Make them contain method names to ease identifying where the event occurred.
2261         - For consistency, make all messages print the pointer of the origin instance.
2262         - Quote UTF8 data in LOG messages.
2263         - For overloaded methods, add the type to clarify which one is run
2264
2265         * Modules/websockets/WebSocket.cpp:
2266         (WebCore::WebSocket::connect):
2267         (WebCore::WebSocket::send):
2268         (WebCore::WebSocket::close):
2269         (WebCore::WebSocket::contextDestroyed):
2270         (WebCore::WebSocket::didConnect):
2271         (WebCore::WebSocket::didReceiveMessage):
2272         (WebCore::WebSocket::didReceiveBinaryData):
2273         (WebCore::WebSocket::didReceiveMessageError):
2274         (WebCore::WebSocket::didUpdateBufferedAmount):
2275         (WebCore::WebSocket::didStartClosingHandshake):
2276         (WebCore::WebSocket::didClose):
2277         * Modules/websockets/WebSocketChannel.cpp:
2278         (WebCore::WebSocketChannel::connect):
2279         (WebCore::WebSocketChannel::subprotocol):
2280         (WebCore::WebSocketChannel::extensions):
2281         (WebCore::WebSocketChannel::send):
2282         (WebCore::WebSocketChannel::bufferedAmount):
2283         (WebCore::WebSocketChannel::close):
2284         (WebCore::WebSocketChannel::fail):
2285         (WebCore::WebSocketChannel::disconnect):
2286         (WebCore::WebSocketChannel::willOpenSocketStream):
2287         (WebCore::WebSocketChannel::didOpenSocketStream):
2288         (WebCore::WebSocketChannel::didCloseSocketStream):
2289         (WebCore::WebSocketChannel::didReceiveSocketStreamData):
2290         (WebCore::WebSocketChannel::didFailSocketStream):
2291         (WebCore::WebSocketChannel::didStartLoading):
2292         (WebCore::WebSocketChannel::didReceiveData):
2293         (WebCore::WebSocketChannel::didFinishLoading):
2294         (WebCore::WebSocketChannel::didFail):
2295         (WebCore::WebSocketChannel::appendToBuffer):
2296         (WebCore::WebSocketChannel::processBuffer):
2297         (WebCore::WebSocketChannel::startClosingHandshake):
2298         (WebCore::WebSocketChannel::closingTimerFired):
2299         * Modules/websockets/WebSocketDeflater.cpp:
2300         (WebCore::WebSocketDeflater::~WebSocketDeflater):
2301         (WebCore::WebSocketInflater::~WebSocketInflater):
2302         * Modules/websockets/WebSocketHandshake.cpp:
2303         (WebCore::WebSocketHandshake::readServerHandshake):
2304         * platform/network/chromium/SocketStreamHandle.cpp:
2305         (WebCore::SocketStreamHandleInternal::connect):
2306         (WebCore::SocketStreamHandleInternal::send):
2307         (WebCore::SocketStreamHandleInternal::close):
2308         (WebCore::SocketStreamHandleInternal::didOpenStream):
2309         (WebCore::SocketStreamHandleInternal::didSendData):
2310         (WebCore::SocketStreamHandleInternal::didReceiveData):
2311         (WebCore::SocketStreamHandleInternal::didClose):
2312         (WebCore::SocketStreamHandleInternal::didFail):
2313
2314 2013-04-03  Tor Arne Vestbø  <tor.arne.vestbo@digia.com>
2315
2316         [Qt] Update QMAKE_MAC_SDK check for Qt 5.1
2317
2318         Relies on QMAKE_MAC_SDK_VERSION set in features.prf
2319
2320         Reviewed by Simon Hausmann.
2321
2322         * WebCore.pri:
2323
2324 2013-04-03  Kristof Provost  <kristof@codepro.be>
2325
2326         [Qt] assignToHTMLImageElement no longer exists in Qt5
2327         https://bugs.webkit.org/show_bug.cgi?id=113639
2328
2329         Reviewed by Simon Hausmann.
2330
2331         No new tests: covered by ./Source/WebKit/qt/tests/hybridPixmap/test.html
2332
2333         * bridge/qt/qt_pixmapruntime.cpp:
2334         (JSC::Bindings::QtPixmapRuntime::getClassRef):
2335
2336 2013-04-03  Antoine Quint  <graouts@apple.com>
2337
2338         Web Inspector: crash in WebCore::InspectorLayerTreeAgent::buildObjectForLayer if a layer is created for an anonymous RenderObject (:first-letter)
2339         https://bugs.webkit.org/show_bug.cgi?id=113768
2340
2341         The InspectorLayerTreeAgent now knows how to deal with anonymous RenderObjects
2342         for the :first-letter and :first-line pseudo-elements.
2343
2344         Reviewed by Timothy Hatcher.
2345
2346         Test: inspector-protocol/layers/layers-anonymous.html
2347
2348         * inspector/Inspector.json:
2349         Change the Layer type in the LayerTree domain to have more accurate terminology
2350         (pseudo-element vs. pseudo-class) and a new optional isAnonymous flag for layers
2351         associated to anonymous RenderObjects.
2352
2353         * inspector/InspectorLayerTreeAgent.cpp:
2354         (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2355         Check for anonymous RenderObjects and set the parent renderer's node as the node
2356         for this layer since anonymous renderers have the Document as their node and this
2357         would not be satisfactory to show in a front-end. We also check for anonymous
2358         RenderObjects for the :first-letter and :first-line pseudo-elements and set them
2359         in the pseudoElement property of the Layer object created such that a front-end
2360         could correctly identify what type of pseudo-element for the associated node
2361         yielded this layer.
2362
2363         (WebCore::InspectorLayerTreeAgent::idForNode):
2364         Here we fix the actual crash by first checking if the node provided is null and
2365         returning 0 if there's no such node. This ensures that any scenario where there
2366         is no node associated with the RenderObject simply informs of the front-end that
2367         no such node exists and we do not crash.
2368
2369 2013-04-03  Alexander Pavlov  <apavlov@chromium.org>
2370
2371         Web Inspector: [REGRESSION(r147117)][Elements] Copy/paste keyboard shortcuts broken in "Edit as HTML"
2372         https://bugs.webkit.org/show_bug.cgi?id=113798
2373
2374         Reviewed by Yury Semikhatsky.
2375
2376         Stop propagation of "copy" event from the multiline editor's
2377         CodeMirror host element so that it is not handled by
2378         WebInspector.documentCopy().
2379
2380         * inspector/front-end/UIUtils.js:
2381         (.consumeCopy):
2382         (.cleanUpAfterEditing):
2383         * inspector/front-end/inspector.js:
2384         (WebInspector.addMainEventListeners):
2385
2386 2013-04-03  Takashi Sakamoto  <tasak@google.com>
2387
2388         With borders of differing alpha, the corners become squared off
2389         https://bugs.webkit.org/show_bug.cgi?id=113744
2390
2391         Reviewed by Simon Fraser.
2392
2393         paintTranslucentBorderSides should pick up borders with common color
2394         in order: top, bottom, left and right (not top, right, bottom and
2395         left), because willBeOverdrawn depends on the assumption, borders are
2396         drawn in order: top, bottom, left and right.
2397
2398         Test: fast/borders/border-left-right-same-bottom-different-color.html
2399
2400         * rendering/RenderBoxModelObject.cpp:
2401         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2402
2403 2013-04-03  Mihnea Ovidenie  <mihnea@adobe.com>
2404
2405         [New Multicolumn]Remove assert in RenderMultiColumnFlowThread::createAnonymous
2406         https://bugs.webkit.org/show_bug.cgi?id=113855
2407
2408         Reviewed by Antti Koivisto.
2409
2410         Remove CSSRegions specific assert from new multicolumn implementation.
2411         No change in functionality, no new tests.
2412
2413         * rendering/RenderMultiColumnFlowThread.cpp:
2414         (WebCore::RenderMultiColumnFlowThread::createAnonymous):
2415
2416 2013-04-03  Mike West  <mkwst@chromium.org>
2417
2418         X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
2419         https://bugs.webkit.org/show_bug.cgi?id=112903
2420
2421         Reviewed by Adam Barth.
2422
2423         This change brings WebKit in line with IE and Gecko's behavior, both of
2424         which treat the blocked frame as being cross-origin for the purposes of
2425         access checks ('[frame].contentWindow.location.href' is inaccessible,
2426         for example).
2427
2428         * dom/Document.cpp:
2429         (WebCore::Document::processHttpEquiv):
2430             Rather than redirecting to 'about:blank', redirect to a URL which
2431             does not inherit the SecurityOrigin of the parent.
2432         * loader/DocumentLoader.cpp:
2433         (WebCore::DocumentLoader::responseReceived):
2434             Before calling cancelMainResourceLoad, ensure that the frame's
2435             document is sandboxed into a unique origin so that it doesn't inherit
2436             the parent's SecurityOrigin.
2437
2438 2013-04-03  Mikhail Naganov  <mnaganov@chromium.org>
2439
2440         [Chromium] Implement target-densityDpi viewport property emulation
2441         https://bugs.webkit.org/show_bug.cgi?id=110835
2442
2443         The value is only used in the Chromium port, when the corresponding
2444         setting is enabled.
2445
2446         This is needed for supporting existing WebView-based applications
2447         that rely on this property.
2448
2449         Reviewed by Adam Barth.
2450
2451         * dom/ViewportArguments.cpp:
2452         (WebCore::findTargetDensityDPIValue):
2453         (WebCore):
2454         (WebCore::setViewportFeature):
2455         * dom/ViewportArguments.h:
2456         (WebCore::ViewportArguments::ViewportArguments):
2457         (ViewportArguments):
2458         (WebCore::ViewportArguments::operator==):
2459
2460 2013-04-03  Mike West  <mkwst@chromium.org>
2461
2462         Extract URL that doesn't inherit a parent's SecurityOrigin out into a constant.
2463         https://bugs.webkit.org/show_bug.cgi?id=113780
2464
2465         Reviewed by Jochen Eisinger.
2466
2467         We're scheduling navigations to 'data:text/html,' in XSSAuditor in
2468         order to end up on a page that doesn't inherit its parent's
2469         SecurityOrigin. We'll be reusing this mechainsm to solve
2470         http://wkbug.com/112903
2471
2472         This patch makes us more explicit about what we're doing and why.
2473         It doesn't change any behavior: XSSAuditor tests should still pass.
2474
2475         * html/parser/XSSAuditorDelegate.cpp:
2476         (WebCore::XSSAuditorDelegate::didBlockScript):
2477             Use SecurityOrigin::urlWithUniqueSecurityOrigin rather than a
2478             literal string to make our intentions clear.
2479         * page/SecurityOrigin.cpp:
2480         (WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin):
2481         * page/SecurityOrigin.h:
2482             Add the new static method.
2483
2484 2013-04-02  Chris Fleizach  <cfleizach@apple.com>
2485
2486         clean up static casts in WebAccessibilityObjectWrapperMac.mm to methods like toAccessibilityList()
2487         https://bugs.webkit.org/show_bug.cgi?id=113828
2488
2489         Reviewed by Tim Horton.
2490
2491         static_cast changed to toAccessibilityList().
2492
2493         * accessibility/AccessibilityList.h:
2494         (WebCore::toAccessibilityList):
2495         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2496         (-[WebAccessibilityObjectWrapper subrole]):
2497         (-[WebAccessibilityObjectWrapper roleDescription]):
2498
2499 2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2500
2501         Unreviewed, rolling out r147370.
2502         http://trac.webkit.org/changeset/147370
2503         https://bugs.webkit.org/show_bug.cgi?id=113850
2504
2505         This patch is causing crashes in video tests on all Mac bots.
2506         (Requested by jernoble_ on #webkit).
2507
2508         * html/HTMLMediaElement.cpp:
2509         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2510
2511 2013-04-02  James Craig  <james@cookiecrook.com>
2512
2513         AXRoleDescripton for DL is "list"; should be "description list"
2514         https://bugs.webkit.org/show_bug.cgi?id=111665
2515
2516         Reviewed by Chris Fleizach.
2517
2518         Defining the role and description strings, and accessors for DL.
2519         This previously relied on getting the role and description from the platform API.
2520
2521         Updated existing test coverage.
2522
2523         * English.lproj/Localizable.strings:
2524         * accessibility/AccessibilityObject.h:
2525         * accessibility/AccessibilityRenderObject.cpp:
2526         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2527         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2528         (createAccessibilityRoleMap):
2529         (-[WebAccessibilityObjectWrapper subrole]):
2530         (-[WebAccessibilityObjectWrapper roleDescription]):
2531         * platform/LocalizedStrings.cpp:
2532         (WebCore::AXDescriptionListText):
2533         (WebCore):
2534         * platform/LocalizedStrings.h:
2535         (WebCore):
2536         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
2537         (WebCore::AXDescriptionListText):
2538         (WebCore):
2539         * platform/chromium/LocalizedStringsChromium.cpp:
2540         (WebCore::AXDescriptionListText):
2541         (WebCore):
2542         * platform/efl/LocalizedStringsEfl.cpp:
2543         (WebCore::AXDescriptionListText):
2544         (WebCore):
2545         * platform/gtk/LocalizedStringsGtk.cpp:
2546         (WebCore::AXDescriptionListText):
2547         (WebCore):
2548         * platform/qt/LocalizedStringsQt.cpp:
2549         (WebCore::AXDescriptionListText):
2550         (WebCore):
2551
2552 2013-04-02  Eugene Klyuchnikov  <eustas@chromium.org>
2553
2554         Web Inspector: [Network] Split business logic and presentation for initiator column.
2555         https://bugs.webkit.org/show_bug.cgi?id=113486
2556
2557         Reviewed by Pavel Feldman.
2558
2559         Currently business logic and presentation are mixed.
2560         This prevents making cell renderer static and applying
2561         viewport rendering, because initiator sorting function
2562         depends on data written when cell is rendered.
2563
2564         * inspector/front-end/NetworkPanel.js:
2565         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
2566         Removed business logic. Use "initiatorInfo".
2567         (WebInspector.NetworkDataGridNode.InitiatorComparator):
2568         Use "initiatorInfo".
2569         * inspector/front-end/NetworkRequest.js:
2570         (WebInspector.NetworkRequest.prototype.initiatorInfo):
2571         Extracted business logic from "refreshInitiatorCell".
2572
2573 2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
2574
2575         needsLeopardMailQuirks should be removed
2576         https://bugs.webkit.org/show_bug.cgi?id=113749
2577
2578         Reviewed by Benjamin Poulain.
2579
2580         Removed needsLeopardMailQuirks from settings.in after r147447.
2581
2582         * page/Settings.in:
2583
2584 2013-04-02  Jaehun Lim  <ljaehun.lim@samsung.com>
2585
2586         [css3-text] Rendering -webkit-each-line value for text-indent from css3-text
2587         https://bugs.webkit.org/show_bug.cgi?id=113259
2588
2589         Reviewed by Levi Weintraub.
2590
2591         CSS3 TEXT introduces new value, "each-line" for text-indent.
2592         Indentation affects the first line of the block container as well as each line
2593         after a forced line break, but does not affect lines after a soft wrap break.
2594
2595         This patch is the rendering part to support each-line value for text-indent.
2596         It's prefixed and guarded by CSS3_TEXT flag.
2597
2598         Test: fast/css3-text/css3-text-indent/text-indent-each-line.html
2599
2600         * rendering/RenderBlock.h:
2601         (WebCore::RenderBlock::availableLogicalWidthForLine):
2602         (WebCore::RenderBlock::logicalRightOffsetForLine):
2603         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2604         (WebCore::RenderBlock::startOffsetForLine):
2605         (WebCore::RenderBlock::endOffsetForLine):
2606         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
2607         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
2608             Rename a parameter from firstLine to shouldIndentText.
2609
2610         * rendering/RenderBlockLineLayout.cpp:
2611         (WebCore::LineWidth::LineWidth):
2612         (WebCore::LineWidth::shouldIndentText): Return boolean according to m_shouldIndentText.
2613         (WebCore::LineWidth::updateAvailableWidth):
2614         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2615         (WebCore::LineWidth::fitBelowFloats):
2616             Add enum IndentTextOrNot and m_shouldIndentText.
2617             Use m_shouldIndentText instead of m_isFirstLine.
2618
2619         (WebCore::requiresIndent): Decide whether text indentation is required.
2620         (WebCore::updateLogicalInlinePositions):
2621         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2622         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2623
2624 2013-04-02  Glenn Adams  <glenn@skynav.com>
2625
2626         Generalize prior line break context state and names.
2627         https://bugs.webkit.org/show_bug.cgi?id=113823
2628
2629         Reviewed by Darin Adler.
2630
2631         No new tests required due to no behavioral change.
2632
2633         * platform/text/TextBreakIterator.h:
2634         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
2635         (WebCore::LazyLineBreakIterator::lastCharacter):
2636         (WebCore::LazyLineBreakIterator::secondToLastCharacter):
2637         (WebCore::LazyLineBreakIterator::setPriorContext):
2638         (WebCore::LazyLineBreakIterator::updatePriorContext):
2639         (WebCore::LazyLineBreakIterator::resetPriorContext):
2640         (WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator):
2641         Store previous characters as prior context buffer used directly
2642         by line break iterator implementation. Rename members to reflect
2643         somewhat more general usage. Also fix bad indentations.
2644         * rendering/RenderBlockLineLayout.cpp:
2645         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2646         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2647         Use renamed line break iterator methods.
2648
2649 2013-04-02  Emil A Eklund  <eae@chromium.org>
2650
2651         Padding applied twice for empty generated RenderInlines
2652         https://bugs.webkit.org/show_bug.cgi?id=113800
2653
2654         Reviewed by Levi Weintraub.
2655         
2656         The padding for empty generated content render objects is
2657         incorrectly applied twice. Regression from r140693.
2658
2659         Test: fast/css-generated-content/margin-empty-content.html
2660
2661         * rendering/RenderBlockLineLayout.cpp:
2662         (WebCore::inlineLogicalWidth):
2663
2664 2013-04-02  Levi Weintraub  <leviw@chromium.org>
2665
2666         InlineIterator needs to be updated when RenderCombineText shrinks at a line break
2667         https://bugs.webkit.org/show_bug.cgi?id=113733
2668
2669         Reviewed by Emil A Eklund.
2670
2671         Update stale InlineIterators that point beyond the end of a RenderCombineText that's
2672         shrunk when RenderCombineText::combineText() is called.
2673
2674         Test: fast/text/international/combine-at-line-break-crash.html
2675
2676         * rendering/BidiRun.h:
2677         (WebCore::BidiRun::BidiRun): Adding an assertion that runs are created within
2678         the bounds of their associated RenderText.
2679         * rendering/RenderBlockLineLayout.cpp:
2680         (WebCore::iteratorIsBeyondEndOfRenderCombineText): Added.
2681         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Update stale iterators.
2682
2683 2013-04-02  Max Vujovic  <mvujovic@adobe.com>
2684
2685         [CSS Filters] Filter outsets clipped on composited layers when filter is applied after first layout
2686         https://bugs.webkit.org/show_bug.cgi?id=109098
2687
2688         Reviewed by Dean Jackson.
2689
2690         This patch addresses the following issues:
2691         (1) Compositors who can compute their own filter outsets don't need WebKit to inflate the
2692             composited layer bounds. Eventually, all platforms' compositors should be able to
2693             compute their own filter outsets.
2694         (2) When filter outsets change, we need to update composited layer bounds if the filters are
2695             painted in software.
2696         (3) When filter outsets change, we need to recompute the overlap map to promote the correct
2697             layers to composited layers on all platforms.
2698
2699         Tests: css3/filters/composited-layer-bounds-after-sw-blur-animation.html
2700                css3/filters/composited-layer-bounds-with-composited-blur.html
2701                css3/filters/composited-layer-child-bounds-after-composited-to-sw-shadow-change.html
2702                css3/filters/composited-layer-promotion-after-outset-overlap-change-using-composited-shadow.html
2703                css3/filters/composited-layer-promotion-after-outset-overlap-change-using-sw-shadow.html
2704
2705         * platform/graphics/IntRectExtent.h:
2706         (WebCore::IntRectExtent::isZero):
2707         (IntRectExtent):
2708
2709             Make isZero public on IntRectExtent.
2710
2711         * rendering/RenderLayer.cpp:
2712         (WebCore::hasOrHadFilters):
2713
2714             Helper function used to exit early from filters related code.
2715
2716         (WebCore::RenderLayer::updateFilters):
2717
2718             Move filter updating code from RenderLayer::styleChanged into this new method.
2719
2720             This method calls RenderLayerBacking::updateFilters instead of
2721             RenderLayerBacking::updateGraphicsLayerGeometry. RenderLayerBacking::updateFilters lets
2722             us know whether there was a filter paint mode change (i.e. the filters were painted in
2723             software and are now painted in the compositor, or vice-versa). We need to know this
2724             earlier, in RenderLayer::styleChanged, because we may need to rebuild the compositing
2725             layers due to a filter paint mode change.
2726
2727         (WebCore::RenderLayer::styleChanged):
2728
2729             Add a condition for filters for setCompositingLayersNeedRebuild. If the filter outsets
2730             on a layer changed, we need to rebuild the compositing layers because there could be new
2731             overlap. Likewise, if there are or were filter outsets and the filter paint mode changed
2732             the layer bounds (and child positions) may have changed. In either case, we don't
2733             rebuild the compositing layers if there is an accelerated filter animation running.
2734
2735             Remove old code to detect a filter paint mode change from the end of
2736             RenderLayer::styleChanged because it could never be executed. The old code counted on
2737             RenderLayerBacking::canCompositeFilters to change on its own, but it doesn't change
2738             unless updateFilters gets called. Thus, we could never enter the if statement that
2739             calls setBackingNeedsRepaint.
2740
2741         * rendering/RenderLayerBacking.cpp:
2742         (WebCore::RenderLayerBacking::updateFilters):
2743
2744             Now return true if there was a filter paint mode change, so RenderLayer::styleChanged
2745             can decide if it should rebuild the compositing layers.
2746
2747             Call updateOrRemoveFilterEffectRenderer and setContentsNeedDisplay if there was a
2748             render mode change. We need to either destroy or create the software renderer and we
2749             need to repaint the layer contents if there was a render mode change.
2750
2751         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2752
2753             Don't call updateFilters here. Call it earlier in RenderLayer::styleChanged, for reasons
2754             explained above.
2755
2756         * rendering/RenderLayerBacking.h:
2757         (RenderLayerBacking):
2758
2759             Make updateFilters public so RenderLayer::styleChanged can call it.
2760
2761         * rendering/RenderLayerCompositor.cpp:
2762         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2763
2764             If the platform's compositor computes filter outsets for its layers internally, do not
2765             inflate WebKit's composited bounds for filter outsets. This results in smaller layers
2766             on Safari. Note that we still need to include filter outsets in layer bounds for other
2767             situations like overlap testing in WebKit and when we're painting filters in software.
2768
2769 2013-04-02  Martin Robinson  <mrobinson@igalia.com>
2770
2771         [GTK] Make libsecret optional
2772         https://bugs.webkit.org/show_bug.cgi?id=113821
2773
2774         Reviewed by Gustavo Noronha Silva.
2775
2776         Don't try to use libsecret if credential storage is disabled.
2777
2778         * platform/gtk/GRefPtrGtk.cpp: Protect libsecret sections.
2779         * platform/gtk/GRefPtrGtk.h: Ditto.
2780         * platform/network/gtk/CredentialBackingStore.cpp: Ditto.
2781
2782 2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>
2783
2784         [CSS Exclusions] refactor shape-outside code to use isFloatingWithShapeOutside() helper method
2785         https://bugs.webkit.org/show_bug.cgi?id=113799
2786
2787         Reviewed by Dirk Schulze.
2788
2789         When reviewing my patch for bug 110349, Julien mentioned that the
2790         common test for floating with shape outside should be factored out.
2791         This patch does that.
2792
2793         No new functionality, so no new tests.
2794
2795         * rendering/ExclusionShapeOutsideInfo.cpp:
2796         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Use helper method.
2797         * rendering/RenderBox.h:
2798         (WebCore::RenderBox::exclusionShapeOutsideInfo): Ditto.
2799         * rendering/RenderLayer.cpp:
2800         (WebCore::RenderLayer::shouldBeNormalFlowOnly): Ditto.
2801         * rendering/RenderObject.h:
2802         (WebCore::RenderObject::hasPaintOffset):  Ditto.
2803         (WebCore::RenderObject::isFloatingWithShapeOutside): Add method to
2804             encapsulate the common test.
2805
2806 2013-04-02  Jer Noble  <jer.noble@apple.com>
2807
2808         Add platform AudioSession and iOS platform-specific code.
2809         https://bugs.webkit.org/show_bug.cgi?id=113813
2810         <rdar://problem/11701792>
2811
2812         Reviewed by Eric Carlson.
2813
2814         Replace the deprecated AudioToolbox AudioSession APIs with the new AVAudioSession API.
2815         To protect against exposing platform specific intrinsics to cross-platform code, add a
2816         platform generic class AudioSession, with port-specific implementations. A default
2817         implementation is provided.
2818
2819         Add a new listener interface to receive interruption notifications:
2820         * platform/audio/AudioSessionListener.h: Added.
2821         (WebCore::AudioSessionListener::AudioSessionListener):
2822         (WebCore::AudioSessionListener::~AudioSessionListener):
2823
2824         Add a platform generic AudioSession class:
2825         * platform/audio/AudioSession.cpp: Added.
2826         (AudioSession::sharedSession): AudioSession is a singleton object, and this is its accessor.
2827         (AudioSession::addListener): Add the parameter to the listeners set.
2828         (AudioSession::removeListener): Remove the parameter from the listers set.
2829         (AudioSession::beganAudioInterruption): Iterate over the parameters.
2830         (AudioSession::endedAudioInterruption): Ditto.
2831         (AudioSession::AudioSession): Empty stub.
2832         (AudioSession::~AudioSession): Ditto.
2833         (AudioSession::setCategory): Ditto.
2834         (AudioSession::category): Ditto.
2835         (AudioSession::sampleRate): Ditto.
2836         (AudioSession::numberOfOutputChannels): Ditto.
2837         (AudioSession::setActive): Ditto.
2838         (AudioSession::preferredBufferDuration): Ditto.
2839         (AudioSession::setPreferredBufferDuration): Ditto.
2840         * platform/audio/AudioSession.h: Added.
2841
2842         Add IOS-specific AudioSession implementation:
2843         * platform/audio/ios/AudioSessionIOS.mm: Added.
2844         (-[WebAudioSessionHelper initWithCallback:WebCore::]): Register for interruption notifications.
2845         (-[WebAudioSessionHelper dealloc]): Unregister for interruption notifications.
2846         (-[WebAudioSessionHelper interruption:]): Pass to AudioSession.
2847         (WebCore::AudioSessionPrivate::AudioSessionPrivate): Private storage for AudioSessionIOS.
2848         (WebCore::AudioSession::AudioSession): Create AudioSessionPrivate and WebAudioSessionHelper.
2849         (WebCore::AudioSession::~AudioSession): Simple destructor.
2850         (WebCore::AudioSession::setCategory): Check the current categoryOverride, and refuse to overwrite
2851             "MediaPlayback" with "AmbientSound".
2852         (WebCore::AudioSession::setCategoryOverride): Simple setter.
2853         (WebCore::AudioSession::categoryOverride): Simple getter.
2854         (WebCore::AudioSession::category): Pass to AVAudioSession.
2855         (WebCore::AudioSession::sampleRate): Ditto.
2856         (WebCore::AudioSession::numberOfOutputChannels): Ditto.
2857         (WebCore::AudioSession::setActive): Ditto.
2858         (WebCore::AudioSession::preferredBufferDuration): Ditto.
2859         (WebCore::AudioSession::setPreferredBufferDuration): Ditto.
2860
2861         Use the new AudioSession class in place of explicit AudioToolbox or AVAudioSession calls:
2862         * platform/audio/ios/AudioDestinationIOS.cpp:
2863         (WebCore::AudioDestination::hardwareSampleRate): Pass to AudioSession.
2864         (WebCore::AudioDestination::maxChannelCount): Ditto.
2865         (WebCore::AudioDestinationIOS::AudioDestinationIOS): Register for listeners and activate.
2866         (WebCore::AudioDestinationIOS::~AudioDestinationIOS): Unregister and deactivate.
2867         (WebCore::AudioDestinationIOS::configure): Use AudioSession to set the buffer length.
2868         * platform/audio/ios/AudioDestinationIOS.h:
2869
2870         Add the new files to the project:
2871         * WebCore.xcodeproj/project.pbxproj:
2872
2873 2013-04-02  Jer Noble  <jer.noble@apple.com>
2874
2875         Upstream AudioDestinationIOS.
2876         https://bugs.webkit.org/show_bug.cgi?id=113806
2877
2878         Reviewed by Eric Carlson.
2879
2880         Upstream AudioDestinationIOS from the iOS repository.
2881
2882         * WebCore.xcodeproj/project.pbxproj:
2883         * platform/audio/ios/AudioDestinationIOS.cpp: Added.
2884         (WebCore::audioDestinations):
2885         (WebCore::AudioDestination::create):
2886         (WebCore::AudioDestination::hardwareSampleRate):
2887         (WebCore::AudioDestination::maxChannelCount):
2888         (WebCore::AudioDestinationIOS::AudioDestinationIOS):
2889         (WebCore::AudioDestinationIOS::~AudioDestinationIOS):
2890         (WebCore::AudioDestinationIOS::configure):
2891         (WebCore::AudioDestinationIOS::audioDestinationInterruptionListener):
2892         (WebCore::AudioDestinationIOS::initializeAudioSession):
2893         (WebCore::AudioDestinationIOS::start):
2894         (WebCore::AudioDestinationIOS::stop):
2895         (WebCore::AudioDestinationIOS::beganAudioInterruption):
2896         (WebCore::AudioDestinationIOS::endedAudioInterruption):
2897         (WebCore::AudioDestinationIOS::render):
2898         (WebCore::AudioDestinationIOS::inputProc):
2899         (WebCore::AudioDestinationIOS::frameSizeChangedProc):
2900         * platform/audio/ios/AudioDestinationIOS.h: Added.
2901         (AudioDestinationIOS):
2902         (WebCore::AudioDestinationIOS::isPlaying):
2903         (WebCore::AudioDestinationIOS::sampleRate):
2904
2905 2013-04-02  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2906
2907         fast/dom/HTMLImageElement/image-alt-text.html and fast/dom/HTMLInputElement/input-image-alt-text.html are failing
2908         https://bugs.webkit.org/show_bug.cgi?id=94198
2909
2910         Reviewed by Darin Adler.
2911
2912         Fix alt text not being displayed for img elements or input of type
2913         "image" due to insufficient size. imageSizeForError() was adding
2914         padding for the alt text but setImageSizeForAltText() was not. The
2915         issue was occurring in paintReplaced() because the contentWidth() /
2916         contentHeight() would be exactly the same size as the alt text.
2917         However, paintReplaced() first draws an outline rect where the
2918         image should be and then reduces the usable width / height for the
2919         alt text by 2 so that the text does not get printed over the rect
2920         borders. However, after decreasing the usable width / height, there
2921         is no longer enough space to draw the text.
2922
2923         No new tests, already covered by existing tests.
2924
2925         * rendering/RenderImage.cpp:
2926         (WebCore::RenderImage::setImageSizeForAltText): Add padding to the text size
2927         so that the alt text can still be drawn, despite the outline rect
2928         borders. Such padding was already used in imageSizeForError(). Also use
2929         ceilf() for the value returned by Font::width() instead of truncating it.
2930         This is needed because we need to fit the whole text in the image and this
2931         may not be the case if we truncate.
2932         (WebCore::RenderImage::paintReplaced):
2933
2934 2013-04-02  Raymond Toy  <rtoy@google.com>
2935
2936         Add support for using ARM FFT in WebAudio
2937         https://bugs.webkit.org/show_bug.cgi?id=109755
2938
2939         Reviewed by Chris Rogers.
2940
2941         No new tests.
2942
2943         * WebCore.gyp/WebCore.gyp: Add dependency on openmax_dl when use_openmax_dl_fft is enabled.
2944         * WebCore.gypi: Add source FFTFrameOpenMAXDLAndroid.cpp
2945         * platform/audio/AudioArray.h:
2946         (WebCore::AudioArray::allocate): Need 32-byte aligntment with the
2947         OpenMAX DL FFT.
2948         * platform/audio/FFTFrame.h:
2949         (FFTFrame): Support OpenMAX DL FFT
2950         * platform/audio/FFTFrameStub.cpp: Support OpenMAX DL FFT
2951         * platform/audio/chromium/FFTFrameOpenMAXDLAndroid.cpp: Added.  Implements the
2952         necessary interface using the OpenMAX DL FFT routines.
2953         (WebCore):
2954         (WebCore::FFTFrame::FFTFrame):
2955         (WebCore::FFTFrame::initialize):
2956         (WebCore::FFTFrame::cleanup):
2957         (WebCore::FFTFrame::~FFTFrame):
2958         (WebCore::FFTFrame::multiply):
2959         (WebCore::FFTFrame::doFFT):
2960         (WebCore::FFTFrame::doInverseFFT):
2961         (WebCore::FFTFrame::realData):
2962         (WebCore::FFTFrame::imagData):
2963         (WebCore::FFTFrame::contextForSize):
2964
2965 2013-04-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2966
2967         [GStreamer] Memory leaks in MediaPlayerPrivateGStreamer
2968         https://bugs.webkit.org/show_bug.cgi?id=113762
2969
2970         Reviewed by Philippe Normand.
2971
2972         Don't leak strings returned by gst_element_get_name() and
2973         gst_missing_plugin_message_get_installer_detail().
2974
2975         No new tests. No change in behavior.
2976
2977         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2978         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
2979         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
2980
2981 2013-04-02  Min Qin  <qinmin@chromium.org>
2982
2983         Fix css style for CC button on android
2984         https://bugs.webkit.org/show_bug.cgi?id=113815
2985
2986         Reviewed by Adam Barth.
2987
2988         The default CC button size is 16px as defined in mediaControls.css. Android should use 35px.
2989         This change fixed that problem.
2990         Also fixed a problem that r142947 does not change the display of fullscreen button to -webkit-flex
2991         Android does not run media layout tests currently. Will fix the test expectations when layout tests are run in content shell.
2992
2993         * css/mediaControlsChromiumAndroid.css:
2994         (video::-webkit-media-controls-fullscreen-button):
2995         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2996
2997 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
2998
2999         [Mac] Remove WKCreateNSURLConnectionDelegateProxy
3000         https://bugs.webkit.org/show_bug.cgi?id=113810
3001
3002         Reviewed by Anders Carlsson.
3003
3004         This WKSI function is not used any more.
3005
3006         * WebCore.exp.in:
3007         * platform/mac/WebCoreSystemInterface.h:
3008         * platform/mac/WebCoreSystemInterface.mm:
3009
3010 2013-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3011
3012         Unreviewed, rolling out r147464.
3013         http://trac.webkit.org/changeset/147464
3014         https://bugs.webkit.org/show_bug.cgi?id=113812
3015
3016         JSSQLResultSet.cpp:131:24: error: implicit conversion loses
3017         integer precision: 'int64_t' (aka 'long long') to 'int'
3018         [-Werror,-Wshorten-64-to-32] (Requested by xenon on #webkit).
3019
3020         * bindings/scripts/CodeGeneratorJS.pm:
3021         (GenerateImplementation):
3022         * bindings/scripts/test/JS/JSTestObj.cpp:
3023         (WebCore::jsTestObjAttrWithGetterException):
3024         (WebCore::jsTestObjStringAttrWithGetterException):
3025         (WebCore::jsTestObjWithScriptStateAttributeRaises):
3026         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
3027         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
3028         (WebCore::jsTestObjNullableDoubleAttribute):
3029         (WebCore::jsTestObjNullableLongAttribute):
3030         (WebCore::jsTestObjNullableBooleanAttribute):
3031         (WebCore::jsTestObjNullableStringAttribute):
3032         (WebCore::jsTestObjNullableLongSettableAttribute):
3033         (WebCore::jsTestObjNullableStringValue):
3034         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3035         (WebCore::jsTestTypedefsAttrWithGetterException):
3036         (WebCore::jsTestTypedefsStringAttrWithGetterException):
3037
3038 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3039
3040         Web Inspector: Make Source Frame & status bar a layout boundary
3041         https://bugs.webkit.org/show_bug.cgi?id=112353
3042
3043         Reviewed by Pavel Feldman.
3044
3045         No new tests: no change in behaviour.
3046
3047         - Add View.markAsLayoutBoundary method to mark a view as a layout
3048         boundary. This will force this view to autoupdate its height to actual
3049         pixel value.
3050         - Mark both CodeMirrorTextEditor and DefaultTextEditor as a layout
3051         boundary.
3052         - Mark main-status-bar element with a layout-boundary class.
3053
3054         * inspector/front-end/CodeMirrorTextEditor.js:
3055         (WebInspector.CodeMirrorTextEditor):
3056         * inspector/front-end/DefaultTextEditor.js:
3057         * inspector/front-end/View.js:
3058         (WebInspector.View.prototype.markAsLayoutBoundary):
3059         (WebInspector.View.prototype._processWillShow):
3060         (WebInspector.View.prototype._processWasShown):
3061         (WebInspector.View.prototype._processOnResize):
3062         * inspector/front-end/inspector.css:
3063         (.layout-boundary):
3064         * inspector/front-end/inspector.html:
3065
3066 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
3067
3068         <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
3069         https://bugs.webkit.org/show_bug.cgi?id=113803
3070
3071         Reviewed by Darin Adler.
3072
3073         Stop using a delegate proxy. It hasn't been needed in years, and the extra layer
3074         just adds bugs.
3075
3076         This specific issue gets fixed because connection retains its delegate is retained,
3077         but a proxy does not.
3078
3079         * WebCore.exp.in:
3080         * platform/network/ResourceHandle.h:
3081         * platform/network/ResourceHandleInternal.h:
3082         * platform/network/mac/ResourceHandleMac.mm:
3083         (WebCore::ResourceHandle::start):
3084         (WebCore::ResourceHandle::releaseDelegate):
3085         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
3086         Removed code that was dealing with delegate proxy.
3087
3088 2013-04-02  John J. Barton  <johnjbarton@chromium.org>
3089
3090         Web Inspector: Encapsulate SetEmbedderData/GetEmbedderData
3091         https://bugs.webkit.org/show_bug.cgi?id=113331
3092
3093         Reviewed by Pavel Feldman.
3094
3095         Refactor to encapsulate uses of V8 Set/GetEmbedderData together
3096         with uses of V8 Set/GetAlignedPointerInEmbedderData since these
3097         functions operate on the same underyling array in V8.
3098
3099         * bindings/v8/ScriptController.cpp:
3100         (WebCore::ScriptController::setContextDebugId):
3101         (WebCore::ScriptController::contextDebugId):
3102         * bindings/v8/V8DOMWindowShell.cpp:
3103         (WebCore::setInjectedScriptContextDebugId):
3104         * bindings/v8/V8PerContextData.cpp:
3105         (WebCore::V8PerContextDebugData::setContextDebugData):
3106         (WebCore):
3107         (WebCore::V8PerContextDebugData::contextDebugId):
3108         (WebCore::V8PerContextDebugData::createDebugData):
3109         (WebCore::V8PerContextDebugData::getDebugData):
3110         (WebCore::V8PerContextDebugData::setDebugData):
3111         * bindings/v8/V8PerContextData.h:
3112         (V8PerContextDebugData):
3113         (WebCore):
3114
3115 2013-04-02  Alexei Filippov  <alph@chromium.org>
3116
3117         Web Inspector: Adjust toolbar labels position
3118         https://bugs.webkit.org/show_bug.cgi?id=113805
3119
3120         Reviewed by Pavel Feldman.
3121
3122         Move the labels 1px up to make them centered.
3123         Also fix font centering in native memory distribution snapshot.
3124
3125         * inspector/front-end/inspector.css:
3126         (.toolbar-label):
3127         * inspector/front-end/nativeMemoryProfiler.css:
3128         (.native-snapshot-view .data-grid td):
3129
3130 2013-04-02  Beth Dakin  <bdakin@apple.com>
3131
3132         Viewport constrained elements should work properly with headers and footers
3133         https://bugs.webkit.org/show_bug.cgi?id=113743
3134
3135         Reviewed by Simon Fraser.
3136
3137         ScrollableArea::constrainScrollPositionForOverhang() needs to take headerHeight 
3138         and footerHeight into account. It also needs to use totalContentsSize() instead of 
3139         contentsSize().
3140
3141         Send totalContentsSize() instead of contentsSize() and also send headerHeight() 
3142         and footerHeight().
3143         * page/FrameView.cpp:
3144         (WebCore::FrameView::scrollOffsetForFixedPosition):
3145         * page/FrameView.h:
3146         (FrameView):
3147
3148         The scrolling tree will also need to know about header and footer heights since it 
3149         will need these values to call 
3150         ScrollableArea::constrainScrollPositionForOverhang().
3151         * page/scrolling/ScrollingStateScrollingNode.cpp:
3152         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3153         (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
3154         (WebCore::ScrollingStateScrollingNode::setFooterHeight):
3155         * page/scrolling/ScrollingStateScrollingNode.h:
3156         (WebCore::ScrollingStateScrollingNode::headerHeight):
3157         (ScrollingStateScrollingNode):
3158         (WebCore::ScrollingStateScrollingNode::footerHeight):
3159         * page/scrolling/ScrollingTreeScrollingNode.cpp:
3160         (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
3161         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
3162         * page/scrolling/ScrollingTreeScrollingNode.h:
3163         (WebCore::ScrollingTreeScrollingNode::headerHeight):
3164         (WebCore::ScrollingTreeScrollingNode::footerHeight):
3165         (ScrollingTreeScrollingNode):
3166         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3167         (ScrollParameters):
3168         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3169         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
3170         (WebCore::ScrollingCoordinatorMac::setScrollParametersForNode):
3171         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3172         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
3173
3174         Use footerHeight when calculating the maxValue and use headerHeight in determining 
3175         what the minimum value is. 
3176         * platform/ScrollableArea.cpp:
3177         (WebCore::constrainedScrollPosition):
3178         (WebCore::ScrollableArea::constrainScrollPositionForOverhang):
3179         * platform/ScrollableArea.h:
3180         (ScrollableArea):
3181
3182 2013-04-02  Stephen White  <senorblanco@chromium.org>
3183
3184         [Skia] Enable GPU-accelerated Skia path for FEComposite filter.
3185         https://bugs.webkit.org/show_bug.cgi?id=113797
3186
3187         Reviewed by Adrienne Walker.
3188
3189         Tests: css3/filters/effect-reference-composite-hw.html
3190                css3/filters/effect-reference-composite.html
3191
3192         * WebCore.gypi:
3193         * platform/graphics/filters/FEComposite.h:
3194         Enable Skia DAG hook for FEComposite.
3195         * platform/graphics/filters/skia/FECompositeSkia.cpp: Added.
3196         (WebCore::FEComposite::createImageFilter):
3197         Implement skia DAG builder for FEComposite, and implement generic
3198         skia version of composite filter.
3199
3200 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3201
3202         Web Inspector: Avoid using style.display="inline-block"
3203         https://bugs.webkit.org/show_bug.cgi?id=113802
3204
3205         Reviewed by Pavel Feldman.
3206
3207         No new tests.
3208
3209         - Create class "inline-block" which will set "display: inline-block"
3210         style.
3211         - Use this class with DIV elements to get "inline-block" element.
3212
3213         * inspector/front-end/ObjectPopoverHelper.js:
3214         (WebInspector.ObjectPopoverHelper.prototype.):
3215         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3216         * inspector/front-end/ScriptsPanel.js:
3217         (WebInspector.ScriptsPanel):
3218         * inspector/front-end/inspector.css:
3219         (.inline-block):
3220
3221 2013-04-02  Andrey Kosyakov  <caseq@chromium.org>
3222
3223         Web Inspector: [Timeline] warning markers are not propagated to coalesced records
3224         https://bugs.webkit.org/show_bug.cgi?id=113789
3225
3226         Reviewed by Pavel Feldman.
3227
3228         Test: inspector/timeline/timeline-coalescing.html
3229
3230         * inspector/front-end/TimelinePresentationModel.js: set childHasWarning on coalescing record if the record it replaces had warnings.
3231         (WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):
3232
3233 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
3234
3235         Web Inspector: memory instrumentation for external strings is broken
3236         https://bugs.webkit.org/show_bug.cgi?id=113788
3237
3238         Reviewed by Pavel Feldman.
3239
3240         Native memory snapshot now provides information about JS external strings.
3241
3242         Test: inspector/profiler/memory-instrumentation-external-string.html
3243
3244         * inspector/InspectorMemoryAgent.cpp:
3245
3246 2013-04-02  Yury Semikhatsky  <yurys@chromium.org>
3247
3248         Web Inspector: memory instrumentation for external arrays is broken
3249         https://bugs.webkit.org/show_bug.cgi?id=113790
3250
3251         Report pointers to external arrays as retaining ones to make sure their
3252         size is counted correctly.
3253
3254         Reviewed by Pavel Feldman.
3255
3256         Test: inspector/profiler/memory-instrumentation-external-array.html
3257
3258         * inspector/InspectorMemoryAgent.cpp:
3259
3260 2013-04-02  Peter Beverloo  <peter@chromium.org>
3261
3262         [JSC] Don't create a JSValue if it's not going to be used for nullable attributes
3263         https://bugs.webkit.org/show_bug.cgi?id=112711
3264
3265         Reviewed by Sam Weinig.
3266
3267         When nullable attributes are used, it's possible that we disregard the JSValue
3268         when null should be returned instead. This is a waste, and we should cast the
3269         native type to a JSValue as late as possible.
3270
3271         * bindings/scripts/CodeGeneratorJS.pm:
3272         (GenerateImplementation):
3273         (NativeValueToLocal):
3274         * bindings/scripts/test/JS/JSTestObj.cpp:
3275         (WebCore::jsTestObjAttrWithGetterException):
3276         (WebCore::jsTestObjStringAttrWithGetterException):
3277         (WebCore::jsTestObjWithScriptStateAttributeRaises):
3278         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
3279         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
3280         (WebCore::jsTestObjNullableDoubleAttribute):
3281         (WebCore::jsTestObjNullableLongAttribute):
3282         (WebCore::jsTestObjNullableBooleanAttribute):
3283         (WebCore::jsTestObjNullableStringAttribute):
3284         (WebCore::jsTestObjNullableLongSettableAttribute):
3285         (WebCore::jsTestObjNullableStringValue):
3286         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3287         (WebCore::jsTestTypedefsAttrWithGetterException):
3288         (WebCore::jsTestTypedefsStringAttrWithGetterException):
3289
3290 2013-04-02  Bem Jones-Bey  <bjonesbe@adobe.com>
3291
3292         [css exclusions] overflow:hidden undoes shape-outside offsets
3293         https://bugs.webkit.org/show_bug.cgi?id=110349
3294
3295         Reviewed by Julien Chaffraix.
3296
3297         When overflow: hidden was set on a float with shape-outside, the
3298         offset from the shape-outside was being ignored. This was because the
3299         float was being placed in the normal flow, causing the offsets to be
3300         calculated differently. Since floats with shape outside behave like
3301         positioned objects in many places, I have caused them to take the same
3302         behavior as positioned objects in this case as well: the floats with
3303         shape-outside do not get placed in the normal flow when overflow:
3304         hidden is set.
3305
3306         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-overflow-hidden.html
3307
3308         * rendering/RenderLayer.cpp:
3309         (WebCore::RenderLayer::shouldBeNormalFlowOnly): Floats that have
3310             shape-outside should not be in the normal flow.
3311
3312 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3313
3314         Web Inspector: resource preview of html/js/css types should be on a grey background
3315         https://bugs.webkit.org/show_bug.cgi?id=113791
3316
3317         Reviewed by Pavel Feldman.
3318
3319         No new tests.
3320
3321         - Add a css rule to set grey background for SourceFrame in resource view.
3322         - Add "fill" style to SourceFrame element to setup its height.
3323
3324         * inspector/front-end/SourceFrame.js:
3325         (WebInspector.SourceFrame):
3326         * inspector/front-end/resourceView.css:
3327         (.resource-view .script-view):
3328
3329 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3330
3331         Web Inspector: [CodeMirror] Editor doesn't have yellow background in DivergedFromVM state
3332         https://bugs.webkit.org/show_bug.cgi?id=113783
3333
3334         Reviewed by Pavel Feldman.
3335
3336         No new tests.
3337
3338         Force CodeMirrorTextEditor to have transparent background to inherit
3339         background color from source frame.
3340
3341         * inspector/front-end/cm/cmdevtools.css:
3342         (.CodeMirror):
3343
3344 2013-04-02  Jochen Eisinger  <jochen@chromium.org>
3345
3346         Check whether popups are allowed before creating a new window
3347         https://bugs.webkit.org/show_bug.cgi?id=113782
3348
3349         Reviewed by Adam Barth.
3350
3351         Otherwise, firing a generated mouse event at an anchor is enough to
3352         work around the popup blocker.
3353
3354         Test: fast/loader/url-selected-user-gesture.html
3355
3356         * loader/PolicyChecker.cpp:
3357         (WebCore::PolicyChecker::checkNewWindowPolicy):
3358
3359 2013-04-02  Jochen Eisinger  <jochen@chromium.org>
3360
3361         When computing the percentage of the logical height, use the logical top and bottom
3362         https://bugs.webkit.org/show_bug.cgi?id=113761
3363
3364         Reviewed by Ojan Vafai.
3365
3366         Test: fast/writing-mode/percentage-height-orthogonal-writing-modes.html
3367
3368         * rendering/RenderBox.cpp:
3369         (WebCore::RenderBox::computePercentageLogicalHeight):
3370
3371 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3372
3373         Web Inspector: [CodeMirror] do not show cursor in read-only mode
3374         https://bugs.webkit.org/show_bug.cgi?id=113793
3375
3376         Reviewed by Alexander Pavlov.
3377
3378         No new tests.
3379
3380         Pass "nocursor" option to CodeMirror's "readonly" setting.
3381
3382         * inspector/front-end/CodeMirrorTextEditor.js:
3383         (WebInspector.CodeMirrorTextEditor.prototype.setReadOnly):
3384
3385 2013-04-02  Nate Chapin  <japhet@chromium.org>
3386
3387         Unreviewed, rolling out r147402.
3388         http://trac.webkit.org/changeset/147402
3389         https://bugs.webkit.org/show_bug.cgi?id=112903
3390
3391         * dom/Document.cpp:
3392         (WebCore::Document::processHttpEquiv):
3393         * loader/DocumentLoader.cpp:
3394         (WebCore::DocumentLoader::responseReceived):
3395
3396 2013-04-02  ChangSeok Oh  <changseok.oh@collabora.com>
3397
3398         [GTK][AC] Support preserves3D css property for clutter ac backend.
3399         https://bugs.webkit.org/show_bug.cgi?id=113318
3400
3401         Reviewed by Gustavo Noronha Silva.
3402
3403         This patch brings preserve-3D css property support to WebKitGtk+ with clutter ac backed.
3404         Most of the code is based on Mac port's implementation. The core concept is that
3405         if a layer has preserve-3d property false, we mark itself and its immediate children
3406         to make them flatten. And then we remove 3D factor in a modelView matrix
3407         when applying it to each actor.
3408
3409         No new tests as this is covered with existing AC tests.
3410
3411         * platform/graphics/clutter/GraphicsLayerActor.cpp:
3412         (_GraphicsLayerActorPrivate):
3413         (graphics_layer_actor_init):
3414         (graphicsLayerActorApplyTransform):
3415         (graphicsLayerActorNew):
3416         (graphicsLayerActorRemoveFromSuperLayer):
3417         (graphicsLayerActorSetDrawsContent):
3418         (graphicsLayerActorSetFlatten):
3419         * platform/graphics/clutter/GraphicsLayerActor.h:
3420         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
3421         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
3422         (WebCore::GraphicsLayerClutter::platformLayer):
3423         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
3424         (WebCore):
3425         (WebCore::GraphicsLayerClutter::setPreserves3D):
3426         (WebCore::GraphicsLayerClutter::flushCompositingState):
3427         (WebCore::GraphicsLayerClutter::recursiveCommitChanges):
3428         (WebCore::GraphicsLayerClutter::commitLayerChangesAfterSublayers):
3429         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
3430         (WebCore::GraphicsLayerClutter::updateGeometry):
3431         (WebCore::GraphicsLayerClutter::updateSublayerList):
3432         (WebCore::GraphicsLayerClutter::updateStructuralLayer):
3433         (WebCore::GraphicsLayerClutter::ensureStructuralLayer):
3434         (WebCore::GraphicsLayerClutter::structuralLayerPurpose):
3435         (WebCore::GraphicsLayerClutter::layerForSuperlayer):
3436         * platform/graphics/clutter/GraphicsLayerClutter.h:
3437         (CommitState):
3438         (WebCore::GraphicsLayerClutter::CommitState::CommitState):
3439         (GraphicsLayerClutter):
3440         (WebCore::GraphicsLayerClutter::primaryLayer):
3441
3442 2013-04-02  Adam Klein  <adamk@chromium.org>
3443
3444         HTML parser should consistently inspect the namespace of elements on the stack of open elements
3445         https://bugs.webkit.org/show_bug.cgi?id=113723
3446
3447         Reviewed by Adam Barth.
3448
3449         Added HTMLStackItem::matchesHTMLTag method and use that nearly
3450         everywhere instead of HTMLStackItem::hasLocalName. The most important
3451         of these changes is in HTMLElementStack's inScopeCommon() function,
3452         where the use of matchesHTMLTag means that any of the inXXXScope()
3453         calls now only match HTML tags.
3454
3455         Tests: html5lib/generated/run-namespace-sensitivity-data.html
3456                html5lib/generated/run-namespace-sensitivity-write.html
3457
3458         * html/parser/HTMLConstructionSite.cpp:
3459         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
3460         * html/parser/HTMLElementStack.cpp:
3461         (WebCore::HTMLElementStack::popUntil):
3462         (WebCore::HTMLElementStack::topmost):
3463         (WebCore::inScopeCommon):
3464         (WebCore::HTMLElementStack::inScope):
3465         (WebCore::HTMLElementStack::inListItemScope):
3466         (WebCore::HTMLElementStack::inTableScope):
3467         (WebCore::HTMLElementStack::inButtonScope):
3468         (WebCore::HTMLElementStack::inSelectScope):
3469         * html/parser/HTMLElementStack.h:
3470         (WebCore::HTMLElementStack::popUntilPopped):
3471         * html/parser/HTMLFormattingElementList.cpp:
3472         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
3473         * html/parser/HTMLStackItem.h:
3474         (WebCore::HTMLStackItem::matchesHTMLTag):
3475         (HTMLStackItem):
3476         * html/parser/HTMLTreeBuilder.cpp:
3477         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3478         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
3479         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
3480         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
3481
3482 2013-04-02  Hayato Ito  <hayato@chromium.org>
3483
3484         Report memory usage for ShadowDistributedRules.
3485         https://bugs.webkit.org/show_bug.cgi?id=109882
3486
3487         Reviewed by Dimitri Glazkov.
3488
3489         This is a follow-up patch for r142855.
3490
3491         No new tests, no behavior change for layout tests.
3492
3493         * css/DocumentRuleSets.cpp:
3494         (WebCore):
3495         (WebCore::ShadowDistributedRules::reportMemoryUsage):
3496         (WebCore::DocumentRuleSets::reportMemoryUsage):
3497         * css/DocumentRuleSets.h:
3498         (ShadowDistributedRules):
3499
3500 2013-04-02  Chris Fleizach  <cfleizach@apple.com>
3501
3502         AX: Need to get line thickness from fraction on web
3503         https://bugs.webkit.org/show_bug.cgi?id=113720
3504
3505         Reviewed by David Kilzer.
3506
3507         Expose the line thickness property for fractions, which is needed to
3508         help determine the type of equation.
3509
3510         Test: platform/mac/accessibility/mathml-line-fraction.html
3511
3512         * accessibility/AccessibilityObject.h:
3513         (WebCore::AccessibilityObject::mathLineThickness):
3514         * accessibility/AccessibilityRenderObject.cpp:
3515         (WebCore::AccessibilityRenderObject::mathLineThickness):
3516         (WebCore):
3517         * accessibility/AccessibilityRenderObject.h:
3518         (AccessibilityRenderObject):
3519         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3520         (-[WebAccessibilityObjectWrapper accessibilityMathLineThickness]):
3521         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3522         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3523         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3524
3525 2013-04-02  Alexandre Elias  <aelias@chromium.org>
3526
3527         Unreviewed, rolling out r147389.
3528         http://trac.webkit.org/changeset/147389
3529         https://bugs.webkit.org/show_bug.cgi?id=113738
3530
3531         r147389 was temporary patch for Chromium branch management, needs
3532         revert.
3533
3534         * platform/ScrollView.cpp:
3535         (WebCore::positionScrollbarLayer):
3536         * rendering/RenderLayerBacking.cpp:
3537         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
3538
3539 2013-04-02  David Vest  <davve@opera.com>
3540
3541         Hang when calling setCurrentTime on SVG with cyclic animation dependency chain
3542         https://bugs.webkit.org/show_bug.cgi?id=113485
3543
3544         Reviewed by Stephen Chenney.
3545
3546         If no exact match can be found, approximateBinarySearch may return
3547         either adjacent value to the key. Selecting the lesser value when
3548         there is a greater one may cause interval creation to fail in a
3549         way that causes infinite loops during seeking. Detect and amend
3550         this condition by selecting the greater value when possible.
3551
3552         Test: svg/animations/animation-dependency-hang.html
3553
3554         * svg/animation/SVGSMILElement.cpp:
3555         (WebCore::SVGSMILElement::findInstanceTime):
3556
3557 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3558
3559         Web Inspector: source location gets frozen after inspector reload
3560         https://bugs.webkit.org/show_bug.cgi?id=113776
3561
3562         Reviewed by Pavel Feldman.
3563
3564         Put statusBarText item in its own container and update its contents in
3565         ScriptsPanel._updateScriptViewStatusBarItems in similar way it's done
3566         for statusBarItems.
3567
3568         No new tests.
3569
3570         * inspector/front-end/ScriptsPanel.js:
3571         (WebInspector.ScriptsPanel):
3572         (WebInspector.ScriptsPanel.prototype.statusBarText):
3573         (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
3574
3575 2013-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3576
3577         Remove unneeded cpp file from CMake build. Rubber-stamp by Alexis Menard.
3578
3579         * CMakeLists.txt: Remove FFTFrameStub.cpp, since adding this file or not
3580         to your build is a platform decision.
3581
3582 2013-04-01  Andrey Kosyakov  <caseq@chromium.org>
3583
3584         Web Inspector: [Timeline] unify logic for 3 overview modes in Timeline
3585         https://bugs.webkit.org/show_bug.cgi?id=113708
3586
3587         Reviewed by Yury Semikhatsky.
3588
3589         - make TimelineOverviewPane logic independent on overview mode;
3590         - show only one of 3 controls at one time;
3591         - attach overview controls to the same parent.
3592
3593         * inspector/front-end/OverviewGrid.js: remove gridElement() and itemsGraphsElement(), no longer needed.
3594         (WebInspector.OverviewGrid):
3595         * inspector/front-end/TimelineOverviewPane.js:
3596         (WebInspector.TimelineOverviewPane):
3597         (WebInspector.TimelineOverviewPane.prototype.setMode):
3598         (WebInspector.TimelineOverviewPane.prototype._innerSetMode):
3599         (WebInspector.TimelineOverviewPane.prototype._createOverviewControl): 
3600         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
3601         (WebInspector.TimelineOverviewPane.prototype._update):
3602         (WebInspector.TimelineOverviewPane.prototype.addFrame):
3603         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
3604         (WebInspector.TimelineOverviewPane.prototype._reset):
3605         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
3606         (WebInspector.TimelineOverviewBase.prototype.update):
3607         (WebInspector.TimelineOverviewBase.prototype.reset):
3608         (WebInspector.TimelineOverviewBase.prototype.categoryVisibilityChanged):
3609         (WebInspector.TimelineOverviewBase.prototype.addFrame):
3610         (WebInspector.TimelineOverviewBase.prototype.getWindowTimes):
3611         (WebInspector.TimelineEventOverview):
3612         (WebInspector.TimelineEventOverview.prototype.categoryVisibilityChanged):
3613         * inspector/front-end/timelinePanel.css:
3614
3615 2013-04-02  Julien Chaffraix  <jchaffraix@webkit.org>
3616
3617         webkit fails IETC grid-column-002
3618         https://bugs.webkit.org/show_bug.cgi?id=83907
3619
3620         Reviewed by Ojan Vafai.
3621
3622         Tests: fast/css-grid-layout/grid-item-column-row-get-set.html
3623                ietestcenter/css3/grid/grid-column-002.htm
3624
3625         * css/CSSParser.cpp:
3626         (WebCore::CSSParser::parseValue):
3627         Don't accept 0 as a valid <integer> position.
3628
3629 2013-04-02  Dmitry Gozman  <dgozman@chromium.org>
3630
3631         Web Inspector: allow referencing of nodes that have not been pushed to the front-end
3632         https://bugs.webkit.org/show_bug.cgi?id=110921
3633
3634         Reviewed by Pavel Feldman.
3635
3636         Nodes not yet pushed to front-end are referenced by BackendNodeId and retained.
3637         One can group nodes when generating BackendNodeIds to release them all together later.
3638
3639         To resolve node references by BackendNodeId, frontend should use new pushNodeByBackendIdToFrontend method.
3640         This will invalidate the generated BackendNodeId.
3641
3642         * inspector/Inspector.json:
3643         * inspector/InspectorDOMAgent.cpp:
3644         (WebCore::InspectorDOMAgent::discardBindings):
3645         (WebCore::InspectorDOMAgent::backendNodeIdForNode):
3646         (WebCore::InspectorDOMAgent::releaseBackendNodeIds):
3647         (WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):
3648         * inspector/InspectorDOMAgent.h:
3649         (WebCore):
3650         (InspectorDOMAgent):
3651
3652 2013-04-02  Andrei Bucur  <abucur@adobe.com>
3653
3654         [CSS Regions] Nested auto-height regions don't layout correctly
3655         https://bugs.webkit.org/show_bug.cgi?id=111969
3656
3657         Reviewed by David Hyatt.
3658
3659         The patch fixes the auto-height regions processing model to work with nested named flows. Currently
3660         this use case doesn't work correctly because the order in which the computed height value is propagated
3661         to the regions is incorrect. For example, in the case of two flows (f1 and f2) and two auto-height
3662         regions (r1 and r2) with r2 a member of f1:
3663         1. the normal layout phase starts
3664         2. r1 is laid out with height = 0
3665         3. f1 is laid out including r2 with height = 0; overrideLogicalHeight for r1 is computed
3666         4. f2 is laid out; overrideLogicalHeight for r2 is computed
3667         5. the constrained layout phase starts
3668         6. r1 is laid out using the overrideLogicalHeight computed in the normal phase
3669         7. f1 is laid out including r2 with its overrideLogicalHeight
3670         8. f2 is laid out
3671
3672         The problem appears at step 6 because the overrideLogicalheight computed during step 3 assumes r2
3673         has a height of 0. The patch changes the algorithm to update the auto-height regions in the reverse
3674         order of their flow threads dependecies. Here is a high level overview of the new algorithm,
3675         considering the named flows are sorted in the order of their dependencies:
3676         1. The flows are laid out from the outer flow to the inner flow. This successfully computes the outer
3677         non-auto-height regions size so the inner flows have the necessary information to correctly fragment
3678         the content.
3679         2. The flows are laid out from the inner flow to the outer flow. After an inner flow is laid out it
3680         goes into the constrained layout phase and marks the auto-height regions they need layout. This
3681         means the outer flows will relayout if they depend on regions with auto-height regions belonging to
3682         inner flows. This step will correctly compute the overrideLogicalHeights for the auto-height regions.
3683         It's possible for non-auto-height regions to relayout if they depend on auto-height regions. This
3684         will invalidate the inner flow threads and mark them as needing layout.
3685         3. The last step is to do one last layout if there are pahtological dependencies between non-auto-height
3686         regions and auto-height regions as detected in the previous step.
3687
3688         The patch also removes the layout phase flag from RenderView and moves it to the flow threads. This
3689         happens because a flow needs to update its auto-height regions overrideLogicalHeight while updating
3690         the logical height of the regions belonging to the inner flows that are laid out by the flow (i.e. the
3691         outer flow is in the normal phase while the inner flows are in the constrained layout phase).
3692
3693         There's also a new flag on the RenderFlowThread that is set when the flow needs the constrained layout
3694         phase. This could have been placed on the flow thread controller but I think it will be useful when doing
3695         content balancing for the new multi-column implementation.
3696
3697         Another change is the moment we clear the overrideLogicalHeight value on empty auto-height regions because
3698         we don't have to relayout a flow thread once it's in the constrained phase. We need to have the correct
3699         flow thread portions correctly computed after the artificial forced break is applied at the end of the content.
3700
3701         Tests: fast/regions/autoheight-mixed-nested-complex-regions.html
3702                fast/regions/autoheight-mixed-nested-regions.html
3703                fast/regions/autoheight-mixed-parallel-regions.html
3704                fast/regions/autoheight-nested-regions.html
3705
3706         * rendering/FlowThreadController.cpp:
3707         (WebCore::FlowThreadController::FlowThreadController):
3708         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
3709         (WebCore):
3710         (WebCore::FlowThreadController::registerNamedFlowContentNode):
3711         (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
3712         (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
3713         (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
3714         (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
3715         (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
3716         (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
3717         * rendering/FlowThreadController.h:
3718         (FlowThreadController):
3719         * rendering/RenderBlock.cpp:
3720         (WebCore::RenderBlock::layoutBlock):
3721         * rendering/RenderFlowThread.cpp:
3722         (WebCore::RenderFlowThread::RenderFlowThread):
3723         (WebCore::RenderFlowThread::validateRegions):
3724         (WebCore::RenderFlowThread::layout):
3725         (WebCore::RenderFlowThread::regionAtBlockOffset):
3726         (WebCore::RenderFlowThread::applyBreakAfterContent): Apply an artificial break at the end of the content.
3727         This way we can detect when the content ends and clear the overrideLogicalHeight on the empty auto-height regions.
3728         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
3729         (WebCore):
3730         (WebCore::RenderFlowThread::initializeRegionsOverrideLogicalContentHeight):
3731         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
3732         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
3733         (WebCore::RenderFlowThread::addForcedRegionBreak):
3734         * rendering/RenderFlowThread.h:
3735         * rendering/RenderRegion.cpp:
3736         (WebCore::RenderRegion::pageLogicalWidth):
3737         (WebCore::RenderRegion::pageLogicalHeight):
3738         (WebCore::RenderRegion::maxPageLogicalHeight):
3739         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
3740         (WebCore::RenderRegion::layoutBlock):
3741         (WebCore::RenderRegion::updateLogicalHeight):
3742         * rendering/RenderView.cpp:
3743         (WebCore::RenderView::RenderView):
3744         (WebCore):
3745         (WebCore::RenderView::layoutContentInAutoLogicalHeightRegions):
3746         (WebCore::RenderView::layout):
3747         * rendering/RenderView.h:
3748         (WebCore):
3749         (RenderView):
3750
3751 2013-04-02  Andrey Kosyakov  <caseq@chromium.org>
3752
3753         Web Inspector: ignore minimum record duration filter in Timeline overview
3754         https://bugs.webkit.org/show_bug.cgi?id=113705
3755
3756         Reviewed by Pavel Feldman.
3757
3758         * inspector/front-end/TimelineOverviewPane.js:
3759         * inspector/front-end/TimelinePanel.js:
3760         (WebInspector.TimelinePanel.prototype._durationFilterChanged):
3761
3762 2013-03-29  Andrey Kosyakov  <caseq@chromium.org>
3763
3764         Web Inspector: display the number of dirty render objects in Layout timeline event
3765         https://bugs.webkit.org/show_bug.cgi?id=95331
3766
3767         Reviewed by Pavel Feldman.
3768
3769         Count the render objects that need layout in InspectorTimelineAgent::willLayout()
3770         and display the number in popover over Layout record in Timeline panel.
3771
3772         * English.lproj/localizedStrings.js:
3773         * inspector/InspectorTimelineAgent.cpp:
3774         (WebCore::InspectorTimelineAgent::willLayout):
3775         (WebCore::InspectorTimelineAgent::didLayout):
3776         * inspector/TimelineRecordFactory.cpp:
3777         (WebCore):
3778         (WebCore::TimelineRecordFactory::createLayoutData):
3779         (WebCore::TimelineRecordFactory::appendLayoutRoot):
3780         * inspector/TimelineRecordFactory.h:
3781         (TimelineRecordFactory):
3782         * inspector/front-end/TimelinePresentationModel.js:
3783         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
3784
3785 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3786
3787         Web Inspector: [CodeMirror] Popover for codemirror
3788         https://bugs.webkit.org/show_bug.cgi?id=113771
3789
3790         Reviewed by Pavel Feldman.
3791
3792         Implement methods TextEditor.cursorPositionToCoordinates, TextEditor.coordinatesToCursorPosition and
3793         TextEditor.tokenAtTextPosition in CodeMirrorTextEditor to support popover
3794         functionality. Add css classes to highlight popover anchoring text.
3795
3796         No new tests.
3797
3798         * inspector/front-end/CodeMirrorTextEditor.js:
3799         (WebInspector.CodeMirrorTextEditor.prototype.cursorPositionToCoordinates):
3800         (WebInspector.CodeMirrorTextEditor.prototype.coordinatesToCursorPosition):
3801         (WebInspector.CodeMirrorTextEditor.prototype.tokenAtTextPosition):
3802         * inspector/front-end/cm/cmdevtools.css:
3803         (.CodeMirror .source-frame-eval-expression):
3804         (.CodeMirror .source-frame-eval-expression-end):
3805         (.CodeMirror .source-frame-eval-expression-start):
3806
3807 2013-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3808
3809         [BlackBerry] Implement ScrollingCoordinator::frameViewLayoutUpdated()
3810         https://bugs.webkit.org/show_bug.cgi?id=113763
3811
3812         Reviewed by Rob Buis.
3813
3814         PR 318945
3815         Internally reviewed by Jakob Petsovits.
3816
3817         And remove the BlackBerry specific methods
3818         frameViewFrameRectDidChange and frameViewContentsSizeDidChange.
3819
3820         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp:
3821         (WebCore::ScrollingCoordinatorBlackBerry::frameViewLayoutUpdated):
3822         Called when the frame view has been laid out. Update the contents
3823         rectangle and visible area of the scroll layer for the given frame
3824         view.
3825         * page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.h:
3826         (ScrollingCoordinatorBlackBerry):
3827         * platform/graphics/blackberry/LayerWebKitThread.h:
3828         (WebCore::LayerWebKitThread::setFrameVisibleRect): Return early if
3829         value hasn't changed.
3830         (WebCore::LayerWebKitThread::setFrameContentsSize): Ditto.
3831
3832 2013-04-02  Andrey Lushnikov  <lushnikov@chromium.org>
3833
3834         Web Inspector: Separate JavaScriptSourceFrame popover from knowledge of editor's DOM
3835         https://bugs.webkit.org/show_bug.cgi?id=113412
3836
3837         Reviewed by Pavel Feldman.
3838
3839         - Use TextEditor.coordinatesToCursorPosition,
3840         TextEditor.cursorPositionToCoordinates and TextEditor.tokenAtTextPosition to figure out
3841         hovering area and create popover anchor.
3842         - Use TextEditor.highlightRange/TextEditor.removeHighlight methods to
3843         highlight hovering text in editor.
3844
3845         No new tests: no change in behaviour.
3846
3847         * inspector/front-end/DefaultTextEditor.js:
3848         * inspector/front-end/JavaScriptSourceFrame.js:
3849         (WebInspector.JavaScriptSourceFrame):
3850         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
3851         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
3852         (WebInspector.JavaScriptSourceFrame.prototype.):
3853         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
3854         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
3855         * inspector/front-end/inspector.css:
3856         (.popover-anchor):
3857         (.source-frame-eval-expression):
3858
3859 2013-04-02  Mihnea Ovidenie  <mihnea@adobe.com>
3860
3861         [CSSRegions] RenderFlowThread should not be created as a Document renderer
3862         https://bugs.webkit.org/show_bug.cgi?id=113658
3863
3864         Reviewed by Julien Chaffraix.
3865
3866         After https://bugs.webkit.org/show_bug.cgi?id=107138, RenderFlowThread should not be constructed as a renderer for Document.
3867         Since it does not have an element associated, it will be constructed using the pattern for anonymous blocks.
3868         However, since I do not want the flow thread to be collapsed as anonymous blocks are, i changed RenderObject::isAnonymousBlock
3869         to return false for a RenderFlowThread (the alternative would have been to patch more call sites to prevent RenderFlowThread
3870         collapsing as anonymous block).
3871
3872         Covered by existing tests.
3873
3874         * rendering/FlowThreadController.cpp:
3875         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
3876         * rendering/RenderFlowThread.cpp:
3877         (WebCore::RenderFlowThread::RenderFlowThread):
3878         * rendering/RenderFlowThread.h:
3879         * rendering/RenderMultiColumnBlock.cpp:
3880         (WebCore::RenderMultiColumnBlock::addChild):
3881         * rendering/RenderMultiColumnFlowThread.cpp:
3882         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
3883         (WebCore::RenderMultiColumnFlowThread::createAnonymous):
3884         * rendering/RenderMultiColumnFlowThread.h:
3885         (RenderMultiColumnFlowThread):
3886         * rendering/RenderNamedFlowThread.cpp:
3887         (WebCore::RenderNamedFlowThread::createAnonymous):
3888         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3889         * rendering/RenderNamedFlowThread.h:
3890         (RenderNamedFlowThread):
3891         * rendering/RenderObject.h:
3892         (WebCore::RenderObject::isAnonymousBlock):
3893
3894 2013-04-02  Shinya Kawanaka  <shinyak@chromium.org>
3895
3896         Unreviewed, rolling out r147383.
3897         http://trac.webkit.org/changeset/147383
3898         https://bugs.webkit.org/show_bug.cgi?id=112369
3899
3900         Speculative rollout because of lots of layout test failure
3901
3902         * html/parser/HTMLDocumentParser.cpp:
3903         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
3904         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
3905         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
3906         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
3907         (WebCore::HTMLDocumentParser::insert):
3908         * html/parser/HTMLParserScheduler.cpp:
3909         (WebCore::PumpSession::PumpSession):
3910         * html/parser/HTMLParserScheduler.h:
3911
3912 2013-04-02  Eugene Klyuchnikov  <eustas@chromium.org>
3913
3914         Web Inspector: [HeapProfiler] Table rows do not appear when resizing.
3915         https://bugs.webkit.org/show_bug.cgi?id=113760
3916
3917         Reviewed by Yury Semikhatsky.
3918
3919         Analysis: custom-made split-view doesn't notify content panes about
3920         resizing.
3921
3922         * inspector/front-end/HeapSnapshotView.js:
3923         (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
3924         Notify content pane about resize.
3925
3926 2013-04-02  Mihnea Ovidenie  <mihnea@adobe.com>
3927
3928         [CSSRegions] Clean-up RenderFlowThread::updateRegionsFlowThreadPortionRect
3929         https://bugs.webkit.org/show_bug.cgi?id=113659
3930
3931         Reviewed by Julien Chaffraix.
3932
3933         RenderRegion::logicalHeightOfAllFlowThreadContent already contains the
3934         override logical content height for auto-height regions in normal layout phase.
3935         Therefore, there is no need to explicitly override region's rect height with
3936         the region's overrideLogicalContentHeight as the region rect already contains
3937         the right value.
3938
3939         No change in functionality, covered by existing tests.
3940
3941         * rendering/RenderFlowThread.cpp:
3942         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
3943         * rendering/RenderRegion.cpp:
3944         (WebCore::RenderRegion::pageLogicalHeight):
3945         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
3946
3947 2013-04-02  Mike West  <mkwst@chromium.org>
3948
3949         X-Frame-Options: Blocked frames should not inherit their parent's SecurityOrigin.
3950         https://bugs.webkit.org/show_bug.cgi?id=112903
3951
3952         Reviewed by Adam Barth.
3953
3954         This change brings WebKit in line with IE and Gecko's behavior, both of
3955         which treat the blocked frame as being cross-origin for the purposes of
3956         access checks ('[frame].contentWindow.location.href' is inaccessible,
3957         for example).
3958
3959         * dom/Document.cpp:
3960         (WebCore::Document::processHttpEquiv):
3961             Rather than redirecting to 'about:blank', redirect to
3962             'data:text/html,<p></p>' which does not inherit the SecurityOrigin
3963             of the parent.
3964         * loader/DocumentLoader.cpp:
3965         (WebCore::DocumentLoader::responseReceived):
3966             Before calling cancelMainResourceLoad, ensure that the frame's
3967             document is sandboxed into a unique origin so that it doesn't
3968             inherit the parent's SecurityOrigin.
3969
3970 2013-04-01  Elliott Sprehn  <esprehn@chromium.org>
3971
3972         RenderObject::offsetParent should return Element*
3973         https://bugs.webkit.org/show_bug.cgi?id=113739
3974
3975         Reviewed by Abhishek Arya.
3976
3977         The offsetParent of a node should always be an Element, ensure this
3978         by fixing RenderObject::offsetParent to return an Element* and clean up
3979         the method to match the algorithm in the spec which lets us remove the
3980         comments that were trying to explain what was going on.
3981
3982         This also hardens against badness where RenderObject::offsetParent
3983         could have returned a renderer with a non-Element node which would result
3984         in a bad cast in Element::offsetParent. We fixed all cases of this, but
3985         this patch makes sure such things never happen again.
3986
3987         No new tests, no change in behavior.
3988
3989         * dom/Element.cpp:
3990         (WebCore::Element::offsetParent):
3991         * rendering/RenderBoxModelObject.cpp:
3992         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
3993         * rendering/RenderObject.cpp:
3994         (WebCore::RenderObject::offsetParent): Now returns Element*.
3995         * rendering/RenderObject.h:
3996         (RenderObject):
3997
3998 2013-04-01  Alpha Lam  <hclam@chromium.org>
3999
4000         Simply GIFImageReader error handling
4001         https://bugs.webkit.org/show_bug.cgi?id=113718
4002
4003         Reviewed by Adam Barth.
4004
4005         When GIFImageReader encounters a parsing error it should just return
4006         without doing any more work. Current code saves a boolean before return,
4007         this is not necessary.
4008
4009         Tested with existing unit tests.
4010         Tested locally with ASAN build with 60k GIF images.
4011
4012         * platform/image-decoders/gif/GIFImageDecoder.cpp:
4013         (WebCore::GIFImageDecoder::repetitionCount):
4014         * platform/image-decoders/gif/GIFImageReader.cpp:
4015         (GIFImageReader::decode):
4016         * platform/image-decoders/gif/GIFImageReader.h:
4017         (GIFImageReader::GIFImageReader):
4018         (GIFImageReader):
4019
4020 2013-04-01  Elliott Sprehn  <esprehn@chromium.org>
4021
4022         Make all v8 weak callbacks type safe
4023         https://bugs.webkit.org/show_bug.cgi?id=111802
4024
4025         Reviewed by Adam Barth.
4026
4027         Make all v8 handle weak callbacks typesafe by adding a new class WeakHandleListner
4028         that uses templates to generate the callback proxies that have the correct type
4029         arguments. Now getting the arguments wrong will fail compilation.
4030
4031         No new tests, no change in behavior.
4032
4033         * bindings/v8/DOMDataStore.h:
4034         (WebCore::::callback):
4035         * bindings/v8/DOMWrapperMap.h:
4036         (WebCore::DOMWrapperMap::DOMWrapperMap):
4037         (WebCore::DOMWrapperMap::set):
4038         (WebCore::DOMWrapperMap::reportMemoryUsage):
4039         (DOMWrapperMap):
4040         * bindings/v8/DOMWrapperWorld.cpp:
4041         (WebCore::::callback):
4042         (WebCore::DOMWrapperWorld::makeContextWeak):
4043         * bindings/v8/ScriptState.cpp:
4044         (WebCore::::callback):