368f9a9179c61ee62ec4d0029424440489175abd
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Another Mac Lion build fix attempt after r148197.
4
5         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
6
7 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
8
9         Unable to paste twice in input field when specific CSS present
10         https://bugs.webkit.org/show_bug.cgi?id=108675
11
12         Reviewed by Ryosuke Niwa.
13
14         When we are pre-rendering text in ReplaceSelectionCommand, we shouldn't care
15         whether the content is clipped by its ancestors or not. This bug was caused
16         by the fact the plainText() method returned an empty string because the text
17         was fully clipped by its ancestors. Make plainText ignore style visibility.
18
19         Test: editing/inserting/insert-text-into-text-field.html
20
21         * editing/ReplaceSelectionCommand.cpp:
22         (WebCore::ReplacementFragment::ReplacementFragment):
23
24 2013-04-11  Martin Robinson  <mrobinson@igalia.com>
25
26         [GTK] Add accelerated 2D canvas support using cairo-gl
27         https://bugs.webkit.org/show_bug.cgi?id=104672
28
29         Reviewed by Alejandro G. Castro.
30
31         No new tests. We do not yet have the ability to run tests against
32         accelerated content.
33
34         * platform/graphics/GraphicsContext.cpp:
35         (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
36         * platform/graphics/ImageBuffer.cpp:
37         (WebCore): Ditto for ImageBuffer::platformLayer.
38         * platform/graphics/cairo/GLContext.h:
39         (GLContext): Added method to get a cairo_device_t from the context.
40         * platform/graphics/cairo/GraphicsContextCairo.cpp:
41         (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
42         * platform/graphics/cairo/ImageBufferCairo.cpp:
43         (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
44         (WebCore::createCairoGLSurface): Added this helper.
45         (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
46         a CairoGL surface.
47         (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
48         contexts yet.
49         (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
50         which provides an builtin implementation.
51         (WebCore::unmapSurfaceFromImage): Ditto.
52         (WebCore::getImageData): Map the surface to an image surface first.
53         (WebCore::ImageBuffer::putByteArray): Ditto.
54         (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
55         TextureMapper infrastructure.
56         (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
57         * platform/graphics/cairo/ImageBufferDataCairo.h:
58         (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
59         * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
60         * platform/graphics/egl/GLContextEGL.h: Ditto.
61         * platform/graphics/glx/GLContextGLX.cpp: Ditto
62         * platform/graphics/glx/GLContextGLX.h: Ditto.
63
64 2013-04-11  Anders Carlsson  <andersca@apple.com>
65
66         Implement removing storage area items
67         https://bugs.webkit.org/show_bug.cgi?id=114472
68
69         Reviewed by Beth Dakin.
70
71         Export StorageMap::removeItem.
72
73         * WebCore.exp.in:
74
75 2013-04-11  Brendan Long  <b.long@cablelabs.com>
76
77         TextTrackList's .onremovetrack is missing from IDL
78         https://bugs.webkit.org/show_bug.cgi?id=103421
79
80         Reviewed by Eric Carlson.
81
82         Fixed test media/track/opera/interfaces/TextTrackList/onremovetrack.html
83
84         * html/track/TextTrackList.cpp:
85         (TextTrackList::remove):
86         (TextTrackList::scheduleRemoveTrackEvent):
87         * html/track/TextTrackList.h:
88         (TextTrackList):
89         * html/track/TextTrackList.idl:
90
91 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
92
93         [BlackBerry] Upstream the filesystem code
94         https://bugs.webkit.org/show_bug.cgi?id=114437
95
96         Reviewed by Rob Buis.
97
98         This patch contains contributions from many members of the
99         BlackBerry WebKit team.
100
101         * platform/blackberry/AsyncFileWriterBlackBerry.cpp: Added.
102         (WebCore):
103         (WebCore::AsyncFileWriterBlackBerry::write):
104         * platform/blackberry/AsyncFileWriterBlackBerry.h: Added.
105         (WTF):
106         (WTF::BlackBerry::Platform::WebFileWriter):
107         (WebCore):
108         * platform/blackberry/DOMFileSystemBlackBerry.cpp: Added.
109         (WebCore):
110         (WebCore::DOMFileSystemBase::createFileSystemURL):
111         (WebCore::DOMFileSystemBase::crackFileSystemURL):
112         (WebCore::DOMFileSystemBase::supportsToURL):
113         (WebCore::DOMFileSystemBase::isValidType):
114         * platform/blackberry/LocalFileSystemBlackBerry.cpp: Added.
115         (WebCore):
116         (WebCore::fileSystemTypeString):
117         (WebCore::openFileSystem):
118         (WebCore::LocalFileSystem::deleteFileSystem):
119         (WebCore::LocalFileSystem::readFileSystem):
120         (WebCore::LocalFileSystem::requestFileSystem):
121         * platform/blackberry/PlatformAsyncFileSystemCallbacks.cpp: Added.
122         (WebCore):
123         (WebCore::PlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
124         (WebCore::PlatformAsyncFileSystemCallbacks::notifySucceed):
125         (WebCore::PlatformAsyncFileSystemCallbacks::notifyFail):
126         (WebCore::getFileMetadata):
127         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadMetadata):
128         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
129         (WebCore::PlatformAsyncFileSystemCallbacks::notifyReadDirectory):
130         (WebCore::PlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
131         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
132         (WebCore::PlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
133         (WebCore::PlatformAsyncFileSystemCallbacks::deleteMe):
134         * platform/blackberry/PlatformAsyncFileSystemCallbacks.h: Added.
135         (WebCore):
136         * platform/blackberry/PlatformBlob.cpp: Added.
137         (WebCore):
138         (WebCore::PlatformBlob::nextDataItem):
139         * platform/blackberry/PlatformBlob.h: Added.
140         (WebCore):
141         * platform/blackberry/PlatformFileWriterClient.cpp: Added.
142         (WebCore):
143         (WebCore::PlatformFileWriterClient::notifyWrite):
144         (WebCore::PlatformFileWriterClient::notifyTruncate):
145         (WebCore::PlatformFileWriterClient::notifyFail):
146         * platform/blackberry/PlatformFileWriterClient.h: Added.
147         (WebCore):
148         (WTF):
149         (WTF::WebCore::PlatformFileWriterClient):
150         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.cpp: Added.
151         (WebCore):
152         (WebCore::WorkerAsyncFileSystemBlackBerry::WorkerAsyncFileSystemBlackBerry):
153         (WebCore::WorkerAsyncFileSystemBlackBerry::~WorkerAsyncFileSystemBlackBerry):
154         (WebCore::WorkerAsyncFileSystemBlackBerry::waitForOperationToComplete):
155         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystemOnMainThread):
156         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystemOnMainThread):
157         (WebCore::WorkerAsyncFileSystemBlackBerry::moveOnMainThread):
158         (WebCore::WorkerAsyncFileSystemBlackBerry::copyOnMainThread):
159         (WebCore::WorkerAsyncFileSystemBlackBerry::removeOnMainThread):
160         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursivelyOnMainThread):
161         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadataOnMainThread):
162         (WebCore::WorkerAsyncFileSystemBlackBerry::createFileOnMainThread):
163         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectoryOnMainThread):
164         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExistsOnMainThread):
165         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExistsOnMainThread):
166         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectoryOnMainThread):
167         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriterOnMainThread):
168         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadataOnMainThread):
169         (WebCore::WorkerAsyncFileSystemBlackBerry::openFileSystem):
170         (WebCore::WorkerAsyncFileSystemBlackBerry::deleteFileSystem):
171         (WebCore::WorkerAsyncFileSystemBlackBerry::move):
172         (WebCore::WorkerAsyncFileSystemBlackBerry::copy):
173         (WebCore::WorkerAsyncFileSystemBlackBerry::remove):
174         (WebCore::WorkerAsyncFileSystemBlackBerry::removeRecursively):
175         (WebCore::WorkerAsyncFileSystemBlackBerry::readMetadata):
176         (WebCore::WorkerAsyncFileSystemBlackBerry::createFile):
177         (WebCore::WorkerAsyncFileSystemBlackBerry::createDirectory):
178         (WebCore::WorkerAsyncFileSystemBlackBerry::fileExists):
179         (WebCore::WorkerAsyncFileSystemBlackBerry::directoryExists):
180         (WebCore::WorkerAsyncFileSystemBlackBerry::readDirectory):
181         (WebCore::WorkerAsyncFileSystemBlackBerry::createWriter):
182         (WebCore::WorkerAsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
183         * platform/blackberry/WorkerAsyncFileSystemBlackBerry.h: Added.
184         (WebCore):
185         (WorkerAsyncFileSystemBlackBerry):
186         (WebCore::WorkerAsyncFileSystemBlackBerry::create):
187         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.cpp: Added.
188         (WebCore):
189         (WebCore::WorkerAsyncFileWriterBlackBerry::writeOnMainThread):
190         (WebCore::WorkerAsyncFileWriterBlackBerry::truncateOnMainThread):
191         (WebCore::WorkerAsyncFileWriterBlackBerry::abortOnMainThread):
192         (WebCore::WorkerAsyncFileWriterBlackBerry::write):
193         (WebCore::WorkerAsyncFileWriterBlackBerry::truncate):
194         (WebCore::WorkerAsyncFileWriterBlackBerry::abort):
195         (WebCore::WorkerAsyncFileWriterBlackBerry::waitForOperationToComplete):
196         (WebCore::WorkerAsyncFileWriterBlackBerry::platformWriterClient):
197         * platform/blackberry/WorkerAsyncFileWriterBlackBerry.h: Added.
198         (WebCore):
199         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: Added.
200         (WebCore):
201         (WebCore::performTaskOnMainThread):
202         (WebCore::postTaskToMainThread):
203         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyStop):
204         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystem):
205         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceed):
206         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFail):
207         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadata):
208         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory):
209         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriter):
210         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileSystem):
211         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::createAsyncFileWriter):
212         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::deleteMe):
213         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::postTaskToWorkerThread):
214         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyOpenFileSystemOnWorkerThread):
215         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifySucceedOnWorkerThread):
216         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyFailOnWorkerThread):
217         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadMetadataOnWorkerThread):
218         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread):
219         (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateFileWriterOnWorkerThread):
220         * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: Added.
221         (WebCore):
222         * platform/blackberry/WorkerPlatformFileWriterClient.cpp: Added.
223         (WebCore):
224         (WebCore::WorkerPlatformFileWriterClient::notifyWriteOnWorkerThread):
225         (WebCore::WorkerPlatformFileWriterClient::notifyFailOnWorkerThread):
226         (WebCore::WorkerPlatformFileWriterClient::notifyTruncateOnWorkerThread):
227         (WebCore::WorkerPlatformFileWriterClient::notifyWrite):
228         (WebCore::WorkerPlatformFileWriterClient::notifyTruncate):
229         (WebCore::WorkerPlatformFileWriterClient::notifyFail):
230         (WebCore::WorkerPlatformFileWriterClient::postTaskToWorkerThreadIfNeeded):
231         * platform/blackberry/WorkerPlatformFileWriterClient.h: Added.
232         (WebCore):
233         (WTF):
234         (WTF::WebCore::WorkerPlatformFileWriterClient):
235
236 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
237
238         Mac Lion build fix attempt after r148197.
239
240         * page/scrolling/mac/ScrollingStateNodeMac.mm:
241
242 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
243
244         <rdar://problem/10416316> [Mac] WebSocket doesn't work with authenticating proxies
245         https://bugs.webkit.org/show_bug.cgi?id=114464
246
247         Reviewed by Brady Eidson.
248
249         * platform/mac/WebCoreSystemInterface.h:
250         * platform/mac/WebCoreSystemInterface.mm:
251         Updated for new wkCopyCONNECTProxyResponse signature.
252
253         * platform/network/cf/SocketStreamHandleCFNet.cpp:
254         (WebCore::SocketStreamHandle::executePACFileURL): Fixed a typo in a comment.
255         (WebCore::SocketStreamHandle::addCONNECTCredentials): Don't crash even if the rest
256         of the fix didn't work (which would be the case on some OS versions).
257         (WebCore::SocketStreamHandle::readStreamCallback): Replaced most breaks with returns,
258         because breaks were confusing in such a huge switch. Changed null proxyResponse
259         to not be treated as authentication success, because it's not. Merged two parts
260         of WaitingForConnect state handling for clarity.
261         (WebCore::SocketStreamHandle::writeStreamCallback): Don't blindly assume that we
262         can start WebSocket handshake after kCFStreamEventCanAcceptBytes. Perhaps it's
263         nothing but a failed CONNECT, and a read callback still needs to send authentication.
264         Without this, establishing connections was flaky. Added a check for Closed state,
265         matching read callback.
266
267 2013-04-11  Sukolsak Sakshuwong  <sukolsak@gmail.com>
268
269         MutationRecord is not exposed
270         https://bugs.webkit.org/show_bug.cgi?id=114288
271
272         Reviewed by Darin Adler.
273
274         Expose MutationRecord on DOMWindow. This patch is copied from a patch
275         by Adam Klein. https://codereview.chromium.org/13861028
276
277         Test: fast/dom/MutationObserver/mutation-record-constructor.html
278
279         * page/DOMWindow.idl:
280
281 2013-04-11  Beth Dakin  <bdakin@apple.com>
282
283         Cannot scroll to footer on a page with overflow:hidden on the body
284         https://bugs.webkit.org/show_bug.cgi?id=114462
285         -and corresponding-
286         <rdar://problem/13530042>
287
288         Reviewed by Simon Fraser.
289
290         Add a new scenario in which we want to overrideHidden -- whenever we are the 
291         mainFrame and there is a header or footer.
292
293         * page/FrameView.cpp:
294         (WebCore::FrameView::applyOverflowToViewport):
295
296 2013-04-11  Commit Queue  <rniwa@webkit.org>
297
298         Unreviewed, rolling out r148034, r148052, r148097, and
299         r148194.
300         http://trac.webkit.org/changeset/148034
301         http://trac.webkit.org/changeset/148052
302         http://trac.webkit.org/changeset/148097
303         http://trac.webkit.org/changeset/148194
304         https://bugs.webkit.org/show_bug.cgi?id=114463
305
306         broke mutiresolution favicons, among other things (Requested
307         by thorton on #webkit).
308
309         * loader/icon/IconDatabase.cpp:
310         (WebCore::IconDatabase::setIconDataForIconURL):
311         * loader/icon/IconDatabase.h:
312         (IconDatabase):
313         * loader/icon/IconDatabaseBase.h:
314         * loader/icon/IconRecord.cpp:
315         * loader/icon/IconRecord.h:
316         (IconRecord):
317
318 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
319
320         [GTK][AC] Implement GraphicsLayerClutter::moveOrCopyAnimations
321         https://bugs.webkit.org/show_bug.cgi?id=114019
322
323         Reviewed by Gustavo Noronha Silva.
324
325         Fill moveOrCopyAnimations that is based on Mac port implementation.
326
327         Tests: animations/3d/change-transform-in-end-event.html
328                animations/3d/transform-origin-vs-functions.html
329                compositing/animation/state-at-end-event-transform-layer.html
330
331         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
332         (WebCore::GraphicsLayerClutter::moveOrCopyLayerAnimation):
333         (WebCore):
334         (WebCore::GraphicsLayerClutter::moveOrCopyAnimations):
335         * platform/graphics/clutter/GraphicsLayerClutter.h:
336
337 2013-04-11  Anders Carlsson  <andersca@apple.com>
338
339         Implement StorageManager::getValues
340         https://bugs.webkit.org/show_bug.cgi?id=114461
341
342         Reviewed by Beth Dakin.
343
344         Expose the item hash map.
345
346         * storage/StorageMap.h:
347         (WebCore::StorageMap::items):
348
349 2013-04-11  Eli Fidler  <efidler@blackberry.com>
350
351         [BlackBerry] Use the platform list of languages with fonts instead of hardcoding
352         https://bugs.webkit.org/show_bug.cgi?id=114452
353
354         Reviewed by Rob Buis.
355
356         BlackBerry PR 325244
357         Internally reviewed by Jeff Rogers
358
359         No functional change, but platform font changes won't need a WebKit change
360         going forward.
361
362         * page/blackberry/SettingsBlackBerry.cpp:
363         (WebCore::Settings::initializeDefaultFontFamilies):
364
365 2013-04-11  Dirk Schulze  <krit@webkit.org>
366
367         [CSS Shaders] Parse parameters descriptor
368         https://bugs.webkit.org/show_bug.cgi?id=114455
369
370         Reviewed by Dean Jackson.
371
372         Add support for the 'parameters' descriptor in the filter at-rule to support
373         parameterization of CSS Shaders.
374
375         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters
376
377         Tests: css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
378                css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html
379
380         * css/CSSComputedStyleDeclaration.cpp:
381         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
382         * css/CSSParser.cpp: Added 'parameters' property and fail parsing if not inside
383             of an @filter rule.
384         (WebCore::CSSParser::parseValue):
385         (WebCore::CSSParser::parseFilterRuleParameters): New helper function to verify
386             values.
387         (WebCore):
388         * css/CSSParser.h:
389         * css/CSSProperty.cpp:
390         (WebCore::CSSProperty::isInheritedProperty):
391         * css/CSSPropertyNames.in: Added new property name 'parameters'.
392         * css/StyleResolver.cpp:
393         (WebCore::StyleResolver::applyProperty):
394
395 2013-04-11  Arunprasad Rajkumar  <arunprasadr@nds.com>
396
397         Default Implementation of toString for NPObject shouldn't return NPClass & NPObject address as String
398         https://bugs.webkit.org/show_bug.cgi?id=114450
399
400         Reviewed by Anders Carlsson.
401
402         * bridge/c/c_instance.cpp:
403         (JSC::Bindings::CInstance::stringValue):
404
405 2013-04-11  Robert Hogan  <robert@webkit.org>
406
407         REGRESSION (142152): ensure we skip past out-of-flow objects when detecting whitespace to ignore after leading empty inlines
408         https://bugs.webkit.org/show_bug.cgi?id=114311
409
410         Reviewed by Emil A Eklund.
411
412         When we hit an empty inline in line layout and try to detect whether it has any whitespace after it that we ought to ignore, then
413         we need to skip past out-of-flow and floating objects when looking for that whitespace. Failure to do so will result in us
414         adding the width from the first space we encounter to our line width and over-estimating the real width of the line.
415
416         We're hitting this bug now because we have broadened the category of empty inlines that get lineboxes so we go into line layout 
417         and have to deal with them and their subsequent whitespace there. Previously this sort of whitespace would have been simply
418         consumed by |skipLeadingWhitespace|.
419
420         Test: fast/inline/out-of-flow-objects-and-whitespace-after-empty-inline.html
421
422         * rendering/RenderBlockLineLayout.cpp:
423         (WebCore::shouldSkipWhitespaceAfterStartObject):
424
425 2013-04-11  Ryosuke Niwa  <rniwa@webkit.org>
426
427         Autocorrected text doesn't have a marker of type autocorrected
428         https://bugs.webkit.org/show_bug.cgi?id=114337
429
430         Reviewed by Darin Adler.
431
432         The bug was caused by markAndReplaceFor's text replacement errornously assuming that there are
433         no other text checking result starting at the same offset. That resulted in us adjusting location
434         offsets of the subsequent results pointing at the replaced text, hit an assertion, and blow up.
435
436         Fixed the bug by skipping all remaining results for the replaced text since they're no longer
437         applicable.
438
439         Tests: Existing autocorection tests have been updated to assert new behavior.
440
441         * editing/Editor.cpp:
442         (WebCore::Editor::markAndReplaceFor):
443
444 2013-04-11  Michelangelo De Simone  <michelangelo@webkit.org>
445
446         [CSS Shaders] Parse the geometry descriptor
447         https://bugs.webkit.org/show_bug.cgi?id=110815
448
449         Added initial parsing for the "geometry" descriptor, as per specification:
450         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#geometry
451         This descriptor allows to specify the mesh geometry for custom filters.
452
453         Reviewed by Dirk Schulze.
454
455         Tests: css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html
456                css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html
457
458         * css/CSSComputedStyleDeclaration.cpp:
459         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
460         * css/CSSParser.cpp:
461         (WebCore::CSSParser::parseValue):
462         (WebCore::CSSParser::parseGeometry): New method that parses the geometry
463         descriptor (grid()).
464         (WebCore):
465         * css/CSSParser.h:
466         * css/CSSProperty.cpp:
467         (WebCore::CSSProperty::isInheritedProperty):
468         * css/CSSPropertyNames.in: Added conditional "geometry" property.
469         * css/CSSValueKeywords.in: Added conditional "attached" value keyword; detached
470         was already there.
471
472 2013-04-11  Anders Carlsson  <andersca@apple.com>
473
474         Make StorageAreaMap dispatch session storage events
475         https://bugs.webkit.org/show_bug.cgi?id=114454
476
477         Reviewed by Beth Dakin.
478
479         Export storage symbols and headers needed by WebKit2.
480
481         * WebCore.exp.in:
482         * WebCore.xcodeproj/project.pbxproj:
483
484 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
485
486         handleMouseMoveEvent should let hit-testing hit-test scrollbars
487         https://bugs.webkit.org/show_bug.cgi?id=114430
488
489         Reviewed by Antonio Gomes.
490
491         Allow hit-testing to hit-test frame scrollbars so handleMouseMoveEvent
492         does not have to do it itself.
493
494         * page/EventHandler.cpp:
495         (WebCore::EventHandler::handleMouseMoveEvent):
496
497 2013-04-11  Brian Holt  <brian.holt@samsung.com>
498
499         [Gtk] Combo boxes should be arrow-out-of-able similar to list boxes when caret-browsing is enabled.
500         https://bugs.webkit.org/show_bug.cgi?id=76796
501
502         Reviewed by Chris Fleizach.
503
504         When using caret-browsing with the right and left arrows, the
505         behaviour of menuLists should be the same as listBoxes. This means
506         not default-handling the event and passing it up the stack instead.
507
508         * html/HTMLSelectElement.cpp:
509         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
510
511 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
512
513         Remove some ResourceHandle.h includes
514         https://bugs.webkit.org/show_bug.cgi?id=114416
515
516         Reviewed by Ryosuke Niwa.
517
518         * loader/CrossOriginAccessControl.h:
519         * loader/CrossOriginPreflightResultCache.h:
520         These files don't need ResourceHandle.h, just ResourceHandleTypes.h.
521
522         * loader/TextTrackLoader.cpp:
523         * loader/ThreadableLoader.h:
524         * loader/appcache/ApplicationCacheGroup.h:
525         * loader/cache/MemoryCache.h:
526         * loader/mac/ResourceLoaderMac.mm:
527         * page/Settings.cpp:
528         * platform/network/AuthenticationChallengeBase.cpp:
529         * platform/network/cf/CookieJarCFNet.cpp:
530         * platform/network/cf/ResourceRequestCFNet.cpp:
531         * xml/XSLTProcessorLibxslt.cpp:
532         * xml/parser/XMLDocumentParser.cpp:
533         * xml/parser/XMLDocumentParserLibxml2.cpp:
534         Just straightforward removal of includes.
535
536 2013-04-04  Allan Sandfeld Jensen  <allan.jensen@digia.com>
537
538         Use CSS4 image-rendering to determing image scaling quality
539         https://bugs.webkit.org/show_bug.cgi?id=113405
540
541         Reviewed by Simon Fraser.
542
543         Implement the new CSS4 image-rendering property values.
544
545         Image scaling now uses low-quality (pixelated) scaling for
546         crisp-edges, pixelated and optimizeSpeed values, and always
547         use high quality (smooth) scaling for -webkit-smooth and
548         optimizeQuality. The latter can be used to disable low quality
549         scaling during CSS animations or live resizing.
550
551         The new values are protected with a new CSS4_IMAGES feature, but
552         the crisp-edge value has been introduced before to displace the
553         deprecated -webkit-optimize-contrast value, and optimizeSpeed
554         and optimizeQuality values are supported for SVG compatibility.
555
556         * css/CSSParser.cpp:
557         (WebCore::isValidKeywordPropertyAndValue):
558         * css/CSSPrimitiveValueMappings.h:
559         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
560         (WebCore::CSSPrimitiveValue::operator EImageRendering):
561         * css/CSSValueKeywords.in:
562         * rendering/RenderBoxModelObject.cpp:
563         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
564         * rendering/RenderHTMLCanvas.cpp:
565         (WebCore::RenderHTMLCanvas::paintReplaced):
566         * rendering/style/RenderStyleConstants.h:
567
568 2013-04-11  Adenilson Cavalcanti  <cavalcantii@gmail.com>
569
570         Build fix: use of uninitialized variable in ScrollingStateTree
571         https://bugs.webkit.org/show_bug.cgi?id=114443
572
573         Reviewed by Anders Carlsson.
574
575         Initialize pointer to zero before use, fixes build.
576         No new tests, no changes on behavior.
577
578         * page/scrolling/ScrollingStateTree.cpp:
579         (WebCore::ScrollingStateTree::attachNode):
580
581 2013-04-11  Dirk Schulze  <krit@webkit.org>
582
583         [CSS Shaders] Parse mix descriptor
584         https://bugs.webkit.org/show_bug.cgi?id=114414
585
586         Reviewed by Antti Koivisto.
587
588         Add support for the 'mix' descriptor in the filter at-rule to support blend modes
589         and composite operators in CSS Shaders.
590         Each pixel in the fragment shader will be blended and composited with the
591         backdrop by taking these values into account.
592
593         https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-mix
594
595         Tests: css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
596                css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html
597
598         * css/CSSComputedStyleDeclaration.cpp:
599         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
600         * css/CSSParser.cpp: Added 'mix' property and fail parsing if not inside
601             of an @filter rule.
602         (WebCore::CSSParser::parseValue):
603         (WebCore::CSSParser::parseFilterRuleMix): New helper function to verify
604             values.
605         (WebCore):
606         * css/CSSParser.h:
607         * css/CSSProperty.cpp:
608         (WebCore::CSSProperty::isInheritedProperty):
609         * css/CSSPropertyNames.in: Added new property name 'mix'.
610         * css/StyleResolver.cpp:
611         (WebCore::StyleResolver::applyProperty):
612
613 2013-04-11  Zalan Bujtas  <zalan@apple.com>
614
615         Parent box with background-size auto and gradient image does not get properly repainted when child box is resized. 
616         https://bugs.webkit.org/show_bug.cgi?id=114424
617
618         Reviewed by Antti Koivisto.
619         
620         Initiate full repaint on fill layer, when the image is generated and the background
621         property defines auto size.
622         http://www.w3.org/TR/css3-background/#background-size
623         'If the image has neither an intrinsic width nor an intrinsic height, its size is determined as for 'contain'.'
624
625         Extended fast/repaint/background-shorthand-with-gradient-and-height-changes.html
626         to cover this case too.
627
628         * rendering/RenderObject.cpp:
629         (WebCore::mustRepaintFillLayers):
630
631 2013-04-11  ChangSeok Oh  <changseok.oh@collabora.com>
632
633         [GTK][AC] use a smart pointer for GList and ClutterCanvas
634         https://bugs.webkit.org/show_bug.cgi?id=114057
635
636         Reviewed by Gustavo Noronha Silva.
637
638         We can make simple code & prevent possible memory leak by using a proper smart pointer.
639         Especially if we get children by clutter_actor_get_children, we should free it after using.
640
641         No functionality changed.
642
643         * platform/graphics/clutter/GraphicsLayerActor.cpp:
644         (graphicsLayerActorUpdateTexture):
645         (graphicsLayerActorRemoveAll):
646
647 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
648
649         [BlackBerry][CSS Filters] Blur filter fails to recompute blur size when layer size changes
650         https://bugs.webkit.org/show_bug.cgi?id=114272
651
652         Reviewed by Rob Buis.
653
654         Blur appeared blocky or pixelated when surface changed size after
655         creating the filter actions. The initial image size was used to
656         determine the blur size (expressed in texture coordinate system).
657         Fixed by recomputing the blur size when the surface size changes, using
658         a new Uniform1f subclass that can use a functor to compute the uniform
659         value per-frame.
660
661         This fixes css3/filters/effect-blur-hw.html. This can only be verified
662         by manual inspection because the BlackBerry port is not currently using
663         pixel tests.
664
665         PR 323730
666
667         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
668         (WebCore):
669         (SurfaceFunctor):
670         (WebCore::SurfaceFunctor::SurfaceFunctor):
671         (InverseSurfaceWidth):
672         (WebCore::InverseSurfaceWidth::InverseSurfaceWidth):
673         (WebCore::InverseSurfaceWidth::operator()):
674         (InverseSurfaceHeight):
675         (WebCore::InverseSurfaceHeight::InverseSurfaceHeight):
676         (WebCore::LayerFilterRenderer::actionsForOperations):
677         * platform/graphics/blackberry/LayerFilterRenderer.h:
678         (Uniform1f):
679         (WebCore):
680         (Uniform1fWithFunctor):
681         (WebCore::Uniform1fWithFunctor::create):
682         (WebCore::Uniform1fWithFunctor::Uniform1fWithFunctor):
683         (WebCore::Uniform1fWithFunctor::apply):
684         (WebCore::Uniform1f::createWithFunctor):
685
686 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
687
688         [BlackBerry] Accelerated compositing debug rectangle incorrectly drawn for layers with surfaces
689         https://bugs.webkit.org/show_bug.cgi?id=114275
690
691         Reviewed by Carlos Garcia Campos.
692
693         The drawDebugBorder method was updated to mirror the logic in
694         compositeLayersRecursive, i.e. if we're compositing a surface to the
695         screen, use the transformed bounds stored in the surface. The bounds
696         stored in the layer should only be used when drawing the layer to the
697         surface.
698
699         Speaking of which, also update the code to skip border drawing when
700         drawing a layer to a surface. Drawing the borders inside the surface
701         would only result in messing up the surface contents, especially when
702         CSS filters like blur were the reason for having a surface in the first
703         place - the border would be blurred and hard to discern.
704
705         Only manually testable, the debug border is disabled during layout
706         tests.
707
708         PR 323746
709
710         * platform/graphics/blackberry/LayerRenderer.cpp:
711         (WebCore::LayerRenderer::drawDebugBorder):
712         * platform/graphics/blackberry/LayerRendererSurface.cpp:
713         (WebCore::LayerRendererSurface::drawRect):
714         (WebCore::LayerRendererSurface::transformedBounds): Added.
715         (WebCore):
716         * platform/graphics/blackberry/LayerRendererSurface.h:
717         (LayerRendererSurface):
718
719 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
720
721         [BlackBerry] Compiler warning in LayerWebKitThread.cpp
722         https://bugs.webkit.org/show_bug.cgi?id=114277
723
724         Reviewed by Carlos Garcia Campos.
725
726         All the relevant WTF::Vector APIs use size_t, storing the position in
727         an int resulted in a compiler warning. Fixed by switching to size_t.
728
729         No change in behavior, no new tests.
730
731         PR 323753
732
733         * platform/graphics/blackberry/LayerWebKitThread.cpp:
734         (WebCore::LayerWebKitThread::remove):
735         (WebCore::LayerWebKitThread::replaceSublayer):
736
737 2013-04-11  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
738
739         [CoordinatedGraphics] Use ScrollingStateTree to handle fixed elements positioning while scrolling
740         https://bugs.webkit.org/show_bug.cgi?id=114353
741
742         Reviewed by Noam Rosenthal.
743         
744         ScrollingCoordinatorCoordinatedGraphics should implement threaded scrolling interface and
745         re-use threaded scrolling approach (ScrollingStateTree and ViewportConstraints) to handle
746         fixed/sticky elements positioning while scrolling. The rationals are below.
747
748         Before the change ScrollingCoordinatorCoordinatedGraphics was implementing Chromium-specific
749         interface which is going to be removed eventually as there is no ScrollingCoordinatorChromium
750         existing.
751
752         Tested by existing manual tests (fixed-position.html for example.
753
754         * CMakeLists.txt:
755         * Target.pri:
756             Included ScrollingStateTree files.
757
758         * page/scrolling/ScrollingStateFixedNode.cpp:
759         * page/scrolling/ScrollingStateFixedNode.h:
760         * page/scrolling/ScrollingStateNode.cpp:
761         * page/scrolling/ScrollingStateNode.h:
762         * page/scrolling/ScrollingStateScrollingNode.cpp:
763         * page/scrolling/ScrollingStateScrollingNode.h:
764         * page/scrolling/ScrollingStateStickyNode.cpp:
765         * page/scrolling/ScrollingStateStickyNode.h:
766         * page/scrolling/ScrollingStateTree.cpp:
767         * page/scrolling/ScrollingStateTree.h:
768             Removed ENABLE(THREADED_SCROLLING) code guards.
769
770         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
771         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
772         (WebCore::ScrollingCoordinatorCoordinatedGraphics::~ScrollingCoordinatorCoordinatedGraphics):
773         (WebCore):
774         (WebCore::ScrollingCoordinatorCoordinatedGraphics::attachToStateTree):
775         (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
776         (WebCore::ScrollingCoordinatorCoordinatedGraphics::clearStateTree):
777         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
778         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
779             ScrollingCoordinatorCoordinatedGraphics is using threaded scrolling approach to handle fixed
780             elements positioning while scrolling.
781
782         (WebCore):
783         (ScrollingCoordinatorCoordinatedGraphics):
784         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp: Added.
785         (WebCore):
786         (WebCore::ScrollingStateNode::platformScrollLayer):
787         (WebCore::ScrollingStateNode::setScrollPlatformLayer):
788         (WebCore::ScrollingStateNode::setScrollLayer):
789         * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp: Added.
790         (WebCore):
791         (WebCore::ScrollingStateScrollingNode::counterScrollingPlatformLayer):
792         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
793
794 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
795
796         [Qt] EventHandler should handle Space and BackSpace 
797         https://bugs.webkit.org/show_bug.cgi?id=114428
798
799         Reviewed by Jocelyn Turcotte.
800
801         Enable default space-handling for Qt.
802
803         * page/EventHandler.cpp:
804
805 2013-04-11  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
806
807         IconDatabase: Simplify boolean logic in assertion.
808         https://bugs.webkit.org/show_bug.cgi?id=114425
809
810         Reviewed by Andreas Kling.
811
812         Follow-up to r148097; drop the overzealous use of !! to turn a
813         PassRefPtr into a boolean.
814
815         * loader/icon/IconDatabase.cpp:
816         (WebCore::IconDatabase::updateIconRecord):
817
818 2013-04-11  Arvid Nilsson  <anilsson@rim.com>
819
820         [BlackBerry] LayerTexture refactoring
821         https://bugs.webkit.org/show_bug.cgi?id=114276
822
823         Reviewed by Carlos Garcia Campos.
824
825         Remove the GpuHandle and HostType typedefs from LayerTexture, they
826         don't make any sense now that we removed the Skia code paths. With Skia
827         they used to be an OpenGL texture ID and an SkBitmap respectively, but
828         now it's just BlackBerry::Platform::Graphics::Buffer all around.
829
830         This allows us to rename textureId() into buffer() which is more to the
831         point. The texture ID concept is now up for grabs and can be used to
832         consolidate all the various code for extracting an OpenGL texture from
833         a BlackBerry::Platform::Graphics::Buffer. This opportunity is seized in
834         LayerTexture::platformTexture(), a name which makes more sense than
835         textureId() for anyone familiar with the GraphicsContext3D code. We can
836         also leverage the Platform3DObject typedef to avoid including gl2.h.
837
838         The vertex attribute state was getting trampled when interacting with
839         BlackBerry::Platform::Graphics in the LayerFilterRenderer. Some
840         additional GL state save/restore incantations when accessing the OpenGL
841         texture for a LayerTexture in the new LayerTexture::platformTexture()
842         method fixes various CSS Filters test cases.
843
844         Since we removed the Skia integration from LayerTiler, nobody cares
845         about the dirty rect, tile rect or opaqueness of the tile contents. So
846         remove those parameters from the updateContents code path.
847
848         No change in behavior except for fixing CSS Filters tests like
849         css3/filters/effect-blur-hw.html. This can only be verified by manually
850         looking at the tests, we don't have pixel test support to catch this
851         kind of regression.
852
853         PR 322882
854
855         * platform/graphics/blackberry/LayerCompositingThread.cpp:
856         (WebCore::LayerCompositingThread::drawSurface):
857         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
858         (WebCore::LayerFilterRenderer::ping):
859         (WebCore::LayerFilterRenderer::pong):
860         (WebCore::LayerFilterRenderer::pushSnapshot):
861         (WebCore::LayerFilterRenderer::popSnapshot):
862         (WebCore::LayerFilterRenderer::applyActions):
863         * platform/graphics/blackberry/LayerRenderer.cpp:
864         (WebCore::LayerRenderer::useSurface):
865         * platform/graphics/blackberry/LayerTexture.cpp:
866         (WebCore::LayerTexture::LayerTexture):
867         (WebCore::LayerTexture::updateContents):
868         (WebCore::LayerTexture::setContentsToColor):
869         (WebCore::LayerTexture::protect):
870         (WebCore::LayerTexture::platformTexture):
871         (WebCore):
872         * platform/graphics/blackberry/LayerTexture.h:
873         (WebCore::LayerTexture::isDirty):
874         (WebCore::LayerTexture::buffer):
875         (LayerTexture):
876         (WebCore::LayerTexture::setBuffer):
877         * platform/graphics/blackberry/LayerTile.cpp:
878         (WebCore::LayerTile::setContents):
879         (WebCore::LayerTile::updateContents):
880         * platform/graphics/blackberry/LayerTile.h:
881         (WebCore::LayerTile::hasTexture):
882         (LayerTile):
883         * platform/graphics/blackberry/LayerTiler.cpp:
884         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
885         (WebCore::LayerTiler::uploadTexturesIfNeeded):
886         (WebCore::LayerTiler::performTileJob):
887         (WebCore::LayerTiler::drawTile):
888         * platform/graphics/blackberry/LayerTiler.h:
889         (WebCore::LayerTiler::TextureJob::TextureJob):
890         (WebCore::LayerTiler::TextureJob::setContents):
891         (WebCore::LayerTiler::TextureJob::updateContents):
892         (TextureJob):
893         (LayerTiler):
894         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
895         (WebCore::TextureCacheCompositingThread::createBuffer):
896         (WebCore::TextureCacheCompositingThread::collectGarbage):
897         (WebCore::TextureCacheCompositingThread::install):
898         (WebCore::TextureCacheCompositingThread::resizeTexture):
899         (WebCore::TextureCacheCompositingThread::evict):
900         (WebCore::TextureCacheCompositingThread::textureForContents):
901         (WebCore::TextureCacheCompositingThread::updateContents):
902         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
903         (TextureCacheCompositingThread):
904         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
905         (ZombieTexture):
906
907 2013-04-11  Alberto Garcia  <agarcia@igalia.com>
908
909         [BlackBerry] RenderThemeBlackBerry: upstream missing code
910         https://bugs.webkit.org/show_bug.cgi?id=114343
911
912         Reviewed by Xan Lopez.
913
914         Add implementations of sliderTickSize() and
915         sliderTickOffsetFromTrackCenter(), as well as a missing header.
916
917         * platform/blackberry/RenderThemeBlackBerry.cpp:
918         (WebCore):
919         (WebCore::RenderThemeBlackBerry::sliderTickSize):
920         (WebCore::RenderThemeBlackBerry::sliderTickOffsetFromTrackCenter):
921         * platform/blackberry/RenderThemeBlackBerry.h:
922         (RenderThemeBlackBerry):
923
924 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
925
926         HitTestRequest::AllowFrameScrollbars does not test main frame scrollbar
927         https://bugs.webkit.org/show_bug.cgi?id=112563
928
929         Reviewed by Antonio Gomes.
930
931         Move the frame scrollbar testing from RenderPart to RenderView, so that it is
932         tested by all frame and not just child frames. At the same time remove the 
933         main frame test from the one current callsite using the option.
934
935         Tested by fast/events/touch/gesture/gesture-scrollbar.html.
936
937         * page/EventHandler.cpp:
938         (WebCore::EventHandler::handleGestureEvent):
939         * rendering/RenderPart.cpp:
940         (WebCore::RenderPart::nodeAtPoint):
941         * rendering/RenderView.cpp:
942         (WebCore::RenderView::hitTest):
943
944 2013-04-11  Rune Lillesveen  <rune@opera.com>
945
946         Incorrect evaluation of resolution media queries
947         https://bugs.webkit.org/show_bug.cgi?id=114029
948
949         Reviewed by Kenneth Rohde Christiansen.
950
951         The implementation used the physical resolution to evaluate the
952         resolution media features. Changed to use the actual CSS resolution,
953         also known as the device-pixel-ratio, instead. Unified the code for
954         evaluating the resolution and device-pixel-ratio media features.
955
956         No new tests, covered by existing tests.
957
958         * WebCore.exp.in:
959         * css/CSSPrimitiveValue.h:
960         (WebCore::CSSPrimitiveValue::isResolution):
961         * css/MediaQueryEvaluator.cpp:
962         (WebCore::evalResolution):
963         (WebCore::device_pixel_ratioMediaFeatureEval):
964         (WebCore::resolutionMediaFeatureEval):
965         * page/Screen.cpp:
966         * page/Screen.h:
967         * page/Settings.cpp:
968         (WebCore):
969         * page/Settings.h:
970         (Settings):
971         * testing/InternalSettings.cpp:
972         (WebCore::InternalSettings::Backup::Backup):
973         (WebCore::InternalSettings::Backup::restoreTo):
974         * testing/InternalSettings.h:
975         (Backup):
976         (InternalSettings):
977         * testing/InternalSettings.idl:
978
979 2013-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
980
981         FrameLoaderClient::assignIdentifierToInitialRequest() not called for the main resource when loaded from the memory cache
982         https://bugs.webkit.org/show_bug.cgi?id=112418
983
984         Reviewed by Darin Adler.
985
986         When the main resource is loaded from the memory cache the
987         response is not added to the ResponseVector of the document
988         loader, so that when committing the provisional load the remaining
989         delegate messages are not called because the ResponseVector of the
990         document loader is empty. When the main resource is loaded from
991         the memory cache, there's no resource loader, and the client is
992         notified about the response received using
993         ResourceLoadNotifier::dispatchDidReceiveResponse() directly
994         instead of ResourceLoadNotifier::didReceiveResponse() which is the
995         one adding the response to the ResponseVector of the document
996         loader. So, the problem can be fixed by adding the response to the
997         ResponseVector before calling dispatchDidReceiveResponse() when
998         loading the main resource without a resource loade
999
1000         Test: loader/go-back-cached-main-resource.html
1001
1002         * loader/DocumentLoader.cpp:
1003         (WebCore::DocumentLoader::responseReceived):
1004
1005 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
1006
1007         Remove some includes of CachedImage.h
1008         https://bugs.webkit.org/show_bug.cgi?id=114411
1009
1010         Reviewed by Dan Bernstein.
1011
1012         * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
1013         definition of a class it holds, but default construction does not.
1014
1015         * rendering/RenderImageResource.cpp:
1016         * rendering/RenderImageResource.h:
1017         Moved definitions of virtual functions to a .cpp file. There is no win from having
1018         them inline, and now we don't need CachedImage.h in the header.
1019
1020         * bindings/js/JSNodeCustom.cpp:
1021         * dom/Clipboard.cpp:
1022         (WebCore::Clipboard::Clipboard):
1023         * platform/mac/ClipboardMac.h:
1024         * rendering/InlineFlowBox.cpp:
1025         * rendering/RenderBox.cpp:
1026         * rendering/RenderListItem.cpp:
1027         * rendering/RenderListMarker.cpp:
1028         * rendering/RenderTableCol.cpp:
1029         * rendering/RenderTableRow.cpp:
1030         * rendering/RenderTableSection.cpp:
1031         * svg/graphics/SVGImageCache.cpp:
1032         Removed unnecessary includes.
1033
1034         * platform/mac/PasteboardMac.mm:
1035         * rendering/RenderSnapshottedPlugIn.cpp:
1036         Added ones where they are now necessary.
1037
1038 2013-04-10  No'am Rosenthal  <noam@webkit.org>
1039
1040         Allow direct compositing of background images
1041         https://bugs.webkit.org/show_bug.cgi?id=108203
1042
1043         Reviewed by Simon Fraser.
1044
1045         Use setContentsToImage for background images, if the GraphicsLayer has only a background
1046         bitmap image and nothing else. Compute the contentsRect/contentsTileRect from the box model.
1047         Added new properties to GraphicsLayer, contentsTilePhase and contentsTileSize, which controls the "single tile rect",
1048         which allows us to compute the pattern-space transform of a tile, thus allowing background-size
1049         and other characteristics of background images.
1050
1051         This feature is explicitly disabled when there is any composition with a background color or if
1052         there are several background images, as in that case having a single backing store has some
1053         advantages over directly compositing in hardware.
1054
1055         Currently, this feature is disabled for all ports, allowing ports to implement their backend
1056         and decide when to enable it.
1057
1058         Note that RenderBoxModelObject::getGeometryForBackgroundImage crops the contents rect to the 
1059         area that contains the tiles, which allows us to assume full tiling in GraphicsLayer.
1060         In this way contentsTileSize/Phase is equivalent to GraphicsContext::drawTiledImage.
1061
1062         Tests: compositing/patterns/direct-pattern-compositing-add-text.html
1063                compositing/patterns/direct-pattern-compositing-change.html
1064                compositing/patterns/direct-pattern-compositing-contain.html
1065                compositing/patterns/direct-pattern-compositing-cover.html
1066                compositing/patterns/direct-pattern-compositing-load.html
1067                compositing/patterns/direct-pattern-compositing-padding.html
1068                compositing/patterns/direct-pattern-compositing-position.html
1069                compositing/patterns/direct-pattern-compositing-rotation.html
1070                compositing/patterns/direct-pattern-compositing-size.html
1071                compositing/patterns/direct-pattern-compositing.html
1072
1073         * platform/graphics/GraphicsLayer.h:
1074         (GraphicsLayer):
1075         (WebCore::GraphicsLayer::setContentsTileSize):
1076         (WebCore::GraphicsLayer::setContentsTilePhase):
1077         (WebCore::GraphicsLayer::contentsTileSize):
1078         (WebCore::GraphicsLayer::contentsTilePhase):
1079         (WebCore::GraphicsLayer::supportsContentsTiling):
1080                 Add a contentsTileRect property that enables tile-repeat of background images.
1081
1082         * rendering/RenderBox.cpp:
1083         (WebCore::RenderBox::imageChanged):
1084                 Pass background image changes to the layer backing.
1085
1086         * rendering/RenderBoxModelObject.cpp:
1087         * rendering/RenderBoxModelObject.h:
1088         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1089                 Expose a function that performs the geometry calculations needed to determine 
1090                 the tileRect for a background image. This function is also responsible
1091                 for cropping the contentsRect to fit the area that is drawn into.
1092
1093         * rendering/RenderLayerBacking.h:
1094         * rendering/RenderLayerBacking.cpp:
1095         (WebCore::RenderLayerBacking::contentChanged):
1096         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1097         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1098         (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
1099         (WebCore::RenderLayerBacking::resetContentsRect):
1100         (WebCore::hasBoxDecorationsOrBackgroundImage):
1101         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
1102         (WebCore::canCreateTiledImage):
1103         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
1104         (WebCore::backgroundRectForBox):
1105                 Allow background images to be directly composited if conditions allow (see bug description).
1106
1107 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1108
1109         Replace ENABLE_LEGACY_WEB_AUDIO preprocessor statements in IDL files with Conditional attribute
1110         https://bugs.webkit.org/show_bug.cgi?id=114351
1111
1112         Reviewed by Ryosuke Niwa.
1113
1114         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1115
1116         * Modules/webaudio/AudioBufferSourceNode.idl:
1117         * Modules/webaudio/AudioContext.idl:
1118         * Modules/webaudio/AudioParam.idl:
1119         * Modules/webaudio/OscillatorNode.idl:
1120
1121 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1122
1123         Replace ENABLE_DIRECTORY_UPLOAD preprocessor statements in IDL files with Conditional attribute
1124         https://bugs.webkit.org/show_bug.cgi?id=114350
1125
1126         Reviewed by Ryosuke Niwa.
1127
1128         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1129
1130         * fileapi/File.idl:
1131
1132 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
1133
1134         Cleanup local variables in Editor::markAndReplaceFor
1135         https://bugs.webkit.org/show_bug.cgi?id=114383
1136
1137         Reviewed by Enrica Casucci.
1138
1139         Added resultEndLocation, which is the sum of resultLocation and resultLength.
1140
1141         Also replaced ambiguousBoundaryOffset by useAmbiguousBoundaryOffset since the ambiguous offset is always
1142         selectionOffset -1 to avoid the extra house keeping and obnoxious -1 check.
1143
1144         * editing/Editor.cpp:
1145         (WebCore::Editor::markAndReplaceFor):
1146
1147 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
1148
1149         Mass remove all the empty directories
1150
1151         Rubberstamped by Ryosuke Niwa.
1152
1153         * Modules/intents: Removed.
1154         * Modules/protocolhandler: Removed.
1155         * Modules/speech/mac: Removed.
1156         * accessibility/efl: Removed.
1157         * accessibility/gtk: Removed.
1158         * bridge/jni/jsc: Removed.
1159         * editing/android: Removed.
1160         * editing/gtk: Removed.
1161         * history/android: Removed.
1162         * page/android: Removed.
1163         * platform/android: Removed.
1164         * platform/clutter: Removed.
1165         * platform/graphics/blackberry/skia: Removed.
1166         * platform/graphics/harfbuzz/ng: Removed.
1167         * platform/graphics/pango: Removed.
1168         * platform/image-decoders/cg: Removed.
1169         * platform/image-decoders/qt: Removed.
1170         * platform/network/android: Removed.
1171         * platform/network/soup/cache/webkit: Removed.
1172         * platform/text/android: Removed.
1173         * platform/text/wince: Removed.
1174         * platform/track: Removed.
1175
1176 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
1177
1178         Log when the animation timer fires
1179         https://bugs.webkit.org/show_bug.cgi?id=114393
1180
1181         Reviewed by Dean Jackson.
1182
1183         Logging to the Animations log channel when the updateAnimationTimer
1184         fires is useful, because it indicates whether we're running
1185         software animations.
1186
1187         * page/animation/AnimationController.cpp:
1188         (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1189
1190 2013-04-10  Beth Dakin  <bdakin@apple.com>
1191
1192         Inspector highlights are offset when the WKView has a header
1193         https://bugs.webkit.org/show_bug.cgi?id=114389
1194         -and corresponding-
1195         <rdar://problem/13522434>
1196
1197         Reviewed by Sam Weinig.
1198
1199         rootViewToContents() and contentsToRootView() need to factor in the 
1200         headerHeight(), much like windowToContents() and contentsToWindow() do already. 
1201         * platform/ScrollView.cpp:
1202         (WebCore::ScrollView::rootViewToContents):
1203         (WebCore::ScrollView::contentsToRootView):
1204
1205 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
1206
1207         Flesh out the Animations logging
1208         https://bugs.webkit.org/show_bug.cgi?id=114388
1209
1210         Reviewed by Dean Jackson.
1211
1212         Log state changes and transition/animation creation and destruction
1213         to the Animations log channel.
1214
1215         * page/animation/AnimationBase.cpp:
1216         (WebCore::nameForState):
1217         (WebCore::AnimationBase::updateStateMachine):
1218         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
1219         (WebCore::AnimationBase::goIntoEndingOrLoopingState):
1220         (WebCore::AnimationBase::freezeAtTime):
1221         * page/animation/CompositeAnimation.cpp:
1222         (WebCore::CompositeAnimation::updateTransitions):
1223         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1224         * page/animation/KeyframeAnimation.h:
1225         (WebCore::KeyframeAnimation::keyframes):
1226         (KeyframeAnimation):
1227
1228 2013-04-10  Alexey Proskuryakov  <ap@apple.com>
1229
1230         <rdar://problem/13047266> External XML entities are not loaded with modern libxml2
1231         https://bugs.webkit.org/show_bug.cgi?id=114377
1232
1233         Reviewed by Darin Adler.
1234
1235         Covered by http/tests/security/xss-DENIED-xml-external-entity.xhtml when using
1236         new enough libxml2.
1237
1238         * xml/parser/XMLDocumentParserLibxml2.cpp:
1239         (WebCore::switchToUTF16): Added a FIXME with an idea for improvement.
1240         (WebCore::XMLParserContext::createStringParser): Apply XML_PARSE_NOENT in a non-hacky
1241         way, so that the new libxml2 check doesn't fail.
1242         (WebCore::XMLParserContext::createMemoryParser): Updated an unhelpful and incorrect
1243         comment (XML_PARSE_NODICT actually means "Do not reuse the context dictionary").
1244
1245 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
1246
1247         [Mac] in-band tracks sometimes not recognized
1248         https://bugs.webkit.org/show_bug.cgi?id=114380
1249
1250         Reviewed by Jer Noble.
1251
1252         No new tests, covered by existing in-band tests.
1253
1254         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1255         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't call selectMediaOption,
1256             availableMediaCharacteristicsWithMediaSelectionOptions is unlikely to be loaded at this time.
1257         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Disable automatic text track
1258             selection.
1259         (WebCore::assetMetadataKeyNames): Watch for the status of availableMediaCharacteristicsWithMediaSelectionOptions
1260             to change.
1261
1262 2013-04-10  Hans Muller  <hmuller@adobe.com>
1263
1264         [CSS Exclusions] Zoom causes shape-inside to fail when shape-padding is specified
1265         https://bugs.webkit.org/show_bug.cgi?id=113730
1266
1267         Reviewed by Dirk Schulze.
1268
1269         Snap computed margin and polygon boundaries to the LayoutUnit grid to ensure
1270         that they fall within the shape's LayoutUnit bounding box.
1271
1272         Test: fast/exclusions/shape-inside/shape-inside-polygon-zoom.html
1273
1274         * rendering/ExclusionPolygon.cpp:
1275         (WebCore::snapVerticesToLayoutUnitGrid): Convert the FloatPoint coordinates to LayoutUnits and then back to floats.
1276         (WebCore::computeShapePaddingBounds): Now calls snapVerticesToLayoutUnitGrid() before creating a FloatPolygon.
1277         (WebCore::computeShapeMarginBounds): Ditto.
1278
1279 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
1280
1281         One more unreviewed buildfix after r148123.
1282
1283         * platform/graphics/filters/CustomFilterMeshGenerator.h:
1284
1285 2013-04-10  Beth Dakin  <bdakin@apple.com>
1286
1287         FindBanner matches are offset when the WKView has a header or footer
1288         https://bugs.webkit.org/show_bug.cgi?id=114314
1289         -and corresponding-
1290         <rdar://problem/13522434>
1291
1292         Reviewed by Simon Fraser.
1293
1294         There were already a few places in the code where we needed to adjust the 
1295         scrollOffset() to pretend that (0,0) is that the top of the Document rather than 
1296         the top of the header. To fix the FindBanner issues, we need to know that version 
1297         of the offset in a few more places, so I added a function on ScrollView to fetch 
1298         it called scrollOffsetRelativeToDocument().
1299
1300         New function subtracts out the headerHeight() to treat the top of 
1301         the document as (0,0).
1302         * WebCore.exp.in:
1303         * platform/ScrollView.cpp:
1304         (WebCore::ScrollView::scrollOffsetRelativeToDocument):
1305
1306         Use scrollOffsetRelativeToDocument() where we were previously making this 
1307         calculation. Also re-name an inaccurately named variable where we are actually 
1308         converting FROM a document offset to a ScrollableArea offset.
1309         (WebCore::ScrollView::windowToContents):
1310         * platform/ScrollView.h:
1311         (ScrollView):
1312
1313         getRectToExpose needs to know about the actual visibleContentRect and the 
1314         visibleContentRect that is relative to the Document. So this 
1315         patch adds a new parameter to getRectToExpose for that purpose.
1316         * rendering/RenderLayer.cpp:
1317         (WebCore::RenderLayer::scrollRectToVisible):
1318         (WebCore::RenderLayer::getRectToExpose):
1319         * rendering/RenderLayer.h:
1320
1321 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
1322
1323         when ARIA button contains a link, label text is ignored (affects main buttons on m.facebook.com)
1324         https://bugs.webkit.org/show_bug.cgi?id=113906
1325
1326         Reviewed by Tim Horton.
1327
1328         If an element does not expose any children, then it's safe to include all of its sub children when determining
1329         the visible text.
1330         The bug is that all elements were ignoring focusable elements (like <a>) when determining visible children text
1331
1332         Test: accessibility/link-inside-button-accessible-text.html
1333
1334         * accessibility/AccessibilityNodeObject.cpp:
1335         (WebCore::shouldUseAccessiblityObjectInnerText):
1336         * accessibility/AccessibilityNodeObject.h:
1337         (AccessibilityNodeObject):
1338         * accessibility/AccessibilityObject.h:
1339         (WebCore::AccessibilityObject::isDescendantOfBarrenParent):
1340         (AccessibilityObject):
1341
1342 2013-04-10  Chris Fleizach  <cfleizach@apple.com>
1343
1344         AX: Make sure all AX methods called from outside call prepareAccessibility
1345         https://bugs.webkit.org/show_bug.cgi?id=113818
1346
1347         Reviewed by Darin Adler.
1348
1349         Make sure any calls that can be made from outside WebCore are protected with the
1350         prepareAccessibility method.
1351
1352         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1353         (-[WebAccessibilityObjectWrapper accessibilityMathRootIndexObject]):
1354         (-[WebAccessibilityObjectWrapper accessibilityMathRadicandObject]):
1355         (-[WebAccessibilityObjectWrapper accessibilityMathNumeratorObject]):
1356         (-[WebAccessibilityObjectWrapper accessibilityMathDenominatorObject]):
1357         (-[WebAccessibilityObjectWrapper accessibilityMathBaseObject]):
1358         (-[WebAccessibilityObjectWrapper accessibilityMathSubscriptObject]):
1359         (-[WebAccessibilityObjectWrapper accessibilityMathSuperscriptObject]):
1360         (-[WebAccessibilityObjectWrapper accessibilityMathUnderObject]):
1361         (-[WebAccessibilityObjectWrapper accessibilityMathOverObject]):
1362         (-[WebAccessibilityObjectWrapper accessibilityMathFencedOpenString]):
1363         (-[WebAccessibilityObjectWrapper accessibilityMathFencedCloseString]):
1364         (-[WebAccessibilityObjectWrapper accessibilityIsMathTopObject]):
1365         (-[WebAccessibilityObjectWrapper accessibilityMathType]):
1366
1367 2013-04-10  Csaba Osztrogonác  <ossy@webkit.org>
1368
1369         Unreviewed buildfix after r148123.
1370
1371         * inspector/InspectorInstrumentation.h:
1372         (WebCore):
1373
1374 2013-04-10  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1375
1376         Clicking on the volume slider of HTML5 elements is pausing sometimes
1377         https://bugs.webkit.org/show_bug.cgi?id=112548
1378
1379         Reviewed by Eric Carlson.
1380
1381         Test: media/click-volume-bar-not-pausing.html
1382
1383         * html/shadow/MediaControlElementTypes.cpp:
1384         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1385         Calling the setDefaultHandled() method on the event prevents it
1386         from being incorrectly propagated from the volume button up to the
1387         MediaDocument.
1388
1389 2013-04-10  Arvid Nilsson  <anilsson@rim.com>
1390
1391         [BlackBerry] Rename BlackBerry specific Texture class
1392         https://bugs.webkit.org/show_bug.cgi?id=95781
1393
1394         Reviewed by Rob Buis.
1395
1396         Texture was a bit too generic and prone to name conflicts. Renamed it
1397         to LayerTexture.
1398
1399         No change in behavior, no new tests.
1400
1401         PR 322882
1402
1403         * PlatformBlackBerry.cmake:
1404         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1405         (WebCore::LayerCompositingThread::drawSurface):
1406         (WebCore::LayerCompositingThread::contentsTexture):
1407         * platform/graphics/blackberry/LayerCompositingThread.h:
1408         (LayerCompositingThread):
1409         * platform/graphics/blackberry/LayerCompositingThreadClient.h:
1410         (WebCore):
1411         (WebCore::LayerCompositingThreadClient::contentsTexture):
1412         * platform/graphics/blackberry/LayerFilterRenderer.cpp:
1413         (WebCore::LayerFilterRenderer::applyActions):
1414         * platform/graphics/blackberry/LayerFilterRenderer.h:
1415         (LayerFilterRenderer):
1416         * platform/graphics/blackberry/LayerRendererSurface.h:
1417         (WebCore::LayerRendererSurface::texture):
1418         (LayerRendererSurface):
1419         * platform/graphics/blackberry/LayerTexture.cpp: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.cpp.
1420         (WebCore):
1421         (WebCore::LayerTexture::LayerTexture):
1422         (WebCore::LayerTexture::~LayerTexture):
1423         (WebCore::LayerTexture::updateContents):
1424         (WebCore::LayerTexture::setContentsToColor):
1425         (WebCore::LayerTexture::protect):
1426         * platform/graphics/blackberry/LayerTexture.h: Renamed from Source/WebCore/platform/graphics/blackberry/Texture.h.
1427         (WebCore):
1428         (LayerTexture):
1429         (WebCore::LayerTexture::create):
1430         (WebCore::LayerTexture::textureId):
1431         (WebCore::LayerTexture::isDirty):
1432         (WebCore::LayerTexture::hasTexture):
1433         (WebCore::LayerTexture::isColor):
1434         (WebCore::LayerTexture::isOpaque):
1435         (WebCore::LayerTexture::isProtected):
1436         (WebCore::LayerTexture::protect):
1437         (WebCore::LayerTexture::unprotect):
1438         (WebCore::LayerTexture::size):
1439         (WebCore::LayerTexture::width):
1440         (WebCore::LayerTexture::height):
1441         (WebCore::LayerTexture::bytesPerPixel):
1442         (WebCore::LayerTexture::sizeInBytes):
1443         (WebCore::LayerTexture::setTextureId):
1444         (WebCore::LayerTexture::setSize):
1445         * platform/graphics/blackberry/LayerTile.cpp:
1446         (WebCore::LayerTile::setContents):
1447         (WebCore::LayerTile::updateContents):
1448         (WebCore::LayerTile::setTexture):
1449         * platform/graphics/blackberry/LayerTile.h:
1450         (WebCore::LayerTile::texture):
1451         (LayerTile):
1452         * platform/graphics/blackberry/LayerTiler.cpp:
1453         (WebCore::LayerTiler::drawTile):
1454         (WebCore::LayerTiler::contentsTexture):
1455         * platform/graphics/blackberry/LayerTiler.h:
1456         (LayerTiler):
1457         (WebCore::LayerTiler::TextureJob::TextureJob):
1458         (WebCore::LayerTiler::TextureJob::setContents):
1459         (WebCore::LayerTiler::TextureJob::updateContents):
1460         (TextureJob):
1461         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
1462         (WebCore::TextureProtector::TextureProtector):
1463         (TextureProtector):
1464         (WebCore::TextureCacheCompositingThread::allocateTextureId):
1465         (WebCore::freeTextureId):
1466         (WebCore::TextureCacheCompositingThread::textureResized):
1467         (WebCore::TextureCacheCompositingThread::textureSizeInBytesChanged):
1468         (WebCore::TextureCacheCompositingThread::textureDestroyed):
1469         (WebCore::TextureCacheCompositingThread::install):
1470         (WebCore::TextureCacheCompositingThread::resizeTexture):
1471         (WebCore::TextureCacheCompositingThread::evict):
1472         (WebCore::TextureCacheCompositingThread::textureAccessed):
1473         (WebCore::TextureCacheCompositingThread::prune):
1474         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
1475         (WebCore::TextureCacheCompositingThread::textureForColor):
1476         (WebCore::TextureCacheCompositingThread::updateContents):
1477         * platform/graphics/blackberry/TextureCacheCompositingThread.h:
1478         (WebCore::TextureCacheCompositingThread::createTexture):
1479         (TextureCacheCompositingThread):
1480         (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
1481         (ZombieTexture):
1482
1483 2013-04-10  Andreas Kling  <akling@apple.com>
1484
1485         Disallow programmatic movement of the browser window while user gestures are in progress.
1486         <http://webkit.org/b/114271>
1487         <rdar://problem/13226530>
1488
1489         Reviewed by Oliver Hunt.
1490
1491         * page/DOMWindow.cpp:
1492         (WebCore::DOMWindow::moveBy):
1493         (WebCore::DOMWindow::moveTo):
1494         (WebCore::DOMWindow::resizeBy):
1495         (WebCore::DOMWindow::resizeTo):
1496
1497 2013-04-10  Ryosuke Niwa  <rniwa@webkit.org>
1498
1499         Refactor Editor::markAndReplaceFor before fixing autocorrection bugs
1500         https://bugs.webkit.org/show_bug.cgi?id=114344
1501
1502         Reviewed by Enrica Casucci.
1503
1504         This patch refactors Editor::markAndReplaceFor so that we can start fixing bugs in a sane state.
1505         Extracted isAutomaticTextReplacementType and correctSpellcheckingPreservingTextCheckingParagraph,
1506         and made convenience local variables const.
1507
1508         In particular, shouldMarkSpelling used to be assigned of false when shouldShowCorrectionPanel was true
1509         in a middle of a function but this was removed in favor of explicitly checking this condition later
1510         since shouldMarkSpelling was only referenced once after the assignment.
1511
1512         * editing/Editor.cpp:
1513         (WebCore::isAutomaticTextReplacementType): Extracted.
1514
1515         (WebCore::correctSpellcheckingPreservingTextCheckingParagraph): Extracted.  Used highestAncestor
1516         and rangeFromLocationAndLength to match the rest of the up-to-date editing code.
1517
1518         (WebCore::Editor::markAndReplaceFor): See above.
1519
1520 2013-04-08  Anders Carlsson  <andersca@apple.com>
1521
1522         Remove unneeded headers from FrameLoader.h
1523         https://bugs.webkit.org/show_bug.cgi?id=114223
1524
1525         Reviewed by Geoffrey Garen.
1526
1527         Remove unneeded headers from FrameLoader.h and add them back into the respective .cpp files where needed.
1528
1529         * dom/Document.cpp:
1530         * history/CachedFrame.cpp:
1531         * history/PageCache.cpp:
1532         * inspector/InspectorResourceAgent.cpp:
1533         * loader/DocumentLoader.cpp:
1534         * loader/FrameLoader.cpp:
1535         (WebCore::FrameLoader::FrameLoader):
1536         (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):
1537         * loader/FrameLoader.h:
1538         (WebCore):
1539         (WebCore::FrameLoader::policyChecker):
1540         (WebCore::FrameLoader::history):
1541         (WebCore::FrameLoader::icon):
1542         * loader/MixedContentChecker.h:
1543         * loader/icon/IconLoader.cpp:
1544         * page/History.cpp:
1545         * page/Page.cpp:
1546         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1547         * testing/Internals.cpp:
1548
1549 2013-04-10  Simon Fraser  <simon.fraser@apple.com>
1550
1551         Minor code cleanup in AnimationBase::progress
1552         https://bugs.webkit.org/show_bug.cgi?id=114371
1553
1554         Reviewed by Dean Jackson.
1555
1556         Convert some "return; else if" to just "return; if".
1557
1558         * page/animation/AnimationBase.cpp:
1559         (WebCore::AnimationBase::progress):
1560
1561 2013-04-10  Robert Hogan  <robert@webkit.org>
1562
1563         Empty inline continuations should only get lineboxes if the padding applies to their side of the inline
1564         https://bugs.webkit.org/show_bug.cgi?id=113896
1565
1566         Reviewed by David Hyatt.
1567
1568         Test: fast/inline/inline-with-empty-inline-continuations.html
1569
1570         Where an empty inline is split across anonymous blocks we should only give lineboxes to the 'sides' of the
1571         inline that have borders, padding or margin.
1572
1573         * rendering/RenderBlockLineLayout.cpp:
1574         (WebCore::shouldApplyStartBorderPaddingOrMargin):
1575         (WebCore):
1576         (WebCore::shouldApplyEndBorderPaddingOrMargin):
1577         (WebCore::hasInlineDirectionBordersPaddingOrMargin):
1578         (WebCore::alwaysRequiresLineBox):
1579
1580 2013-04-10  Zoltan Horvath  <zoltan@webkit.org>
1581
1582         [CSS Exclusions] Increasing padding does not correctly layout child blocks
1583         https://bugs.webkit.org/show_bug.cgi?id=112929
1584
1585         Reviewed by David Hyatt.
1586
1587         If a child block has changed dimension inside a shape and it has affected the block siblings
1588         we need to relayout the content inside the shape.
1589
1590         Test: fast/exclusions/shape-inside/shape-inside-sibling-block-dimension-change-needs-relayout.html
1591
1592         * rendering/RenderBlock.cpp:
1593         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Add condition for dimension change.
1594         (WebCore::RenderBlock::layoutBlock): Call updateRegionsAndExclusionsAfterChildLayout with the new parameter.
1595         * rendering/RenderBlock.h:
1596         (RenderBlock): Add extra parameter to updateRegionsAndExclusionsAfterChildLayout(...)
1597
1598 2013-04-10  Geoffrey Garen  <ggaren@apple.com>
1599
1600         Removed bitrotted TimeoutChecker code
1601         https://bugs.webkit.org/show_bug.cgi?id=114336
1602
1603         Reviewed by Alexey Proskuryakov.
1604
1605         This mechanism hasn't worked for a while.
1606
1607         MarkL is working on a new version of this feature with a distinct
1608         implementation.
1609
1610         * bindings/js/JSCallbackData.cpp:
1611         (WebCore::JSCallbackData::invokeCallback):
1612         * bindings/js/JSCustomXPathNSResolver.cpp:
1613         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1614         * bindings/js/JSDOMWindowBase.cpp:
1615         (WebCore::JSDOMWindowBase::commonJSGlobalData):
1616         * bindings/js/JSErrorHandler.cpp:
1617         (WebCore::JSErrorHandler::handleEvent):
1618         * bindings/js/JSEventListener.cpp:
1619         (WebCore::JSEventListener::handleEvent):
1620         * bindings/js/JSMutationCallback.cpp:
1621         (WebCore::JSMutationCallback::call):
1622         * bindings/js/ScheduledAction.cpp:
1623         (WebCore::ScheduledAction::executeFunctionInContext):
1624         * bindings/js/ScriptController.cpp:
1625         (WebCore::ScriptController::evaluateInWorld):
1626         * bindings/js/SerializedScriptValue.cpp:
1627         (WebCore::CloneBase::CloneBase):
1628         (WebCore::CloneSerializer::serialize):
1629         (WebCore::CloneDeserializer::deserialize):
1630         * bindings/js/WorkerScriptController.cpp:
1631         (WebCore::WorkerScriptController::evaluate):
1632         * bindings/objc/WebScriptObject.mm:
1633         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1634         (-[WebScriptObject evaluateWebScript:]):
1635
1636 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1637
1638         Replace ENABLE_JAVASCRIPT_DEBUGGER preprocessor statements in IDL files with Conditional attribute
1639         https://bugs.webkit.org/show_bug.cgi?id=114352
1640
1641         Reviewed by Timothy Hatcher.
1642
1643         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1644
1645         * page/Console.idl:
1646
1647 2013-04-10  Alexandru Chiculita  <achicu@adobe.com>
1648
1649         Layers with opacity and blur filters are reported as opaque to the compositor
1650         https://bugs.webkit.org/show_bug.cgi?id=114295
1651
1652         Reviewed by Simon Fraser.
1653
1654         Test: compositing/contents-opaque/filter.html
1655
1656         Some filters like opacity and blur might still trigger transparency in the layer, even though the
1657         background is opaque. I've added the special case in RenderLayer::backgroundIsKnownToBeOpaqueInRect to check
1658         for filters that might have transparency. Note that this special case is required only for software drawn
1659         filters, as the transparency is going to be backed in the GraphicsLayer content. Composited filters can
1660         figure it out in the compositor.
1661
1662         * rendering/RenderLayer.cpp:
1663         (WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
1664
1665 2013-04-10  Noam Rosenthal  <noam@webkit.org>
1666
1667         [Texmap] In certain situations nested blending with overflow:hidden displays clipped results
1668         https://bugs.webkit.org/show_bug.cgi?id=114290
1669
1670         Reviewed by Allan Sandfeld Jensen.
1671
1672         Always apply the clip when binding a surface, even if it hasn't changed.
1673         Otherwise when binding a nested surface and rebinding its container surface,
1674         the clip wouldn't apply.
1675
1676         Test: compositing/overlap-blending/nested-overlap-overflow.html
1677
1678         * platform/graphics/texmap/TextureMapperGL.cpp:
1679         (WebCore::BitmapTextureGL::bind):
1680
1681 2013-04-10  Antti Koivisto  <antti@apple.com>
1682
1683         Use minimal tiles during live resize
1684         https://bugs.webkit.org/show_bug.cgi?id=114364
1685
1686         Reviewed by Darin Adler.
1687
1688         We currently update non-visible speculative tiles during resizing. We should just drop them.
1689
1690         * page/FrameView.cpp:
1691         (WebCore::FrameView::willStartLiveResize):
1692         (WebCore::FrameView::willEndLiveResize):
1693         * page/FrameView.h:
1694         * rendering/RenderLayerBacking.cpp:
1695         (WebCore::computeTileCoverage):
1696         
1697             Use minimal coverage in live resize state.
1698
1699 2013-04-10  Victor Costan  <costan@gmail.com>
1700
1701         Blob content type normalization.
1702         https://bugs.webkit.org/show_bug.cgi?id=111380
1703
1704         Reviewed by Alexey Proskuryakov.
1705
1706         Tests: http/tests/fast/files/blob-constructor.js
1707                http/tests/fileapi/xhr-send-form-data-filename-escaping.html
1708                http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html
1709
1710         * WebCore.exp.in: exported Blob::isNormalizedContentType()
1711         * bindings/js/JSBlobCustom.cpp:
1712         (WebCore::JSBlobConstructor::constructJSBlob): remove checks on Blob type, BlobBuilder will normalize it
1713         * fileapi/Blob.cpp:
1714         (BlobType): utilities for normalizing a Blob's type according to the File API spec
1715         (WebCore::BlobType::isValid): content type validity checks in the File API spec
1716         (WebCore::BlobType::normalize): implements the normalization rules in the File API spec
1717         (WebCore::BlobType::isNormalized): useful for ASSERTing that a Blob type has been normalized
1718         (WebCore): implement Blob type normalization according to the File API spec
1719         (WebCore::Blob::Blob): normalize the Blob type in the data URL
1720         (WebCore::Blob::slice): normalize the Blob type argument
1721         * fileapi/Blob.h:
1722         (BlobType): utilities for normalizing a Blob's type according to the File API spec
1723         (WebCore::Blob::create): assert that the deserialized Blob's type was normalized
1724         * fileapi/File.cpp:
1725         (WebCore::createBlobDataForFileWithType): assert that the File's MIME type is a normalized Blob type
1726         * fileapi/WebKitBlobBuilder.cpp:
1727         (WebCore::BlobBuilder::getBlob): normalize the Blob's type before building it
1728         * platform/network/BlobData.h:
1729         (WebCore::BlobData::setContentType): assert that the Blob type has been normalized
1730         * platform/network/FormData.cpp:
1731         (WebCore::FormData::appendKeyValuePairItems): assert that Blob's type has been normalized
1732         * platform/network/FormDataBuilder.cpp:
1733         (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): assert that the Content-Type field is normalized
1734         * xml/XMLHttpRequest.cpp: when responseType is blob, normalize Content-Type before passing to Blob constructor
1735
1736 2013-04-10  Tim Horton  <timothy_horton@apple.com>
1737
1738         TileController doesn't remove tiles when the view is resized, leading to stale content
1739         https://bugs.webkit.org/show_bug.cgi?id=114323
1740         <rdar://problem/13520671>
1741
1742         Reviewed by Simon Fraser.
1743
1744         Ensure that tiles are removed if the view shrinks, so that they are not displayed
1745         with stale content if the view later grows again (they will not be repainted by WebCore
1746         while out-of-view).
1747
1748         * platform/graphics/ca/mac/TileController.h:
1749         * platform/graphics/ca/mac/TileController.mm:
1750         (WebCore::TileController::revalidateTiles):
1751
1752 2013-04-10  Jessie Berlin  <jberlin@apple.com>
1753
1754         Update the localizable strings file.
1755
1756         Rubber-stamped by Dan Bernstein.
1757
1758         * English.lproj/Localizable.strings:
1759
1760 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1761
1762         Replace ENABLE_CHANNEL_MESSAGING preprocessor statements in IDL files with Conditional attribute
1763         https://bugs.webkit.org/show_bug.cgi?id=114346
1764
1765         Reviewed by Geoffrey Garen.
1766
1767         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1768
1769         * page/DOMWindow.idl:
1770         * workers/WorkerContext.idl:
1771
1772 2013-04-10  Eric Carlson  <eric.carlson@apple.com>
1773
1774         Update all float attributes in HTMLMediaElement to double
1775         https://bugs.webkit.org/show_bug.cgi?id=113615
1776
1777         Reviewed by Geoffrey Garen
1778         Patch by Aaron Colwell
1779
1780         No new tests. Primary behavior doesn't change. Just time, playbackRate, and volume precision.
1781         All existing LayoutTests/media tests still pass.
1782
1783         * WebCore.exp.in: Remove function that no longer need to be exported.
1784
1785         * html/HTMLMediaElement.cpp: Change all float attributes to double.
1786         * html/HTMLMediaElement.h: Ditto.
1787         * html/HTMLMediaElement.idl: Ditto.
1788         * html/MediaController.cpp: Ditto.
1789         * html/MediaController.h: Ditto.
1790         * html/MediaControllerInterface.h: Ditto.
1791         * html/TimeRanges.cpp: Ditto.
1792         * html/TimeRanges.idl: Ditto.
1793         * html/shadow/MediaControlElementTypes.cpp: Ditto.
1794         * html/shadow/MediaControlElementTypes.h: Ditto.
1795         * html/shadow/MediaControlElements.cpp: Ditto.
1796         * html/shadow/MediaControlElements.h: Ditto.
1797         * html/shadow/MediaControls.cpp: Ditto.
1798         * html/shadow/MediaControlsApple.cpp: Ditto.
1799         * html/shadow/MediaControlsBlackBerry.cpp: Ditto.
1800         * html/shadow/MediaControlsBlackBerry.h: Ditto.
1801         * html/shadow/MediaControlsGtk.cpp: Ditto.
1802         * html/track/TextTrackCue.cpp: Ditto.
1803         * html/track/TextTrackCue.h: Ditto.
1804         * platform/Clock.h: Ditto.
1805         * platform/ClockGeneric.cpp: Ditto.
1806         * platform/ClockGeneric.h: Ditto.
1807         * platform/graphics/MediaPlayer.cpp: Ditto.
1808         * platform/graphics/MediaPlayer.h: Ditto.
1809         * platform/graphics/MediaPlayerPrivate.h: Ditto.
1810         * platform/mac/PlatformClockCA.cpp: Ditto.
1811         * platform/mac/PlatformClockCA.h: Ditto.
1812         * platform/mac/PlatformClockCM.h: Ditto.
1813         * platform/mac/PlatformClockCM.mm: Ditto.
1814
1815 2013-04-10  Patrick Gansterer  <paroga@webkit.org>
1816
1817         Replace ENABLE_MICRODATA preprocessor statements in IDL files with Conditional attribute
1818         https://bugs.webkit.org/show_bug.cgi?id=114349
1819
1820         Reviewed by Geoffrey Garen.
1821
1822         The Conditional attribute does not need a preprocessor, which is source of much pain on native windows.
1823
1824         * dom/Document.idl:
1825         * html/HTMLElement.idl:
1826
1827 2013-04-10  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1828
1829         REGRESSION(r148034): IconDatabase::updateIconRecord crashes with null iconData and iconBitmap.
1830         https://bugs.webkit.org/show_bug.cgi?id=114356
1831
1832         Reviewed by Tim Horton.
1833
1834         When loading an icon fails (for example, when a non-existent URI is
1835         passed to the loader), updateIconRecord can be called with both
1836         iconData and iconBitmap having no data.
1837
1838         This used to be fine before r148034, but causes an assertion now.
1839
1840         No new tests, existing tests such as fast/encoding/mispositioned-meta.html
1841         were crashing.
1842
1843         * loader/icon/IconDatabase.cpp:
1844         (WebCore::IconDatabase::updateIconRecord): Change the ASSERT() to check
1845         for a NAND condition that only fails if both iconData and iconBitmap
1846         are not 0.
1847
1848 2013-04-10  JungJik Lee  <jungjik.lee@samsung.com>
1849
1850         [Texmap] Update a dirty region which is not covered with keepRect.
1851         https://bugs.webkit.org/show_bug.cgi?id=113752
1852
1853         Reviewed by Jocelyn Turcotte.
1854
1855         There can be a dirty region which is not covered with keepRect. 
1856         However the dirty could be inside the tile area. In this case, 
1857         currently we ignore the dirty by intersecting with keepRect 
1858         and the dirty region will not be invalidated until the tile is 
1859         recreated. We must expand the keep rect to its intersecting tiles 
1860         to make sure that the dirty region is applied to existing tiles. 
1861
1862         No tests needed, change is unobservable.
1863
1864         * platform/graphics/TiledBackingStore.cpp:
1865         (WebCore::TiledBackingStore::invalidate):
1866
1867 2013-04-10  Laszlo Gombos  <l.gombos@samsung.com>
1868
1869         Remove ENABLE_3D_PLUGIN
1870         https://bugs.webkit.org/show_bug.cgi?id=108002
1871
1872         Remove ENABLE_3D_PLUGIN, it was only used by Chromium.
1873
1874         Reviewed by Antti Koivisto.
1875
1876         No new tests, removing dead code.
1877
1878         * loader/SubframeLoader.cpp:
1879         (WebCore::SubframeLoader::loadPlugin):
1880
1881 2013-04-10  Noam Rosenthal  <noam@webkit.org>
1882
1883         [Texmap] Hierarchy of layers with opacity may result in wrong blending.
1884         https://bugs.webkit.org/show_bug.cgi?id=113732
1885
1886         Reviewed by Allan Sandfeld Jensen.
1887
1888         This is a combination of three issues with nested intermediate surfaces:
1889         - glScissor inside an intermediate surface should not be mirrored.
1890         - The current surface should be passed to the next surface in paintOptions.
1891         - When clipping for the non-overlap region, the containing surface offset 
1892         should be applied.
1893
1894         Though the changes are separate, they cannot be tested separately as neither
1895         fixes a testable case on its own. 
1896
1897         Tests: compositing/overlap-blending/nested-non-overlap-clipping.html
1898                compositing/overlap-blending/nested-overlap.html
1899
1900         * platform/graphics/texmap/TextureMapperGL.cpp:
1901         (WebCore::TextureMapperGL::ClipStack::reset):
1902         (WebCore::TextureMapperGL::ClipStack::apply):
1903         (WebCore::TextureMapperGL::beginPainting):
1904         (WebCore::BitmapTextureGL::clearIfNeeded):
1905         * platform/graphics/texmap/TextureMapperGL.h:
1906         (ClipStack):
1907             Do not mirror the scissor clip when painting to an FBO.
1908             Also a minor refactor to avoid reading the viewport values from the driver.
1909
1910         * platform/graphics/texmap/TextureMapperLayer.cpp:
1911         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
1912             Apply the offset when clipping for a non-overlap region.
1913         (WebCore::TextureMapperLayer::paintIntoSurface):
1914             Make sure the current surface is passed to the next one.
1915
1916 2013-04-10  Antti Koivisto  <antti@apple.com>
1917
1918         Create fewer tiles when page is loading
1919         https://bugs.webkit.org/show_bug.cgi?id=114294
1920
1921         Reviewed by Anders Carlsson.
1922
1923         We currently create speculative tiles immediately. Page is often changing rapidly during loading and
1924         keeping the speculative tiles up to date creates extra work.
1925         
1926         Tests: platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative.html
1927                platform/mac-wk2/tiled-drawing/tile-coverage-speculative.html
1928         
1929        * loader/FrameLoader.cpp:
1930         (WebCore::FrameLoader::loadProgressingStatusChanged):
1931         * page/FrameView.cpp:
1932         (WebCore::FrameView::adjustTiledBackingCoverage):
1933         (WebCore::FrameView::setWasScrolledByUser):
1934         
1935             User scrolling enables speculative tiling no matter what the load status.
1936
1937         * page/FrameView.h:
1938         * rendering/RenderLayerBacking.cpp:
1939         (WebCore::computeTileCoverage):
1940         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
1941         
1942             Cover only the viewport during loading.
1943
1944 2013-04-10  Alberto Garcia  <agarcia@igalia.com>
1945
1946         [BlackBerry] RenderThemeBlackBerry: get rid of all the SKIA code
1947         https://bugs.webkit.org/show_bug.cgi?id=114339
1948
1949         Reviewed by Carlos Garcia Campos.
1950
1951         * platform/blackberry/RenderThemeBlackBerry.cpp:
1952         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1953         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
1954         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
1955         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderThumb):
1956
1957 2013-04-10  Zan Dobersek  <zdobersek@igalia.com>
1958
1959         REGRESSION (r147719): Failures in two a11y tests on GTK
1960         https://bugs.webkit.org/show_bug.cgi?id=114259
1961
1962         Reviewed by Ryosuke Niwa.
1963
1964         No new tests - covered by existing tests.
1965
1966         Partially revert r147719, restoring the possible creation of the AXObject cache 
1967         and the subsequent call to its handleFocusedUIElementChanged method. Removing this
1968         code caused regressions in accessibility tests on the GTK port, so the comment about
1969         the AXObject cache is adjusted accordingly.
1970
1971         * dom/Document.cpp:
1972         (WebCore::Document::setFocusedNode):
1973
1974 2013-04-09  Philippe Normand  <pnormand@igalia.com>
1975
1976         [GStreamer] playbin uri getter is invalid
1977         https://bugs.webkit.org/show_bug.cgi?id=113884
1978
1979         Reviewed by Martin Robinson.
1980
1981         When loading a new media location use the url stored as a member
1982         variable instead of the one stored as a playbin property. The uri
1983         property semantic changed in playbin since 0.10.36+. One should
1984         now use current-uri but to avoid ifdefs depending on GStreamer
1985         version we simply use the url already known as member variable.
1986
1987         Test: http/tests/media/video-redirect.html
1988
1989         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1990
1991 2013-04-09  Geoffrey Garen  <ggaren@apple.com>
1992
1993         [JSC] Script run from an isolated world should bypass a page's CSP
1994         https://bugs.webkit.org/show_bug.cgi?id=100815
1995
1996         Reviewed by Oliver Hunt.
1997
1998         * bindings/js/ScriptController.cpp:
1999         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
2000         * bindings/js/ScriptController.h: Test the current caller's DOM wrapper
2001         world to decide whether CSP should be enforced.
2002
2003         Like most of CSP, this is a stupid policy because it doesn't address
2004         second-order effects like <script> parsing or event handler execution,
2005         which might be triggered indirectly by privileged scripts. These indirect
2006         effects are still broken. Oh well.
2007
2008 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
2009
2010         Remove chromium exceptions from WebCore's gitattributes
2011         https://bugs.webkit.org/show_bug.cgi?id=114327
2012
2013         Reviewed by Darin Adler.
2014
2015         * .gitattributes:
2016
2017 2013-04-09  Adam Klein  <adamk@chromium.org>
2018
2019         Update Document's event listener type bitfield when adopting a Node
2020         https://bugs.webkit.org/show_bug.cgi?id=114322
2021
2022         Reviewed by Darin Adler.
2023
2024         Without this, moving a Node between documents can silently deactivate
2025         an event listener, if it's one of the types that whose creation is
2026         optimized away by Document::hasListenerType.
2027
2028         An alternate approach would be to simply copy the old document's
2029         bitfield over. It's a tradeoff between making adoption fast and making
2030         the operation of any operation depending on these event types fast.
2031         The latter seems like the right optimization given that adoption
2032         doesn't happen very often.
2033
2034         Test: fast/events/event-listener-moving-documents.html
2035
2036         * dom/Node.cpp:
2037         (WebCore::Node::didMoveToNewDocument): For each event listener type on the adopted node, update the new document's list of listener types.
2038
2039 2013-04-09  Dean Jackson  <dino@apple.com>
2040
2041         Add logging channel for animations
2042         https://bugs.webkit.org/show_bug.cgi?id=114325
2043
2044         Reviewed by Simon Fraser.
2045
2046         * platform/Logging.cpp: Add LogAnimations.
2047         (WebCore::getChannelFromName): Return LogAnimations for "Animations".
2048         * platform/Logging.h: Add LogAnimations.
2049         * platform/mac/LoggingMac.mm:
2050         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
2051         * platform/win/LoggingWin.cpp:
2052         (WebCore::initializeLoggingChannelsIfNecessary): Copy preference.
2053
2054 2013-04-09  Dongwoo Joshua Im  <dw.im@samsung.com>
2055
2056         [CSS3] Parsing the property, text-justify.
2057         https://bugs.webkit.org/show_bug.cgi?id=100058
2058
2059         Reviewed by Andreas Kling.
2060
2061         This patch implements the parsing side of the "text-justify" property specified
2062         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
2063         Specification link : http://www.w3.org/TR/css3-text/#text-justify
2064
2065         Tests: fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify-inherited.html
2066                fast/css3-text/css3-text-justify/getComputedStyle/getComputedStyle-text-justify.html
2067
2068         * css/CSSComputedStyleDeclaration.cpp:
2069         (WebCore):
2070         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2071         * css/CSSParser.cpp:
2072         (WebCore::isValidKeywordPropertyAndValue):
2073         (WebCore::isKeywordPropertyID):
2074         (WebCore::CSSParser::parseValue):
2075         * css/CSSPrimitiveValueMappings.h:
2076         (WebCore):
2077         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2078         (WebCore::CSSPrimitiveValue::operator TextJustify):
2079         * css/CSSProperty.cpp:
2080         (WebCore::CSSProperty::isInheritedProperty):
2081         * css/CSSPropertyNames.in:
2082         * css/CSSValueKeywords.in:
2083         * css/StyleBuilder.cpp:
2084         (WebCore::StyleBuilder::StyleBuilder):
2085         * css/StylePropertySet.cpp:
2086         (WebCore):
2087         * css/StyleResolver.cpp:
2088         (WebCore::StyleResolver::applyProperty):
2089         * rendering/style/RenderStyle.h:
2090         * rendering/style/RenderStyleConstants.h:
2091         * rendering/style/StyleRareInheritedData.cpp:
2092         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2093         (WebCore::StyleRareInheritedData::operator==):
2094         * rendering/style/StyleRareInheritedData.h:
2095         (StyleRareInheritedData):
2096
2097 2013-04-09  Joone Hur  <joone.hur@intel.com>
2098
2099         [GTK][AC] Adding contentsLayer for image and video
2100         https://bugs.webkit.org/show_bug.cgi?id=113912
2101
2102         Reviewed by Gustavo Noronha Silva.
2103
2104         contentsLayer is a ClutterActor, which is added to the main layer 
2105         as a child when GraphicsLayer needs to render an image or video. 
2106
2107         No new tests, already covered by existing AC tests.
2108
2109         * platform/graphics/clutter/GraphicsLayerActor.cpp:
2110         (graphicsLayerActorUpdateTexture):
2111         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
2112         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
2113         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
2114         (WebCore):
2115         (WebCore::GraphicsLayerClutter::setContentsToImage): Pass a Cairo surface to GraphicsLayer.
2116         (WebCore::GraphicsLayerClutter::setContentsNeedsDisplay):
2117         (WebCore::GraphicsLayerClutter::setContentsRect):
2118         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
2119         (WebCore::GraphicsLayerClutter::setupContentsLayer):
2120         (WebCore::GraphicsLayerClutter::updateContentsImage): Set the Cairo surface for contentsLayer 
2121         to upload it as a texture.
2122         (WebCore::GraphicsLayerClutter::updateContentsNeedsDisplay):
2123         (WebCore::GraphicsLayerClutter::updateContentsRect):
2124         (WebCore::GraphicsLayerClutter::updateSublayerList):
2125         * platform/graphics/clutter/GraphicsLayerClutter.h:
2126         (WebCore::GraphicsLayerClutter::hasContentsLayer):
2127         (GraphicsLayerClutter):
2128         (WebCore::GraphicsLayerClutter::contentsLayer):
2129
2130 2013-04-09  Alexey Proskuryakov  <ap@apple.com>
2131
2132         REGRESSION: Blob URLs broken with NetworkProcess
2133         https://bugs.webkit.org/show_bug.cgi?id=114320
2134
2135         Reviewed by Brady Eidson.
2136
2137         Update BlobResourceHandle to use modern resource client calls.
2138
2139         * platform/network/BlobResourceHandle.cpp:
2140         (WebCore::BlobResourceHandle::readSync): Don't call notifyReceiveData if there is
2141         no data (it's especially egregious when length is -1, signaling an error).
2142         (WebCore::BlobResourceHandle::notifyResponseOnSuccess): Use didReceiveResponseAsync
2143         when a client wants async callbacks. This is not very clean, as we don't wait
2144         for response, but should be workable for blobs.
2145         (WebCore::BlobResourceHandle::notifyResponseOnError): Ditto.
2146         (WebCore::BlobResourceHandle::notifyReceiveData): Use didReceiveBuffer (clients
2147         that only implement didReceiveData will have it automatically unwrapped).
2148
2149 2013-04-09  Jer Noble  <jer.noble@apple.com>
2150
2151         REGRESSION (r123837): Full screen transition is broken at apple.com
2152         https://bugs.webkit.org/show_bug.cgi?id=95650
2153
2154         Reviewed by Simon Fraser.
2155
2156         Cancel any outstanding animations on <video> elements as they enter full screen, so as to
2157         not confuse the WebKit/WebKit2 full screen window animation about the starting and destination
2158         screen rects.
2159
2160         * css/fullscreen.css:
2161         (video:-webkit-full-screen, audio:-webkit-full-screen):
2162
2163 2013-04-09  Jer Noble  <jer.noble@apple.com>
2164
2165         hang in mediaSelectionGroupForMediaCharacteristic
2166         https://bugs.webkit.org/show_bug.cgi?id=114054
2167
2168         Reviewed by Eric Carlson.
2169
2170         No new tests; Fixes sporadic hangs in media/ tests.
2171
2172         -[AVURLAsset mediaSelectionGroupForMediaCharacteristic:] can deadlock in certain situations: When AVURLAsset
2173         posts a synchronous AVAssetResourceLoader notification to the main thread, calling -mediaSelectionGroupForMediaCharacteristic:
2174         on the main thread requires IO to occur if the media characteristics are not yet loaded. Instead of blocking,
2175         bail out early if the media characteristics are not yet known.
2176         
2177         Add a new method, safeMediaSelectionGroupForLegibleMedia(), which first checks selection group availability
2178         before calling mediaSelectionGroupForMediaCharacteristic:.
2179
2180         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2181         (MediaPlayerPrivateAVFoundationObjC):
2182         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2183         (WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForLegibleMedia): Added.
2184         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Use new safe method.
2185         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Ditto.
2186         (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): Ditto.
2187         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Ditto.
2188
2189 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2190
2191         AX: Bounding paths should be made available through accessibility
2192         https://bugs.webkit.org/show_bug.cgi?id=113817
2193
2194         Unreviewed build fix for iOS.
2195
2196         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2197         (-[WebAccessibilityObjectWrapper _accessibilityPath]):
2198         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
2199
2200 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2201
2202         Unreviewed correctness fix: use lroundf instead of lround for a float to int conversion.
2203
2204         * html/shadow/MediaControlElements.cpp:
2205         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
2206
2207 2013-04-06  Roger Fong  <roger_fong@apple.com>
2208
2209         Change requisite hardware checks for enabling antialiasing.
2210         https://bugs.webkit.org/show_bug.cgi?id=114101
2211         <rdar://problem/12342776>.
2212
2213         m_maySupportMultisampling should be true by default for all platforms/hardware now except older versions of AMD.
2214
2215         Reviewed by Dean Jackson.
2216
2217         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2218         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
2219
2220 2013-04-09  Commit Queue  <rniwa@webkit.org>
2221
2222         Unreviewed, rolling out r148010.
2223         http://trac.webkit.org/changeset/148010
2224         https://bugs.webkit.org/show_bug.cgi?id=114310
2225
2226         Causes problems with focus rings (Requested by anttik on
2227         #webkit).
2228
2229         * css/StyleBuilder.cpp:
2230         (WebCore::ApplyPropertyComputeLength::applyValue):
2231         (WebCore::ApplyPropertyComputeLength::createHandler):
2232         (WebCore::StyleBuilder::StyleBuilder):
2233
2234 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2235
2236         Unreviewed, another fix for the Windows build after r148050.
2237
2238         * html/track/TextTrackCueGeneric.cpp:
2239         (WebCore::TextTrackCueGeneric::setFontSize): Use lround().
2240
2241 2013-04-09  Bem Jones-Bey  <bjonesbe@adobe.com>
2242
2243         [CSS Exclusions] Properly position multiple stacked floats with non rectangular shape outside
2244         https://bugs.webkit.org/show_bug.cgi?id=110372
2245
2246         Reviewed by Dean Jackson.
2247
2248         Stacked floats get positioned based on the bounding box of the shape,
2249         not on the shape contours itself. This patch causes that to happen.
2250
2251         Test: fast/exclusions/shape-outside-floats/shape-outside-floats-stacked.html
2252
2253         * rendering/RenderBlock.cpp:
2254         (WebCore::RenderBlock::computeLogicalLocationForFloat): Use the
2255             "BoundingBoxOffset" mode so that we compute offsets based on the shape
2256             bounding boxes of previous floats, not the shape contour.
2257         (WebCore::RenderBlock::logicalLeftOffsetForLine): Check the
2258             ShapeOutsideFloatOffsetMode to determine if the offset should be
2259             adjusted for the shape contour or not.
2260         (WebCore::RenderBlock::logicalRightOffsetForLine): Ditto.
2261         * rendering/RenderBlock.h:
2262         (WebCore::RenderBlock::logicalRightOffsetForLine): Add parameter for offset mode.
2263         (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
2264         (RenderBlock):
2265         * rendering/RenderBlockLineLayout.cpp:
2266         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): If the
2267             new float is being added on top of a previous float on the same line,
2268             undo the offset for the previous float's shape contour so that we
2269             position the new float based on the bounding box.
2270
2271 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2272
2273         Unreviewed, fix the Windows build after r148050.
2274
2275         * html/shadow/MediaControlElements.cpp:
2276         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Use lround().
2277
2278 2013-04-09  Tim Horton  <timothy_horton@apple.com>
2279
2280         [wk2] IconDatabase images should be decoded in the WebProcess
2281         ​https://bugs.webkit.org/show_bug.cgi?id=112524
2282         <rdar://problem/10133914>
2283
2284         Reviewed by Simon Fraser.
2285
2286         Move an ASSERT that dereferenced a pointer inside the null-check for that pointer.
2287
2288         * loader/icon/IconDatabase.cpp:
2289         (WebCore::IconDatabase::setIconBitmapForIconURL):
2290
2291 2013-04-09  Eric Carlson  <eric.carlson@apple.com>
2292
2293         [Mac] user caption styles not applied to correct element
2294         https://bugs.webkit.org/show_bug.cgi?id=114230
2295
2296         Reviewed by Jer Noble.
2297
2298         Test: media/track/track-css-user-override.html
2299
2300         * html/HTMLMediaElement.cpp:
2301         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Drive by clean-up so we don't log excessively.
2302
2303         * html/shadow/MediaControlElements.cpp:
2304         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Initialize
2305             new member variables.
2306         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Set cue font size when it is
2307             inserted into the tree.
2308         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Update the font size of 
2309             all active cues.
2310         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Set size-relative CSS properties
2311             after a time because this can be called during layout.
2312         * html/shadow/MediaControlElements.h:
2313
2314         * html/shadow/MediaControls.cpp:
2315         (WebCore::MediaControls::textTrackPreferencesChanged): Call closedCaptionTracksChanged before updateSizes.
2316
2317         * html/track/TextTrackCue.cpp:
2318         (WebCore::TextTrackCue::setFontSize): New, set the cue's font size.
2319         * html/track/TextTrackCue.h:
2320
2321         * html/track/TextTrackCueGeneric.cpp:
2322         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Set cue properties on the cue element
2323             instead of on the cue box to match what we do for the "cue" pseudo element.
2324         (WebCore::TextTrackCueGeneric::setFontSize): New, set the cue's font size.
2325         * html/track/TextTrackCueGeneric.h:
2326
2327         * html/track/TextTrackList.cpp:
2328         (TextTrackList::remove): Drive-by cleanup, don't ASSERT when the media element is NULL.
2329
2330         * page/CaptionUserPreferences.cpp:
2331         (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride): New, allow user CSS overrides
2332             to be tested in DRT.
2333         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride): New, generate a user style
2334             sheet override. Moved here from CaptionUserPreferencesMac.
2335         * page/CaptionUserPreferences.h:
2336
2337         * page/CaptionUserPreferencesMac.h:
2338         * page/CaptionUserPreferencesMac.mm:
2339         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Don't ignore background color importance.
2340         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Implement even when we don't 
2341             have the media accessibility framework so this can be tested in DRT. Apply all cue properties
2342             to the element used for the "cue" pseudo element.
2343
2344         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2345         (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress): Drive-by cleanup, remove logging
2346             because this method is called so frequently and the logging is not especially useful.
2347         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Only log when the ready/network
2348             state changes because this method is called so frequently.
2349
2350         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2351         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer): Drive-by cleanup, remove logging
2352             because this method is called so frequently and the logging is not especially useful.
2353         (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Make the logging more useful.
2354
2355         * testing/Internals.cpp:
2356         (WebCore::Internals::resetToConsistentState): Reset captions style sheet override.
2357         (WebCore::Internals::captionsStyleSheetOverride): New, return the captions style sheet override.
2358         (WebCore::Internals::setCaptionsStyleSheetOverride): New, override the captions style sheet override.
2359         * testing/Internals.h:
2360         * testing/Internals.idl:
2361
2362 2013-04-08  Simon Fraser  <simon.fraser@apple.com>
2363
2364         Repaint rect too small on elements with shadows
2365         https://bugs.webkit.org/show_bug.cgi?id=114225
2366
2367         Reviewed by Dain Adler.
2368         
2369         We assumed that shadows (box-shadow, text-shadow, svg shadows)
2370         only required inflating the repaint rect by the blur radius of
2371         the shadow. However, this is incorrect; the shadow can extend
2372         further, which resulted in clipped or incorrectly invalidated
2373         shadows.
2374         
2375         Fix by disambiguating the blur radius (which is 2x the standard
2376         deviation of the Gaussian distribution used to generate the blur),
2377         from the painting extent, which is how far the shadow visually
2378         projects. Using a 1.4 multiplier of the blur radius is a good
2379         approximation for the painting extent.
2380         
2381         Renamed ShadowData::blur() to ShadowData::radius(), and added
2382         ShadowData::paintingExtent(). Use the latter in all places
2383         which relate to invalidation.
2384
2385         Test: fast/box-shadow/shadow-repaint.html
2386
2387         * css/CSSComputedStyleDeclaration.cpp:
2388         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
2389         * editing/mac/EditorMac.mm:
2390         (WebCore::Editor::fontAttributesForSelectionStart):
2391         * page/animation/CSSPropertyAnimation.cpp:
2392         (WebCore::blendFunc):
2393         * rendering/EllipsisBox.cpp:
2394         (WebCore::EllipsisBox::paint):
2395         * rendering/InlineTextBox.cpp:
2396         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
2397         (WebCore::InlineTextBox::paintDecoration):
2398         * rendering/RenderBoxModelObject.cpp:
2399         (WebCore::applyBoxShadowForBackground):
2400         (WebCore::areaCastingShadowInHole):
2401         (WebCore::RenderBoxModelObject::paintBoxShadow):
2402         * rendering/style/RenderStyle.cpp:
2403         (WebCore::RenderStyle::getShadowExtent):
2404         (WebCore::RenderStyle::getShadowInsetExtent):
2405         (WebCore::RenderStyle::getShadowHorizontalExtent):
2406         (WebCore::RenderStyle::getShadowVerticalExtent):
2407         * rendering/style/ShadowData.cpp:
2408         (WebCore::ShadowData::ShadowData):
2409         (WebCore::ShadowData::operator==):
2410         (WebCore::calculateShadowExtent):
2411         * rendering/style/ShadowData.h:
2412         (WebCore::ShadowData::ShadowData):
2413         (WebCore::ShadowData::radius):
2414         (WebCore::ShadowData::paintingExtent):
2415         * rendering/svg/SVGRenderingContext.cpp:
2416         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2417
2418 2013-04-08  Simon Fraser  <simon.fraser@apple.com>
2419
2420         window.internals.repaintRectsAsText() is hard to use because it doesn't force layout
2421         https://bugs.webkit.org/show_bug.cgi?id=114219
2422
2423         Reviewed by Beth Dakin.
2424
2425         Force layout when setTracksRepaints() is set to true, to flush out any pending
2426         repaints from a layout that hasn't happened yet. Also force layout in
2427         trackedRepaintRectsAsText(), so that any pending layout happpens and thus
2428         repaints.
2429
2430         * page/FrameView.cpp:
2431         (WebCore::FrameView::setTracksRepaints):
2432         (WebCore::FrameView::trackedRepaintRectsAsText):
2433
2434 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2435
2436         AX: Bounding paths should be made available through accessibility
2437         https://bugs.webkit.org/show_bug.cgi?id=113817
2438
2439         Unreviewed build fix (again).
2440
2441         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2442         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2443
2444 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2445
2446         AX: Bounding paths should be made available through accessibility
2447         https://bugs.webkit.org/show_bug.cgi?id=113817
2448
2449         Unreviewed build fix.
2450
2451         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2452         (WebTransformCGPathToNSBezierPath):
2453
2454 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2455
2456         AX: Bounding paths should be made available through accessibility
2457         https://bugs.webkit.org/show_bug.cgi?id=113817
2458
2459         Reviewed by Tim Horton.
2460
2461         Minor fix from review feedback.
2462
2463         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2464         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2465
2466 2013-04-09  Tim Horton  <timothy_horton@apple.com>
2467
2468         [wk2] IconDatabase images should be decoded in the WebProcess
2469         https://bugs.webkit.org/show_bug.cgi?id=112524
2470         <rdar://problem/10133914>
2471
2472         Reviewed by Oliver Hunt.
2473
2474         No testable behavior change.
2475
2476         * loader/icon/IconDatabase.cpp:
2477         (WebCore::IconDatabase::updateIconRecord):
2478         Added updateIconRecord, which factors most of setIconDataForIconURL out so it can
2479         be shared with setIconBitmapForIconURL. This function will set either a bitmap or
2480         raw image data for the given icon URL.
2481
2482         (WebCore::IconDatabase::setIconBitmapForIconURL):
2483         Added; make a copy of the bitmap for thread-safety purposes, and call updateIconRecord.
2484
2485         (WebCore::IconDatabase::setIconDataForIconURL):
2486         Factored out of what is now updateIconRecord.
2487
2488         * loader/icon/IconDatabase.h:
2489         (IconDatabase): Add setIconBitmapForIconURL and updateIconRecord.
2490
2491         * loader/icon/IconDatabaseBase.h:
2492         (WebCore::IconDatabaseBase::setIconBitmapForIconURL): Added.
2493         * loader/icon/IconRecord.cpp:
2494         (WebCore::IconRecord::setImage): Set the image for an icon record directly (as opposed
2495         to setting the image data, which causes the image to be decoded in the WebProcess).
2496         * loader/icon/IconRecord.h:
2497         (IconRecord): Add setImage.
2498
2499 2013-04-09  Chris Fleizach  <cfleizach@apple.com>
2500
2501         AX: The bounding paths should be made available through accessibility
2502         https://bugs.webkit.org/show_bug.cgi?id=113817
2503
2504         Reviewed by David Kilzer.
2505
2506         This allows bounding paths to be returned for some web elements (image map areas and SVG shapes).
2507         This provides more accuracy when assistive technologies highlight elements.
2508         The Mac and iOS platforms share some code to help transform paths to their screen coordinates.
2509
2510         Tests: platform/iphone-simulator/accessibility/element-paths.html
2511                platform/mac/accessibility/element-paths.html
2512
2513         * accessibility/AccessibilityImageMapLink.cpp:
2514         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
2515         (WebCore):
2516         (WebCore::AccessibilityImageMapLink::elementPath):
2517         (WebCore::AccessibilityImageMapLink::elementRect):
2518         * accessibility/AccessibilityImageMapLink.h:
2519         (AccessibilityImageMapLink):
2520         (WebCore::AccessibilityImageMapLink::supportsPath):
2521         * accessibility/AccessibilityObject.h:
2522         (WebCore::AccessibilityObject::elementPath):
2523         (WebCore::AccessibilityObject::supportsPath):
2524         * accessibility/AccessibilityRenderObject.cpp:
2525         (WebCore):
2526         (WebCore::AccessibilityRenderObject::supportsPath):
2527         (WebCore::AccessibilityRenderObject::elementPath):
2528         * accessibility/AccessibilityRenderObject.h:
2529         (AccessibilityRenderObject):
2530         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2531         (-[WebAccessibilityObjectWrapper _accessibilityPath]):
2532         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2533         (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
2534         (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
2535         (-[WebAccessibilityObjectWrapper accessibilityFrame]):
2536         (-[WebAccessibilityObjectWrapper frameForTextMarkers:]):
2537         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
2538         (WebCore):
2539         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2540         (PathConversionInfo):
2541         (ConvertPathToScreenSpaceFunction):
2542         (-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
2543         (-[WebAccessibilityObjectWrapperBase convertPointToScreenSpace:]):
2544         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2545         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2546         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2547         (WebTransformCGPathToNSBezierPath):
2548         (-[WebAccessibilityObjectWrapper bezierPathFromPath:]):
2549         (-[WebAccessibilityObjectWrapper path]):
2550         (-[WebAccessibilityObjectWrapper position]):
2551         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2552
2553 2013-04-09  Benjamin Poulain  <bpoulain@apple.com>
2554
2555         Remove the WebKit copy of GLU and the file using it
2556         https://bugs.webkit.org/show_bug.cgi?id=114249
2557
2558         Reviewed by Darin Adler.
2559
2560         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Removed.
2561
2562 2013-04-09  Andreas Kling  <akling@apple.com>
2563
2564         Throttle resize events during live window resize.
2565         <http://webkit.org/b/114292>
2566         <rdar://problem/13411454>
2567
2568         Reviewed by Geoffrey Garen.
2569
2570         Limit resize events to one at max every 0.2 seconds during live window resize.
2571         This mitigates heavy CPU usage during resize on pages with complex onresize handlers.
2572         If there's a pending resize event when the live resize ends, it fires immediately.
2573
2574         * page/FrameView.cpp:
2575         (WebCore::FrameView::sendResizeEvent):
2576
2577             Factored out dispatch of the resize event after layout so we can call it on a timer
2578             instead of immediately while live window resize is active.
2579
2580         (WebCore::FrameView::FrameView):
2581         (WebCore::FrameView::performPostLayoutTasks):
2582         (WebCore::FrameView::delayedResizeEventTimerFired):
2583         (WebCore::FrameView::willEndLiveResize):
2584         (WebCore::FrameView::scheduleResizeEvent):
2585         * page/FrameView.h:
2586         * platform/ScrollableArea.h:
2587
2588             Made willStartLiveResize() and willEndLiveResize() virtual so we can override
2589             them on FrameView.
2590
2591 2013-04-09  Jeff Rogers  <jrogers@rim.com>
2592
2593         Add webp to supported image mime types if WEBP feature is enabled/used
2594         https://bugs.webkit.org/show_bug.cgi?id=112819
2595
2596         Reviewed by Darin Adler.
2597
2598         Add WebP to list of supported image types in MIMETypeRegistry if enabled.
2599
2600         No new tests: WebP image decoding already covered by exisiting tests.
2601
2602         * platform/MIMETypeRegistry.cpp:
2603         (WebCore::initializeSupportedImageMIMETypes):
2604
2605 2013-04-09  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2606
2607         Whitespace in particular source code changes rendering; does not in Firefox
2608         https://bugs.webkit.org/show_bug.cgi?id=100943
2609
2610         Reviewed by Darin Adler.
2611
2612         A render inline which requires a line box is considered a possible
2613         trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
2614         for it, even if it is placed after a text render ending with a single
2615         space.
2616
2617         Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
2618                fast/text/whitespace/trailing-space-before-empty-span-2.html
2619
2620         * rendering/RenderBlockLineLayout.cpp:
2621         (TrailingObjects):
2622         (WebCore::TrailingObjects::appendBoxIfNeeded):
2623         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2624
2625 2013-04-09  Andrei Bucur  <abucur@adobe.com>
2626
2627         Use DOM ordering for list counts
2628         https://bugs.webkit.org/show_bug.cgi?id=110352
2629
2630         Reviewed by Elliott Sprehn.
2631
2632         Currently the list items ordering is made by traversing the render tree. This gives bad results for:
2633         - list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
2634         - list items matched to insertion points inside a shadow tree. The insertion point may be a child of a
2635         list so the numbering gets broken.
2636
2637         To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
2638         so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
2639         namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
2640         for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
2641         pre-order traversal methods aware of the pseudo-elements.
2642         An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
2643         no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
2644         first parent of the <li> or the shadow root if there is no ancestor.
2645         The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
2646         To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
2647         of this method. The CSS counters and the list items now have the same traversal algorithm.
2648
2649         In later patches I'll add tests that should cover the regions and shadow DOM use cases.
2650         Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
2651         Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975
2652
2653         Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
2654         and fast/dom/shadow/shadow-and-list-elements.html
2655
2656         * dom/Node.cpp:
2657         (WebCore::Node::pseudoAwarePreviousSibling):
2658         (WebCore):
2659         (WebCore::Node::pseudoAwareNextSibling):
2660         (WebCore::Node::pseudoAwareFirstChild):
2661         (WebCore::Node::pseudoAwareLastChild):
2662         * dom/Node.h:
2663         (Node):
2664         * dom/NodeTraversal.cpp:
2665         (WebCore):
2666         (WebCore::NodeTraversal::previousIncludingPseudo):
2667         (NodeTraversal):
2668         (WebCore::NodeTraversal::nextIncludingPseudo):
2669         (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
2670         * dom/NodeTraversal.h:
2671         (ElementTraversal):
2672         (NodeTraversal):
2673         (WebCore::ElementTraversal::previousIncludingPseudo):
2674         (WebCore::ElementTraversal::nextIncludingPseudo):
2675         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
2676         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
2677         * html/HTMLLIElement.cpp:
2678         (WebCore::HTMLLIElement::attach):
2679         * html/HTMLOListElement.cpp:
2680         (WebCore::HTMLOListElement::updateItemValues):
2681         (WebCore::HTMLOListElement::recalculateItemCount):
2682         * rendering/RenderCounter.cpp:
2683         (WebCore::previousInPreOrder):
2684         (WebCore::previousSiblingOrParent):
2685         (WebCore::parentElement):
2686         (WebCore::nextInPreOrder):
2687         * rendering/RenderListItem.cpp:
2688         (WebCore):
2689         (WebCore::enclosingList):
2690         (WebCore::RenderListItem::nextListItem):
2691         (WebCore::previousListItem):
2692         (WebCore::RenderListItem::calcValue):
2693         (WebCore::RenderListItem::explicitValueChanged):
2694         (WebCore::previousOrNextItem):
2695         (WebCore::RenderListItem::updateListMarkerNumbers):
2696         * rendering/RenderListItem.h:
2697         (RenderListItem):
2698
2699 2013-04-09  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
2700
2701         [Texmap] TextureMapperLayer refactor for readiblity
2702         https://bugs.webkit.org/show_bug.cgi?id=114278
2703
2704         Reviewed by Noam Rosenthal.
2705
2706         Removes non-needed return values, function parameters and changes
2707         boolean values with enums for readibility.
2708
2709         No behavioral changes, thus no tests.
2710
2711         * platform/graphics/texmap/TextureMapperLayer.cpp:
2712         (WebCore::TextureMapperLayer::computeTransformsRecursive):
2713         (WebCore::TextureMapperLayer::paintSelf):
2714         (WebCore::TextureMapperLayer::sortByZOrder):
2715         (WebCore::TextureMapperLayer::computeOverlapRegions):
2716         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
2717         (WebCore::commitSurface):
2718         (WebCore::TextureMapperLayer::paintWithIntermediateSurface):
2719         (WebCore::TextureMapperLayer::paintRecursive):
2720         * platform/graphics/texmap/TextureMapperLayer.h:
2721         (TextureMapperLayer):
2722
2723 2013-04-09  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2724
2725         [WebSocket] Ignore incoming message in CLOSING state
2726         https://bugs.webkit.org/show_bug.cgi?id=85934
2727
2728         Reviewed by Kent Tamura.
2729
2730         Change WebSocket implementation to suit the new WebSocket API, which
2731         states that we should ignore messages in CLOSING state.
2732
2733         No new tests, updating existing tests.
2734
2735         * Modules/websockets/WebSocket.cpp:
2736         (WebCore::WebSocket::didReceiveMessage):
2737
2738 2013-04-09  Seokju Kwon  <seokju.kwon@gmail.com>
2739
2740         Web Inspector: Add Localized strings after r144154 and r135127
2741         https://bugs.webkit.org/show_bug.cgi?id=114269
2742
2743         Reviewed by Timothy Hatcher.
2744
2745         No new tests, no behavior change.
2746
2747         * English.lproj/localizedStrings.js:
2748
2749 2013-04-09  Antti Koivisto  <antti@apple.com>
2750
2751         Throttle compositing layer flushes in subframes
2752         https://bugs.webkit.org/show_bug.cgi?id=114267
2753
2754         Reviewed by Andreas Kling.
2755
2756         Throttle compositing layer flushes in all frames, not just the main one.
2757         
2758         This especially reduces flushes/repaints generated by ads in iframes.
2759
2760         * loader/FrameLoader.cpp:
2761         (WebCore::FrameLoader::loadProgressingStatusChanged):
2762         * page/FrameView.cpp:
2763         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
2764         * page/FrameView.h:
2765
2766 2013-04-09  Suchit Agrawal  <a.suchit@samsung.com>
2767
2768         Table border doesn't show up
2769         https://bugs.webkit.org/show_bug.cgi?id=13709
2770
2771         Reviewed by Antti Koivisto.
2772
2773         Border issue is fixed when border width is less than 0.8pt
2774
2775         Border width is stored as unsigned. Border width (specified by
2776         author) is converted into pixels and some times this pixel value
2777         goes less than 1px. In this case, border width becomes 0px when
2778         pixel value (double type) assigned to unsigned type.
2779         Border width should not fall to 0px unless it is specified by
2780         author.
2781
2782         Test: fast/borders/border-width-less-then-a-unit-of-pt.html
2783
2784         * css/StyleBuilder.cpp:
2785         ApplyPropetyComputeLength class is replaced with 3 classes :
2786         ApplyPropertyComputeBorderWidth, ApplyPropertyComputeTextSpacing
2787         and ApplyPropertyComputeTransformOriginZ.
2788
2789         (WebCore::ApplyPropertyComputeBorderWidth::applyValue):
2790         (WebCore::ApplyPropertyComputeBorderWidth::createHandler):
2791         This class handles all width properties like border, outline,
2792         etc. These all properties stores value in integer types.
2793         Pixel value rounded of to 1px if value less than 1px and greater
2794         than 0px.
2795
2796         (WebCore):
2797         (ApplyPropertyComputeTextSpacing):
2798         (WebCore::ApplyPropertyComputeTextSpacing::setValue):
2799         (WebCore::ApplyPropertyComputeTextSpacing::applyValue):
2800         (WebCore::ApplyPropertyComputeTextSpacing::createHandler):
2801         This class handles all spacing properties like word-spacing,
2802         letter-spacing etc.
2803
2804         (ApplyPropertyComputeTransformOriginZ):
2805         (WebCore::ApplyPropertyComputeTransformOriginZ::setValue):
2806         (WebCore::ApplyPropertyComputeTransformOriginZ::applyValue):
2807         (WebCore::ApplyPropertyComputeTransformOriginZ::createHandler):
2808         This class handles TransformOriginZ Property.
2809
2810         (WebCore::StyleBuilder::StyleBuilder):
2811         ApplyProprtyComputeLength class usage changed with defined new
2812         classes as per class definition.
2813
2814 2013-04-09  Gabor Loki  <loki@webkit.org>
2815
2816         Initialization skipped error on WinCario after r147643
2817         https://bugs.webkit.org/show_bug.cgi?id=114258
2818
2819         Reviewed by Csaba Osztrogonác.
2820
2821         Build fix. Adding extra block statement to avoid error C2362 on WinCario
2822
2823         * platform/win/DragImageCairoWin.cpp:
2824         (WebCore::createDragImageFromImage):
2825
2826 2013-04-09  Jinwoo Song  <jinwoo7.song@samsung.com>
2827
2828         [WK2] Remove build warnings for unused parameters
2829         https://bugs.webkit.org/show_bug.cgi?id=114234
2830
2831         Reviewed by Andreas Kling.
2832
2833         Fix build warnings -Wunused-parameter.
2834
2835         * Modules/indexeddb/IDBBackingStore.cpp:
2836         (WebCore::IDBBackingStore::openInMemory):
2837         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2838         (WebCore::CreateIndexAbortOperation::perform):
2839         (WebCore::DeleteIndexAbortOperation::perform):
2840         (WebCore::CreateObjectStoreAbortOperation::perform):
2841         (WebCore::DeleteObjectStoreAbortOperation::perform):
2842         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
2843         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2844         (WebCore::IDBLevelDBCoding::decodeBool):
2845         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
2846         * Modules/indexeddb/IDBLevelDBCoding.h:
2847         (WebCore::IDBLevelDBCoding::encodeIntSafely):
2848         * bindings/js/IDBBindingUtilities.cpp:
2849         (WebCore::canSet):
2850         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2851         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
2852         * platform/leveldb/LevelDBDatabase.cpp:
2853         (WebCore::ComparatorAdapter::FindShortestSeparator):
2854         (WebCore::ComparatorAdapter::FindShortSuccessor):
2855
2856 2013-04-09  Thiago Marcos P. Santos  <thiago.santos@intel.com>
2857
2858         [WK2] Drop WebProcess capabilities on Linux using seccomp filters
2859         https://bugs.webkit.org/show_bug.cgi?id=89875
2860
2861         Reviewed by Maciej Stachowiak.
2862
2863         Make the DATA_DIR global since it is now needed for WebCore and WebKit2.
2864         It is now used to set a sandbox policy for the EFL port.
2865
2866         * PlatformEfl.cmake:
2867
2868 2013-04-08  Ryosuke Niwa  <rniwa@webkit.org>
2869
2870         Remove WebCore.gyp/gypi
2871         https://bugs.webkit.org/show_bug.cgi?id=114239
2872
2873         Reviewed by Benjamin Poulain.
2874
2875         * WebCore.gyp: Removed.
2876         * WebCore.gyp/.gitignore: Removed.
2877         * WebCore.gyp/ConvertFileToHeaderWithCharacterArray.gypi: Removed.
2878         * WebCore.gyp/MakeNames.gypi: Removed.
2879         * WebCore.gyp/WebCore.gyp: Removed.
2880         * WebCore.gyp/mac: Removed.
2881         * WebCore.gyp/mac/adjust_visibility.sh: Removed.
2882         * WebCore.gyp/mac/check_objc_rename.sh: Removed.
2883         * WebCore.gyp/scripts: Removed.
2884         * WebCore.gyp/scripts/action_csspropertynames.py: Removed.
2885         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Removed.
2886         * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Removed.
2887         * WebCore.gyp/scripts/action_makenames.py: Removed.
2888         * WebCore.gyp/scripts/action_useragentstylesheets.py: Removed.
2889         * WebCore.gyp/scripts/rule_bison.py: Removed.
2890         * WebCore.gyp/scripts/supplemental_idl_files.py: Removed.
2891         * WebCore.gypi: Removed.
2892
2893 2013-04-08  Mihai Maerean  <mmaerean@adobe.com>
2894
2895         Rollout r147756: performance regression
2896         https://bugs.webkit.org/show_bug.cgi?id=114176
2897
2898         Reviewed by Alexis Menard.
2899
2900         Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 "[CSS Regions] Elements in a region
2901         should be assignable to a named flow" because of the performance regression in Parser/html5-full-render.html .
2902
2903         No new tests (because this is a rollout patch).
2904
2905         * dom/Element.cpp:
2906         * dom/Element.h:
2907         * dom/NodeRenderingContext.cpp:
2908         (WebCore::NodeRenderingContext::parentRenderer):
2909         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2910         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2911         * dom/NodeRenderingContext.h:
2912         * dom/PseudoElement.h:
2913         * dom/Text.cpp:
2914         (WebCore::Text::textRendererIsNeeded):
2915         (WebCore::Text::updateTextRenderer):
2916         * dom/Text.h:
2917         * rendering/FlowThreadController.cpp:
2918         * rendering/FlowThreadController.h:
2919         * rendering/RenderObject.h:
2920         * rendering/RenderRegion.h:
2921         * svg/SVGElement.cpp:
2922         * svg/SVGElement.h:
2923         
2924 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
2925
2926         Remove HTML Notification
2927         https://bugs.webkit.org/show_bug.cgi?id=114231
2928
2929         Reviewed by Ryosuke Niwa.
2930
2931         The feature is dead. It was only kept in the tree because of chromium.
2932
2933         * Configurations/FeatureDefines.xcconfig:
2934         * Modules/notifications/Notification.cpp:
2935         (WebCore):
2936         (WebCore::Notification::Notification):
2937         * Modules/notifications/Notification.h:
2938         (Notification):
2939         * Modules/notifications/NotificationCenter.h:
2940         (NotificationCenter):
2941         * Modules/notifications/NotificationCenter.idl:
2942         * page/FeatureObserver.h:
2943
2944 2013-04-08  Dean Jackson  <dino@apple.com>
2945
2946         Don't try to remove a non-existent snapshot
2947         https://bugs.webkit.org/show_bug.cgi?id=114226
2948         <rdar://problem/13604480>
2949
2950         Reviewed by Darin Adler.
2951
2952         We don't need to trigger the timer to remove a snapshot
2953         if there was never a snapshot displayed.
2954
2955         * html/HTMLPlugInImageElement.cpp:
2956         (WebCore::HTMLPlugInImageElement::setDisplayState): Detect if we're moving from the DisplayingSnapshot state.
2957         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Guard against a missing renderer.
2958
2959 2013-04-08  Patrick Gansterer  <paroga@webkit.org>
2960
2961         Do not define CAN_THEME_URL_ICON for PLATFORM(WIN_CAIRO)
2962         https://bugs.webkit.org/show_bug.cgi?id=108444
2963
2964         Reviewed by Darin Adler.
2965
2966         Image::loadPlatformResource("urlIcon") returns nothing
2967         since r30961 on Windows which makes the code useless.
2968
2969         * loader/icon/IconDatabase.cpp:
2970
2971 2013-04-05  Roger Fong  <roger_fong@apple.com>
2972
2973         Build fix.
2974
2975         * platform/win/DragImageWin.cpp:
2976         (WebCore::createDragImageIconForCachedImageFilename):
2977
2978 2013-04-08  Geoffrey Garen  <ggaren@apple.com>
2979
2980         Stop #include-ing all of JavaScriptCore in every DOM-related file
2981         https://bugs.webkit.org/show_bug.cgi?id=114220
2982
2983         Reviewed by Sam Weinig.
2984
2985         I separated ScriptWrappableInlines.h from ScriptWrappable.h so
2986         WebCore data types that inherit from ScriptWrappable don't
2987         have to #include all of the infrastructure for accessing that data member.
2988
2989         * ForwardingHeaders/heap/PassWeak.h: Added.
2990         * ForwardingHeaders/heap/WeakInlines.h: Added.
2991         * WebCore.xcodeproj/project.pbxproj:
2992         * bindings/js/DOMWrapperWorld.h:
2993         * bindings/js/JSDOMBinding.h:
2994         (JSC):
2995         * bindings/js/JSEventListener.h:
2996         * bindings/js/JSMutationCallback.cpp:
2997         * bindings/js/JSNodeFilterCondition.h:
2998         * bindings/js/ScriptWrappable.h:
2999         (JSC):
3000         (WebCore):
3001         (ScriptWrappable):
3002         * bindings/js/ScriptWrappableInlines.h: Added.
3003         (WebCore):
3004         (WebCore::ScriptWrappable::wrapper):
3005         (WebCore::ScriptWrappable::setWrapper):
3006         (WebCore::ScriptWrappable::clearWrapper):
3007         * bridge/qt/qt_instance.h:
3008         * bridge/qt/qt_runtime.h:
3009         * bridge/runtime_root.cpp:
3010         * bridge/runtime_root.h:
3011         * css/StylePropertySet.cpp:
3012         * dom/LiveNodeList.cpp:
3013         (WebCore::LiveNodeListBase::reportMemoryUsage):
3014         * dom/Node.cpp:
3015         (WebCore::Node::reportMemoryUsage):
3016         * inspector/InspectorDebuggerAgent.cpp:
3017         * inspector/NetworkResourcesData.cpp:
3018         * loader/cache/CachedSVGDocument.cpp:
3019         * xml/XMLHttpRequest.cpp:
3020         (WebCore::XMLHttpRequest::reportMemoryUsage):
3021
3022 2013-04-08  Tiancheng Jiang  <tijiang@rim.com>
3023
3024         [BlackBerry] Clean up render theme code. 
3025         https://bugs.webkit.org/show_bug.cgi?id=114216
3026
3027         Reviewed by Rob Buis.
3028
3029         BlackBerry PR 323062
3030
3031         Clean up redundant code.
3032
3033         * platform/blackberry/RenderThemeBlackBerry.cpp:
3034         (WebCore):
3035         (WebCore::RenderThemeBlackBerry::paintSliderTrack):
3036         * platform/blackberry/RenderThemeBlackBerry.h:
3037         (RenderThemeBlackBerry):
3038
3039 2013-04-08  Arunprasad Rajkumar  <arunprasadr@nds.com>
3040
3041         Call Netscape Plugin's toString() and valueOf() instead of providing default implementation
3042         https://bugs.webkit.org/show_bug.cgi?id=113139
3043
3044         Reviewed by Anders Carlsson.
3045
3046         Tests: plugins/npruntime/tostring.html
3047                plugins/npruntime/valueof.html
3048
3049         * bridge/c/c_instance.cpp:
3050         (JSC::Bindings::CInstance::~CInstance):
3051         (JSC::Bindings::CInstance::invokeMethod):
3052         (JSC::Bindings::CInstance::invokeDefaultMethod):
3053         (Bindings):
3054         (JSC::Bindings::CInstance::invokeConstruct):
3055         (JSC::Bindings::CInstance::stringValue):
3056         (JSC::Bindings::CInstance::booleanValue):
3057         (JSC::Bindings::CInstance::valueOf):
3058         (JSC::Bindings::CInstance::toJSPrimitive):
3059         * bridge/c/c_instance.h:
3060         (CInstance):
3061
3062 2013-04-08  Tim Horton  <timothy_horton@apple.com>
3063
3064         REGRESSION (r138858): Crash in WebCore::FrameLoader::~FrameLoader() when opening page in a background tab
3065         https://bugs.webkit.org/show_bug.cgi?id=109935
3066         <rdar://problem/13225963>
3067
3068         Reviewed by Brady Eidson.
3069
3070         Previously, we were deciding if a Page could go into
3071         the PageCache by blacklisting certain load types. Instead,
3072         whitelist the load types that we know can go into the cache,
3073         so that newly-added load types are not cached unless
3074         that is explicitly desired.
3075
3076         The crash occurs when a page which is actively loading
3077         is put into the page cache while doing a redirect with
3078         FrameLoadTypeRedirectWithLockedBackForwardList (note that
3079         this is a redirect that was not covered in the blacklist),
3080         and then promptly removed from the page cache, resulting
3081         in resources from the redirect target (the now-active page)
3082         being incorrectly destroyed.
3083
3084         No new tests, only known crash repro case is extremely
3085         timing dependent (and only happens in WebKit2, with tiled
3086         drawing, in background tabs).
3087
3088         * history/PageCache.cpp:
3089         (WebCore::PageCache::canCache):
3090
3091 2013-04-08  Anders Carlsson  <andersca@apple.com>
3092
3093         Fix build.
3094
3095         * platform/network/ResourceHandle.cpp:
3096         (WebCore::ResourceHandle::continueDidReceiveResponse):
3097
3098 2013-04-08  Anders Carlsson  <andersca@apple.com>
3099
3100         Add an async version of ResourceHandle::didReceiveResponse
3101         https://bugs.webkit.org/show_bug.cgi?id=114215
3102
3103         Reviewed by Sam Weinig.
3104
3105         In order to support converting NSURLConnections to NSURLDownloads when using the network process
3106         we need an async version of didReceiveResponse.
3107
3108         * WebCore.exp.in:
3109         * platform/network/ResourceHandleClient.cpp:
3110         (WebCore::ResourceHandleClient::didReceiveResponseAsync):
3111         Just call continueDidReceiveResponse().
3112
3113         * platform/network/mac/ResourceHandleMac.mm:
3114         (WebCore::ResourceHandle::continueWillSendRequest):
3115         Split up a single condition in two, making it easier to see which assertion fails.
3116
3117         (WebCore::ResourceHandle::continueDidReceiveResponse):
3118         Call -[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse].
3119
3120         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
3121         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
3122         (WebCore::ResourceHandle::continueWillCacheResponse):
3123         Split up a single condition in two, making it easier to see which assertion fails.
3124
3125         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
3126         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
3127         (-[WebCoreResourceHandleAsOperationQueueDelegate continueDidReceiveResponse]):
3128         Signal the semaphore.
3129
3130         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
3131         Call didReceiveResponseAsync on the main thread and wait on the semaphore.
3132
3133 2013-04-08  Beth Dakin  <bdakin@apple.com>
3134
3135         Crash in ScrollingCoordinator::mainThreadScrollingReasons() when going back
3136         https://bugs.webkit.org/show_bug.cgi?id=114214
3137         -and corresponding-
3138         <rdar://problem/13208616>
3139
3140         Reviewed by Anders Carlsson.
3141
3142         When a page is restoring from the page cache, the mainFrame can have a null 
3143         Document. So we should null-check the Document here. 
3144
3145         * page/scrolling/ScrollingCoordinator.cpp:
3146         (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
3147
3148 2013-04-08  Andrei Bucur  <abucur@adobe.com>
3149
3150         Simplify ContainerNode::removeChildren
3151         https://bugs.webkit.org/show_bug.cgi?id=113517
3152
3153         Reviewed by Darin Adler.
3154
3155         The patch is based on the work made by Elliott Sprehn. He kindly agreed
3156         for me to finalize the last bits and pieces of the fix.
3157
3158         Simplify ContainerNode::removeChildren by merging the loops and removing
3159         willRemoveChildren. This removes two traversals of the children, avoids
3160         refing and derefing all the children once, avoids allocating a second
3161         NodeVector of children, and means we detach() in the same order as
3162         normal removal.
3163
3164         This does mean you can get into an infinite loop with DOMNodeRemoved
3165         listeners by continously adding nodes but this is true in all other browsers
3166         and the current behavior is bad because it means you don't get notified
3167         of nodes added during removal (which other browsers do notify of). This
3168         patch removes the containerNode.html test that originally tested for this
3169         infinite loop and adds a new one that tests that all nodes get notified.
3170
3171         This makes PerformanceTests/Parser/innerHTML-setter.html 2-6% faster.
3172
3173         There's also a new test verifying ranges remain consistent if modified
3174         inside an mutation event handler. Without the patch it's possible to create
3175         a range with boundaries outside of the DOM tree.
3176
3177         Tests: fast/dom/Range/range-remove-children-event.html
3178                fast/events/mutation-during-innerHTML.html
3179
3180         * dom/ContainerNode.cpp:
3181         (WebCore::ContainerNode::removeChildren):
3182         * dom/Document.cpp:
3183         * dom/Document.h: nodeChildrenWillBeRemoved is not needed any more.
3184         * dom/Range.cpp:
3185         * dom/Range.h: nodeChildrenWillBeRemoved is not needed any more.
3186
3187 2013-04-06  Simon Fraser  <simon.fraser@apple.com>
3188
3189         Remove some #includes in headers in rendering code
3190         https://bugs.webkit.org/show_bug.cgi?id=114079
3191
3192         Reviewed by Sam Weinig.
3193
3194         Clean up #includes in RenderObject, RenderLayer etc.
3195         Moved makeMatrixRenderable() into RenderLayer.app, allowing
3196         the removal of a TransformationMatrix.h include.
3197         
3198         Make some RenderLayer functions that deal with filters not inline,
3199         to avoid including RenderLayerFilterInfo.h.
3200
3201         * platform/graphics/GraphicsLayer.h:
3202         * platform/graphics/ImageOrientation.cpp:
3203         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3204         * platform/graphics/qt/GraphicsContextQt.cpp:
3205         * platform/graphics/transforms/AffineTransform.cpp:
3206         * platform/graphics/transforms/AffineTransform.h:
3207         * rendering/RenderBoxModelObject.h:
3208         * rendering/RenderLayer.cpp:
3209         (WebCore::makeMatrixRenderable):
3210         (WebCore::RenderLayer::filterRenderer):
3211         (WebCore::RenderLayer::filterInfo):
3212         (WebCore::RenderLayer::ensureFilterInfo):
3213         (WebCore::RenderLayer::removeFilterInfoIfNeeded):
3214         * rendering/RenderLayer.h:
3215         * rendering/RenderLayerBacking.h:
3216         * rendering/RenderLineBoxList.h:
3217         * rendering/RenderObject.h:
3218
3219 2013-04-08  Robert Hogan  <robert@webkit.org>
3220
3221         Unreviewed, rolling out r147850.
3222         http://trac.webkit.org/changeset/147850
3223         https://bugs.webkit.org/show_bug.cgi?id=113706
3224
3225         Changeset crossed paths with 147505, which is the same fix.
3226
3227         * rendering/RenderBlockLineLayout.cpp:
3228         (WebCore::inlineLogicalWidth):
3229
3230 2013-04-08  Alexey Proskuryakov  <ap@apple.com>
3231
3232         <rdar://problem/12834449> Crashes in WebSocketChannel::processFrame when processing a ping
3233         https://bugs.webkit.org/show_bug.cgi?id=114178
3234
3235         Reviewed by Brady Eidson.
3236
3237         No test, I could never reproduce even manually.
3238
3239         Calling enqueueRawFrame() could change incoming buffer, so a subsequent skipBuffer()
3240         would operate on wrong assumptions. This happened because enqueueRawFrame() actually
3241         tried to process the queue, and send failure sometimed clears m_buffer.
3242
3243         Fixing this by decoupling enqueuing from sending, and making sure that skipBuffer()
3244         in ping frame processing case is performed at a safe time.
3245
3246         * Modules/websockets/WebSocketChannel.cpp:
3247         (WebCore::WebSocketChannel::send):
3248         (WebCore::WebSocketChannel::startClosingHandshake):
3249         (WebCore::WebSocketChannel::processFrame):
3250         (WebCore::WebSocketChannel::enqueueTextFrame):
3251         (WebCore::WebSocketChannel::enqueueRawFrame):
3252         (WebCore::WebSocketChannel::enqueueBlobFrame):
3253
3254 2013-04-08  Max Vujovic  <mvujovic@adobe.com>
3255
3256         REGRESSION (r147502): Animations of CA filters broken
3257         https://bugs.webkit.org/show_bug.cgi?id=114067
3258
3259         Reviewed by Dean Jackson.
3260
3261         Revert r147502 [1] because it broke CA filter animations.
3262         
3263         [1]: http://trac.webkit.org/changeset/147502
3264
3265         * platform/graphics/IntRectExtent.h:
3266         (WebCore::IntRectExtent::isZero):
3267         (IntRectExtent):
3268         * rendering/RenderLayer.cpp:
3269         (WebCore::RenderLayer::needsCompositingLayersRebuiltForOverflow):
3270         (WebCore):
3271         (WebCore::RenderLayer::styleChanged):
3272         * rendering/RenderLayer.h:
3273         (RenderLayer):
3274         * rendering/RenderLayerBacking.cpp:
3275         (WebCore::RenderLayerBacking::updateFilters):
3276         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3277         * rendering/RenderLayerBacking.h:
3278         (RenderLayerBacking):
3279         * rendering/RenderLayerCompositor.cpp:
3280         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3281
3282 2013-04-08  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3283
3284         [Qt] Avoid "QFont::setPixelSize: Pixel size <= 0 (0)"
3285         https://bugs.webkit.org/show_bug.cgi?id=114175
3286
3287         Reviewed by Allan Sandfeld Jensen.
3288
3289         QFont doesn't support a 0-size but WebCore does.
3290         Leave our QFont in its default state in this case to avoid the warning.
3291
3292         * platform/graphics/qt/FontPlatformDataQt.cpp:
3293         (WebCore::FontPlatformData::FontPlatformData):
3294
3295 2013-04-08  Yi Shen  <max.hong.shen@gmail.com>
3296
3297         Counter still gets incremented when counter-increment is set to none
3298         https://bugs.webkit.org/show_bug.cgi?id=84985
3299
3300         Reviewed by Darin Adler.
3301
3302         When the counter-increment is set to none, no counters are incremented.
3303
3304         Tests: New test cases added in fast/css/counters/counter-increment-tests.htm
3305
3306         * css/StyleBuilder.cpp:
3307         (WebCore::ApplyPropertyCounter::applyValue):
3308
3309 2013-04-08  Douglas Stockwell  <dstockwell@chromium.org>
3310
3311         Crash in WebCore::ElementRuleCollector::collectMatchingRulesForList
3312         https://bugs.webkit.org/show_bug.cgi?id=113458
3313
3314         Reviewed by Darin Adler.
3315
3316         A stylesheet which has been invalidated (type changed from "" or
3317         "text/css") was not correctly removed from the list of active
3318         style sheets when its children are changed.
3319
3320         This change releases StyleElement::m_sheet in advance of calling
3321         DocumentStyleSheetCollection::updateActiveStyleSheets.
3322
3323         (StyleElement::clearSheet calls CSSStyleSheet::clearOwnerNode calls
3324         CSSStyleSheet::didMutate calls Document::styleResolverChanged calls
3325         DocumentStyleSheetCollection::updateActiveStyleSheets)
3326
3327         Test: fast/css/style-element-invalidation-crash.html
3328
3329         * dom/StyleElement.cpp:
3330         (WebCore::StyleElement::clearSheet): Release m_sheet before we
3331           trigger an update of the active style sheets.
3332
3333 2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3334
3335         [GTK] DOM objects created wrapping a base class have incorrect GObject type
3336         https://bugs.webkit.org/show_bug.cgi?id=113132
3337
3338         Reviewed by Gustavo Noronha Silva.
3339
3340         Some of the DOM methods can create a concrete instance of another
3341         object, but return a base class. GObject bindings provide custom
3342         kit implementations for Node, Element, Event and EvenTarget, so
3343         any concrete HTMLElement wrapped as an HTMLElement ends up
3344         wrapping the right WebCore object but in the wrong GObject type.
3345         This affects not only HTMLElements, but any polymorphic object
3346         wrapped using a base class.
3347         This patch changes the way objects are created, so that all
3348         classes have their own kit implementation, but for polymorphic
3349         objects the kit implementation of the base class is always
3350         used. The kit method of polymorphic base classes use a generic
3351         wrap method instead of the wrapFoo method like all other
3352         classes. In the static code we provide the implementation of the
3353         generic wrap method for every polimorphic base class, falling back
3354         to their wrapFoo method if the concrete object can't be used to
3355         wrap the object.
3356         Both WebKitDOMBinding and WebKitHTMLElementWrapperFactory now provide
3357         implementations of wrap and have been renamed to WebKitDOMPrivate
3358         and WebKitDOMHTMLPrivate.
3359
3360         * bindings/gobject/GNUmakefile.am:
3361         * bindings/gobject/WebKitDOMBinding.cpp: Removed.
3362         * bindings/gobject/WebKitDOMEventTarget.cpp:
3363         (WebKit::kit): Moved kit implementation from WebKitDOMBinding for
3364         consistency with all other objects that have their own kit.
3365         (WebKit::core): Updated to match the core implementation fo all
3366         other objects.
3367         * bindings/gobject/WebKitDOMEventTargetPrivate.h:
3368         (WebCore):
3369         (WebKit):
3370         * bindings/gobject/WebKitDOMHTMLPrivate.cpp: Added.
3371         (WebKit): Use preprocessor macros to define and set the wrap
3372         functions of all HTML elements, removing a lot of boilerplate code
3373         and making it easier to add new wrap functions in the future.
3374         (WebKit::wrap):
3375         * bindings/gobject/WebKitDOMHTMLPrivate.h: Renamed from Source/WebCore/bindings/gobject/WebKitHTMLElementWrapperFactory.h.
3376         (WebCore):
3377         (WebKit):
3378         * bindings/gobject/WebKitDOMObject.cpp:
3379         * bindings/gobject/WebKitDOMPrivate.cpp: Added.
3380         (WebKit):
3381         (WebKit::wrap):
3382         * bindings/gobject/WebKitDOMPrivate.h: Renamed from Source/WebCore/bindings/gobject/WebKitDOMBinding.h.
3383         (WebCore):
3384         (WebKit):
3385         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Removed.
3386         * bindings/scripts/CodeGeneratorGObject.pm:
3387         (IsBaseType): Helper function to check if a type is a base class.
3388         (GetBaseClass): Helper function to get the base class for a given
3389         parent type.
3390         (GenerateFunction): Remove special case for EventTarget since the
3391         kit prototype of EventTarget is in its private header like all
3392         other objects.
3393         (GenerateCFile): Add a kit implementation for all objects.
3394         (IsPolymorphic): Helper function to check if the given type is the
3395         base class of a polymorphic object.
3396         (Generate): Include the private header of the base class for
3397         polymorphic objects.
3398         (WriteData): Remove the special case for WebKitDOMNode since now
3399         all objects has a kit method.
3400         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3401         (WebKit::kit):
3402         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
3403         (WebKit):
3404         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3405         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
3406         (WebKit):
3407         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3408         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
3409         (WebKit):
3410         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3411         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
3412         (WebKit):
3413         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3414         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
3415         (WebKit):
3416         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3417         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
3418         (WebKit):
3419         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3420         * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
3421         (WebKit):
3422         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3423         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
3424         (WebKit):
3425         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3426         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
3427         (WebKit):
3428         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3429         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
3430         (WebKit):
3431         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3432         (WebKit::kit):
3433         * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
3434         (WebKit):
3435         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3436         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
3437         (WebKit):
3438         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3439         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h:
3440         (WebKit):
3441         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3442         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
3443         (WebKit):
3444         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
3445         * bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h:
3446         (WebKit):
3447
3448 2013-04-08  Andras Becsi  <andras.becsi@digia.com>
3449
3450         Fix the build with strict GCC 4.8
3451
3452         Unreviewed build fix.
3453
3454         Initialize dragImage to suppress GCC's warning about it being possibly used uninitialized,
3455         which results is a build failure with GCC 4.8 that sets -Werror=maybe-uninitialized.
3456
3457         No new tests needed.
3458
3459         * page/DragController.cpp:
3460         (WebCore::DragController::doImageDrag):
3461
3462 2013-04-08  Zan Dobersek  <zdobersek@igalia.com>
3463
3464         Remove the unused LayoutTestSupport class
3465         https://bugs.webkit.org/show_bug.cgi?id=114170
3466
3467         Reviewed by Alexey Proskuryakov.
3468
3469         The LayoutTestSupport class is not used by any port anywhere in the code and should be removed.
3470
3471         No new tests - no changes in functionality.
3472
3473         * CMakeLists.txt:
3474         * GNUmakefile.list.am:
3475         * Target.pri:
3476         * WebCore.vcproj/WebCore.vcproj:
3477         * WebCore.vcxproj/WebCore.vcxproj:
3478         * WebCore.vcxproj/WebCore.vcxproj.filters:
3479         * WebCore.xcodeproj/project.pbxproj:
3480         * platform/LayoutTestSupport.cpp: Removed.
3481         * platform/LayoutTestSupport.h: Removed.
3482
3483 2013-04-08  Zan Dobersek  <zdobersek@igalia.com>
3484
3485         Remove WebCore::(enable|disable)SecureTextInput methods
3486         https://bugs.webkit.org/show_bug.cgi?id=114126
3487
3488         Reviewed by Alexey Proskuryakov.
3489
3490         Remove the enableSecureTextInput and disableSecureTextInput methods and all the codepaths leading to them.
3491         These were used only by the Chromium port and are as such not required anymore.
3492
3493         No new tests - no changes in functionality.
3494
3495         * GNUmakefile.list.am:
3496         * WebCore.order:
3497         * WebCore.xcodeproj/project.pbxproj:
3498         * dom/Document.cpp:
3499         (WebCore::Document::Document):
3500         * dom/Document.h:
3501         (Document):
3502         * editing/FrameSelection.cpp:
3503         (WebCore::FrameSelection::focusedOrActiveStateChanged):
3504         * editing/FrameSelection.h:
3505         (FrameSelection):
3506         * html/PasswordInputType.cpp:
3507         * html/PasswordInputType.h:
3508         (PasswordInputType):
3509         * page/Frame.cpp:
3510         (WebCore::Frame::setDocument):
3511         * platform/SecureTextInput.h: Removed.
3512
3513 2013-04-08  Jer Noble  <jer.noble@apple.com>
3514
3515         Unreviewed build fix; r147892 moved an export definition out of
3516         a protective #ifdef, causing a link error on platforms which do
3517         not define that method.
3518
3519         * WebCore.exp.in:
3520
3521 2013-04-08  Brendan Long  <b.long@cablelabs.com>
3522
3523         [Qt] Enable text tracks from track elements
3524         https://bugs.webkit.org/show_bug.cgi?id=113522
3525
3526         Reviewed by Jocelyn Turcotte.
3527
3528         No new tests because they're already there. This just enables the feature.
3529
3530         * Target.pri:
3531         * bindings/generic/RuntimeEnabledFeatures.cpp:
3532         (WebCore):
3533         * platform/qt/LocalizedStringsQt.cpp:
3534         (WebCore):
3535         (WebCore::textTrackSubtitlesText):
3536         (WebCore::textTrackOffText):
3537         (WebCore::textTrackNoLabelText):
3538
3539 2013-04-08  Sergio Villar Senin  <svillar@igalia.com>
3540
3541         [GTK] Toggle OverWrite mode when pressing the Insert key
3542         https://bugs.webkit.org/show_bug.cgi?id=113384
3543
3544         Reviewed by Martin Robinson.
3545
3546         Perform an OverWrite command as a response to the emission of the
3547         toggle-overwrite signal. Due to the nature of the command it will
3548         only do that when being on a richly editable web content.
3549
3550         * platform/gtk/KeyBindingTranslator.cpp:
3551         (WebCore::toggleOverwriteCallback):
3552
3553 2013-04-08  Seokju Kwon  <seokju.kwon@gmail.com>
3554
3555         [BlackBerry] Provide more specific error description for SocketStreamError
3556         https://bugs.webkit.org/show_bug.cgi?id=114134
3557
3558         Reviewed by Rob Buis.
3559
3560         Pass the reason of a failure to SocketStreamError instance
3561         and notify it via SocketStreamHandleClient::didFailSocketStream().
3562
3563         * platform/network/blackberry/SocketStreamError.h:
3564         (WebCore::SocketStreamError::SocketStreamError):
3565         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
3566         (WebCore::SocketStreamHandle::notifyStatusReceived):
3567
3568 2013-04-08  Youenn Fablet  <youennf@gmail.com>
3569
3570         [GTK][EFL] HEAD requests changed to GET after 303 redirection
3571         https://bugs.webkit.org/show_bug.cgi?id=110127
3572
3573         Reviewed by Martin Robinson.
3574
3575         Made shouldRedirectAsGET always return false for HEAD requests.
3576
3577         * platform/network/soup/ResourceHandleSoup.cpp:
3578         (WebCore::shouldRedirectAsGET):
3579
3580 2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3581
3582         DragImage should not depend on Frame and CachedImage
3583         https://bugs.webkit.org/show_bug.cgi?id=21357
3584
3585         Reviewed by Sam Weinig.
3586
3587         Remove Frame and CachedImage dependencies from DragImage.
3588
3589         * dom/Clipboard.h:
3590         (WebCore): Add forward delcaration for CacheImage since it's not
3591         included anymore in DragImage.h.
3592         * page/DragController.cpp:
3593         (WebCore::DragController::startDrag): Use
3594         Frame::dragImageForSelection() and call
3595         dissolveDragImageToFraction() for the returned DragImage. Pass the
3596         font rendering mode to createDragImageForLink, instead of a Frame
3597         that is only used to get the font rendering mode.
3598         (WebCore::DragController::doImageDrag): Get the suggested filename
3599         for the cached image and pass it to
3600         createDragImageIconForCachedImageFilename().
3601         * platform/DragImage.cpp:
3602         (WebCore::createDragImageForLink): Receive a FontRenderingMode
3603         instead of a Frame.
3604         * platform/DragImage.h:
3605         (WebCore): Remove createDragImageForSelection, change
3606         createDragImageForLink to receive a FontRenderingMode instead of a
3607         frame, and rename createDragImageIconForCachedImage as
3608         createDragImageIconForCachedImageFilename since it nows received
3609         the suggested filename of the cached image.
3610         * platform/blackberry/DragImageBlackBerry.cpp:
3611         (WebCore::createDragImageIconForCachedImageFilename): Adapt to API
3612         changes.
3613         * platform/efl/DragImageEfl.cpp:
3614         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
3615         * platform/gtk/DragImageGtk.cpp:
3616         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
3617         * platform/mac/DragImageMac.mm:
3618         (WebCore::dissolveDragImageToFraction): Return early if the passed
3619         image is NULL.
3620         (WebCore::createDragImageIconForCachedImageFilename): Adapt to API
3621         changes.
3622         (WebCore::createDragImageForLink): Ditto.
3623         * platform/qt/DragImageQt.cpp:
3624         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
3625         * platform/win/DragImageWin.cpp:
3626         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
3627         (WebCore::createDragImageForLink): Ditto.
3628         * platform/wx/DragImageWx.cpp:
3629         (WebCore::createDragImageIconForCachedImageFilename): Ditto.
3630
3631 2013-04-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
3632
3633         [EFL] REGRESSION(r147743): Use the correct `operator new' override in RenderThemeEfl.
3634         https://bugs.webkit.org/show_bug.cgi?id=114166
3635
3636         Reviewed by Alexis Menard.
3637
3638         r147743 disabled GLOBAL_FAST_MALLOC_NEW on the EFL port, but this has
3639         caused some pixel tests in WK1 to crash.
3640
3641         The problem stems from RenderThemeEfl::applyEdjeRTLState() directly
3642         calling `operator new(size_t)' for some allocations.
3643         RefCounted<RenderTheme>, on its turn, has a WTF_MAKE_FAST_ALLOCATED
3644         call which adds some `operator new' overrides to the class. Our direct
3645         calls in applyEdjeRTLState() made the scope resolution rules choose the
3646         WTF_MAKE_FAST_ALLOCATED version (which uses FastMalloc's allocator),
3647         while WTF::deleteOwnedPtr() calls the global `operator delete' (which
3648         uses the system's free() implementation).
3649
3650         * platform/efl/RenderThemeEfl.cpp:
3651         (WebCore::RenderThemeEfl::applyEdjeRTLState): Explicitly choose the
3652         global `operator new' when calling it.
3653
3654 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
3655
3656         Remove the android code from WebCore
3657         https://bugs.webkit.org/show_bug.cgi?id=114136
3658
3659         Reviewed by Anders Carlsson.
3660
3661         * WebCore.exp.in:
3662         * dom/ViewportArguments.cpp:
3663         (WebCore):
3664         (WebCore::setViewportFeature):
3665         (WebCore::viewportErrorMessageTemplate):
3666         (WebCore::viewportErrorMessageLevel):
3667         * dom/ViewportArguments.h:
3668         (WebCore::ViewportArguments::ViewportArguments):
3669         (ViewportArguments):
3670         (WebCore::ViewportArguments::operator==):
3671         * editing/EditingBehavior.h:
3672         (WebCore::EditingBehavior::shouldMoveCaretToHorizontalBoundaryWhenPastTopOrBottom):
3673         (WebCore::EditingBehavior::shouldAllowSpellingSuggestionsWithoutSelection):
3674         (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
3675         * editing/EditingBehaviorTypes.h:
3676         * page/EventHandler.cpp:
3677         (WebCore::EventHandler::handleGestureLongTap):
3678         (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
3679         * page/Settings.cpp:
3680         (WebCore):
3681         (WebCore::editingBehaviorTypeForPlatform):
3682         * platform/graphics/FontCache.h:
3683         (FontCache):
3684         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
3685         (WebCore::FontPlatformData::getRenderStyleForStrike):
3686         * testing/InternalSettings.cpp:
3687         (WebCore::InternalSettings::setEditingBehavior):
3688
3689 2013-04-07  Oliver Hunt  <oliver@apple.com>
3690
3691         Add bounds checking for WTF::Vector::operator[]
3692         https://bugs.webkit.org/show_bug.cgi?id=89600
3693
3694         Reviewed by Filip Pizlo.
3695
3696         Fix exports
3697
3698         * WebCore.exp.in:
3699
3700 2013-04-07  Benjamin Poulain  <benjamin@webkit.org>
3701
3702         Do not allocate static AtomicStrings when searching for alternate font names
3703         https://bugs.webkit.org/show_bug.cgi?id=114110
3704
3705         Reviewed by Geoffrey Garen.
3706
3707         FontCache's alternateFamilyName does some font name substitutions
3708         when a font is not found for a given name.
3709
3710         In the vast majority of cases, no substitutions are made and
3711         alternateFamilyName returns the null atom.
3712         Given the usage the function had a couple of problems:
3713         -It created 6 static AtomicString.
3714         -It did a case insensitive comparison with 6 differents strings
3715          before failing.
3716
3717         This patch aims at solving both issues.
3718
3719         Instead of creating all AtomicString statically, the alternate name
3720         are simply created on the fly as needed. Because the operation is so
3721         unfrequent, and it uses the fast constructor, doing so should not slow
3722         down the function.
3723
3724         To avoid comparing the input to every string, every time, the length of
3725         the input is first evaluated, and we only do the necessary string comparisons.
3726
3727         On x86_64, this reduces the binary size by 2128 bytes.
3728
3729         * platform/graphics/FontCache.cpp:
3730         (WebCore::familyNameEqualIgnoringCase):
3731         When comparing strings, we know:
3732         -The family name is non null.
3733         -The length of both strings is equal.
3734         -The length is not null.
3735         Make the comparison accordingly.
3736
3737         (WebCore::alternateFamilyName):
3738         (WebCore::FontCache::getCachedFontPlatformData):
3739
3740 2013-04-07  Zan Dobersek  <zdobersek@igalia.com>
3741
3742         Remove remaining PLATFORM(CHROMIUM)-guarded code in WebCore
3743         https://bugs.webkit.org/show_bug.cgi?id=114081
3744
3745         Remove the remaining PLATFORM(CHROMIUM) build guards. There are still a couple of guards
3746         that most likely apply only to Chromium, like OS(ANDROID) or USE(SKIA_ON_MAC_CHROMIUM),
3747         but removal of these should go into separate patches.
3748
3749         * bindings/generic/RuntimeEnabledFeatures.cpp:
3750         (WebCore):
3751         * config.h:
3752         * history/PageCache.cpp:
3753         (WebCore):
3754         (WebCore::logCanCacheFrameDecision):
3755         (WebCore::logCanCachePageDecision):
3756         (WebCore::PageCache::canCache):
3757         * html/HTMLCanvasElement.cpp:
3758         (WebCore::HTMLCanvasElement::getContext):
3759         (WebCore::HTMLCanvasElement::shouldAccelerate):
3760         * html/HTMLCanvasElement.h:
3761         * html/HTMLMediaElement.cpp:
3762         (WebCore::createFileURLForApplicationCacheResource):
3763         (WebCore::HTMLMediaElement::loadResource):
3764         * html/HTMLSelectElement.cpp:
3765         (WebCore):
3766         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3767         * html/MediaDocument.cpp:
3768         (WebCore::MediaDocument::defaultEventHandler):
3769         * html/canvas/EXTDrawBuffers.cpp:
3770         (WebCore::EXTDrawBuffers::satisfiesWebGLRequirements):
3771         * html/canvas/WebGLRenderingContext.cpp:
3772         (WebCore):
3773         (WebCore::WebGLRenderingContext::create):
3774         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
3775         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
3776         (WebCore::WebGLRenderingContext::platformLayer):
3777         * inspector/InspectorInstrumentation.cpp:
3778         (WebCore):
3779         (WebCore::InspectorInstrumentation::willPaintImpl):
3780         * inspector/InspectorTimelineAgent.cpp:
3781         (WebCore::InspectorTimelineAgent::didBeginFrame):
3782         * loader/DocumentLoader.cpp:
3783         (WebCore::DocumentLoader::notifyFinished):
3784         * page/FeatureObserver.cpp:
3785         (WebCore::FeatureObserver::~FeatureObserver):
3786         * platform/AsyncFileSystem.cpp:
3787         (WebCore):
3788         * platform/ContextMenu.h:
3789         (ContextMenu):
3790         * platform/ContextMenuItem.h:
3791         * platform/Cursor.h:
3792         * platform/DragData.cpp:
3793         (WebCore):
3794         * platform/DragData.h:
3795         * platform/DragImage.h:
3796         * platform/LocalizedStrings.h:
3797         (WebCore):
3798         * platform/Pasteboard.h:
3799         (Pasteboard):
3800         * platform/PlatformExportMacros.h:
3801         * platform/PlatformInstrumentation.h:
3802         (WebCore::PlatformInstrumentation::willDecodeImage):
3803         (WebCore::PlatformInstrumentation::didDecodeImage):
3804         (WebCore::PlatformInstrumentation::willResizeImage):
3805         (WebCore::PlatformInstrumentation::didResizeImage):
3806         * platform/PlatformMenuDescription.h:
3807         (WebCore):
3808         * platform/PlatformSpeechSynthesizer.h:
3809         (PlatformSpeechSynthesizer):
3810         * platform/PlatformWheelEvent.h:
3811         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3812         (PlatformWheelEvent):
3813         * platform/ScrollAnimator.cpp:
3814         (WebCore):
3815         (WebCore::ScrollAnimator::handleWheelEvent):
3816         * platform/ScrollAnimator.h:
3817         (ScrollAnimator):
3818         * platform/ScrollAnimatorNone.cpp:
3819         (WebCore::ScrollAnimatorNone::scroll):
3820         (WebCore::ScrollAnimatorNone::animationTimerFired):
3821         * platform/ScrollView.cpp:
3822         (WebCore::ScrollView::updateOverhangAreas):
3823         * platform/ScrollableArea.cpp:
3824         (WebCore::ScrollableArea::scrollPositionChanged):
3825         * platform/Scrollbar.cpp:
3826         * platform/SecureTextInput.cpp: Removed.
3827         * platform/SecureTextInput.h:
3828         (WebCore):
3829         * platform/SuddenTermination.h:
3830         (WebCore):
3831         * platform/Widget.h:
3832         (Widget):
3833         * platform/graphics/ANGLEWebKitBridge.h:
3834         * platform/graphics/BitmapImage.h:
3835         * platform/graphics/FloatPoint.h:
3836         (FloatPoint):
3837         * platform/graphics/FloatRect.h:
3838         (FloatRect):
3839         * platform/graphics/FloatSize.h:
3840         (FloatSize):
3841         * platform/graphics/Font.cpp:
3842         (WebCore):
3843         (WebCore::Font::width):
3844         * platform/graphics/Font.h:
3845         (Font):
3846         * platform/graphics/FontCache.cpp:
3847         (WebCore):
3848         * platform/graphics/FontCache.h:
3849         (FontCache):
3850         * platform/graphics/FontDescription.h:
3851         * platform/graphics/FontPlatformData.cpp:
3852         * platform/graphics/GlyphBuffer.h:
3853         (WebCore):
3854         (WebCore::GlyphBuffer::add):
3855         * platform/graphics/GraphicsContext.cpp:
3856         (WebCore::GraphicsContext::drawImage):
3857         (WebCore::GraphicsContext::drawImageBuffer):
3858         * platform/graphics/GraphicsContext3D.h:
3859         (GraphicsContext3D):
3860         * platform/graphics/GraphicsLayer.h:
3861         (WebCore::GraphicsLayer::supportsBackgroundColorContent):
3862         * platform/graphics/Icon.h:
3863         (Icon):
3864         * platform/graphics/ImageSource.cpp:
3865         * platform/graphics/ImageSource.h:
3866         (WebCore):
3867         * platform/graphics/IntRect.h:
3868         (IntRect):
3869         (WebCore):
3870         * platform/graphics/MediaPlayer.cpp:
3871         * platform/graphics/PlatformLayer.h:
3872         * platform/graphics/SimpleFontData.h:
3873         (SimpleFontData):
3874         (DerivedFontData):
3875         * platform/graphics/filters/FECustomFilter.cpp:
3876         (WebCore::FECustomFilter::resizeContext):
3877         * platform/graphics/gpu/DrawingBuffer.h:
3878         (WebCore):
3879         (DrawingBuffer):
3880         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
3881         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3882         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
3883         * platform/image-decoders/ImageDecoder.h:
3884         * platform/leveldb/LevelDBDatabase.cpp:
3885         (WebCore::LevelDBDatabase::open):
3886         * platform/network/BlobRegistry.cpp:
3887         (WebCore::blobRegistry):
3888         * platform/network/BlobRegistryImpl.cpp:
3889         * platform/network/NetworkStateNotifier.cpp:
3890         * platform/network/NetworkStateNotifier.h:
3891         (NetworkStateNotifier):
3892         * platform/network/NetworkingContext.h:
3893         (NetworkingContext):
3894         * platform/network/ResourceHandleClient.h:
3895         * platform/network/ResourceRequestBase.cpp:
3896         (WebCore):
3897         * platform/text/cf/HyphenationCF.cpp:
3898         * plugins/PluginViewNone.cpp:
3899         (WebCore):
3900         * testing/Internals.cpp:
3901         * xml/XMLHttpRequest.cpp:
3902         (WebCore::XMLHttpRequest::createRequest):
3903
3904 2013-04-07  Ed Bartosh  <bartosh@gmail.com>
3905
3906         [EFL] --minimal build fails because of incorrect usage of GENERATE_THEME in CMakeLists.txt
3907         https://bugs.webkit.org/show_bug.cgi?id=113902
3908
3909         Unreviewed.
3910
3911         * platform/efl/DefaultTheme/CMakeLists.txt:
3912         Put possibly empty variable after non-empty to avoid space
3913         at the beginning of string parameter
3914
3915 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3916
3917         Add default implementation for KURL::fileSystemPath()
3918         https://bugs.webkit.org/show_bug.cgi?id=108326
3919
3920         Reviewed by Benjamin Poulain.
3921
3922         The code for KURL::fileSystemPath() has been duplicated in different ports.
3923         Add an implementation of this function to KURL.cpp for this ports and
3924         get rid of the very similar port specific implementation files.
3925
3926         * PlatformBlackBerry.cmake:
3927         * PlatformEfl.cmake:
3928         * PlatformWinCE.cmake:
3929         * platform/KURL.cpp:
3930         (WebCore):
3931         (WebCore::KURL::fileSystemPath):
3932         * platform/blackberry/KURLBlackBerry.cpp: Removed.
3933         * platform/efl/KURLEfl.cpp: Removed.
3934         * platform/wince/KURLWinCE.cpp: Removed.
3935         * platform/wx/KURLWx.cpp: Removed.
3936
3937 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
3938
3939         Remove references to Skia and V8 from CMake files
3940         https://bugs.webkit.org/show_bug.cgi?id=114130
3941
3942         Reviewed by Geoffrey Garen.
3943
3944         * PlatformBlackBerry.cmake:
3945
3946 2013-04-07  David Kilzer  <ddkilzer@apple.com>
3947
3948         Remove the rest of SVG_DOM_OBJC_BINDINGS
3949         <http://webkit.org/b/114112>
3950
3951         Reviewed by Geoffrey Garen.
3952
3953         * Configurations/WebCore.xcconfig:
3954         - Remove EXCLUDED_SOURCE_FILE_NAMES_SVG_DOM_OBJC_BINDINGS.  Note
3955           that DOMHTMLIFrameElementPrivate.h should not have been in
3956           this list because the class contained methods other than just
3957           -getSVGDocument.
3958
3959         * WebCore.xcodeproj/project.pbxproj:
3960         - Remove DOMHTMLFrameElementPrivate.h since the only method it
3961           contained was -[DOMHTMLFrameElement getSVGDocument], which was
3962           part of the SVG DOM Objective-C bindings.
3963
3964         * bindings/objc/DOM.mm:
3965         (kitClass):
3966         * bindings/objc/DOMEvents.mm:
3967         (kitClass):
3968         * bindings/objc/ExceptionHandlers.mm:
3969         (WebCore::raiseDOMException):
3970         - Remove code in ENABLE(SVG_DOM_OBJC_BINDINGS).
3971
3972 2013-04-07  Oliver Hunt  <oliver@apple.com>
3973
3974         Inspector should display information about non-object exceptions
3975         https://bugs.webkit.org/show_bug.cgi?id=114123
3976
3977         Reviewed by Adele Peterson.
3978
3979         Make use of the stack trace for line information when we're reporting
3980         an exception
3981
3982         * bindings/js/JSDOMBinding.cpp:
3983         (WebCore::reportException):
3984
3985 2013-04-07  Robert Hogan  <robert@webkit.org>
3986
3987         table element may get larger when its contents are recreated
3988         https://bugs.webkit.org/show_bug.cgi?id=111342
3989
3990         Reviewed by Darin Adler.
3991
3992         Remove anonymous table section wrappers when destroying their children.
3993
3994         Test: fast/table/anonymous-table-section-removed.html
3995
3996         * rendering/RenderObject.cpp:
3997         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
3998
3999 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
4000
4001         [WIN] Fix build without precompiled header after r145827.
4002
4003         * platform/ContextMenuItem.h:
4004         * platform/PlatformMenuDescription.h:
4005
4006 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
4007
4008         Fix compilation of LocaleWin with !ENABLE(CALENDAR_PICKER) && !ENABLE(DATE_AND_TIME_INPUT_TYPES)
4009
4010         * platform/text/win/LocaleWin.cpp:
4011         (WebCore::LocaleWin::ensureShortMonthLabels):
4012         (WebCore):
4013         (WebCore::LocaleWin::ensureMonthLabels):
4014
4015 2013-04-07  Patrick Gansterer  <paroga@webkit.org>
4016
4017         [WIN] Fix build without precompiled header after r144216.
4018
4019         * platform/network/cf/FormDataStreamCFNet.h:
4020         * platform/network/mac/FormDataStreamMac.h:
4021
4022 2013-04-07  Ed Bartosh  <bartosh@gmail.com>
4023
4024         [EFL] --minimal build fails with error: WebCore::FrameSelection::notifyAccessibilityForSelectionChange()
4025         https://bugs.webkit.org/show_bug.cgi?id=114089
4026
4027         Reviewed by Chris Fleizach.
4028
4029         Wrapped accessibility related code in #if HAVE(ACCESSIBILITY)
4030         * editing/FrameSelection.cpp:
4031         (WebCore::FrameSelection::setSelection):
4032         * editing/FrameSelection.h:
4033         (WebCore):
4034
4035 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
4036
4037         Get rid of skia
4038         https://bugs.webkit.org/show_bug.cgi?id=114108
4039
4040         Reviewed by Anders Carlsson.
4041
4042         * platform/graphics/filters/skia/*: Removed.
4043         * platform/graphics/skia/*: Removed.
4044         * platform/image-decoders/skia/*: Removed.
4045         * platform/image-encoders/skia/*: Removed.
4046
4047 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
4048
4049         Remove the chromium code from platform/graphics/mac
4050         https://bugs.webkit.org/show_bug.cgi?id=114107
4051
4052         Reviewed by Anders Carlsson.
4053
4054         * platform/graphics/mac/FontCacheMac.mm:
4055         (WebCore::FontCache::getFontDataForCharacters):
4056         (WebCore::FontCache::createFontPlatformData):
4057         * platform/graphics/mac/FontComplexTextMac.cpp:
4058         (WebCore::Font::selectionRectForComplexText):
4059         (WebCore::Font::drawComplexText):
4060         (WebCore::Font::floatWidthForComplexText):
4061         (WebCore::Font::offsetForPositionForComplexText):
4062         * platform/graphics/mac/FontMac.mm:
4063         (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):
4064
4065 2013-04-06  Benjamin Poulain  <benjamin@webkit.org>
4066
4067         Clean platform/graphics/cg of the chromium bits
4068         https://bugs.webkit.org/show_bug.cgi?id=114106
4069
4070         Reviewed by Anders Carlsson.
4071
4072         * platform/graphics/cg/BitmapImageCG.cpp:
4073         * platform/graphics/cg/GraphicsContextCG.cpp:
4074         (WebCore::GraphicsContext::roundToDevicePixels):
4075         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
4076         (GraphicsContextPlatformPrivate):
4077         * platform/graphics/cg/ImageBufferCG.cpp: