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