aae12bf01384bfb3d755a75eaf9753c99cc81347
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-16  Yael Aharon  <yael.aharon@nokia.com>
2
3         Unreviewed build fix after r111075.
4         Correct the path of WebKitBlobBuilder.idl.
5
6         * DerivedSources.pri:
7
8 2012-03-16  David Levin  <levin@chromium.org>
9
10         Fix for test runs for non-chromium platforms.
11
12         * loader/cache/MemoryCache.cpp:
13         (WebCore::memoryCache):
14         (WebCore::MemoryCache::add):
15         (WebCore::MemoryCache::revalidationFailed):
16         (WebCore::MemoryCache::resourceForURL):
17         (WebCore::MemoryCache::evict):
18
19 2012-03-16  Tony Chang  <tony@chromium.org>
20
21         Unreviewed, rolling out r111094.
22         http://trac.webkit.org/changeset/111094
23         https://bugs.webkit.org/show_bug.cgi?id=80882
24
25         broke test on chromium-win
26
27         * rendering/RenderFlexibleBox.cpp:
28         (WebCore::RenderFlexibleBox::alignChildren):
29         * rendering/RenderFlexibleBox.h:
30         (RenderFlexibleBox):
31
32 2012-03-16  Anders Carlsson  <andersca@apple.com>
33
34         REGRESSION (r110737): Height element changes on scrolled page causes failure
35         https://bugs.webkit.org/show_bug.cgi?id=81381
36         <rdar://problem/11066006>
37
38         Reviewed by Sam Weinig.
39
40         Limit the fix made in r110737 to check if there's a rubber-band gesture in progress and only ignore the range if that is the case.
41
42         * platform/ScrollAnimator.h:
43         (WebCore::ScrollAnimator::isRubberBandInProgress):
44         (ScrollAnimator):
45         * platform/ScrollView.cpp:
46         (WebCore::ScrollView::updateScrollbars):
47         * platform/mac/ScrollAnimatorMac.h:
48         (ScrollAnimatorMac):
49         * platform/mac/ScrollAnimatorMac.mm:
50         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
51         (WebCore):
52         * platform/mac/ScrollElasticityController.h:
53         (ScrollElasticityController):
54         * platform/mac/ScrollElasticityController.mm:
55         (WebCore::ScrollElasticityController::isRubberBandInProgress):
56         (WebCore):
57
58 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
59
60         GestureTapDown needs to pin in-progress flings
61         https://bugs.webkit.org/show_bug.cgi?id=80875
62
63         Reviewed by Adam Barth.
64
65         * page/EventHandler.cpp:
66         (WebCore):
67         (WebCore::EventHandler::handleGestureTapDown):
68         * page/EventHandler.h:
69         (EventHandler):
70
71 2012-03-16  Chris Rogers  <crogers@google.com>
72
73         Account for sample-rate in convolution normalization
74         https://bugs.webkit.org/show_bug.cgi?id=81432
75
76         Reviewed by James Robinson.
77
78         * platform/audio/Reverb.cpp:
79         (WebCore):
80         (WebCore::calculateNormalizationScale):
81         * webaudio/ConvolverNode.cpp:
82         (WebCore::ConvolverNode::setBuffer):
83
84 2012-03-16  Tom Sepez  <tsepez@chromium.org>
85
86         Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
87         https://bugs.webkit.org/show_bug.cgi?id=81260
88         https://bugs.webkit.org/show_bug.cgi?id=39897
89
90         Reviewed by Adam Barth.
91
92         Tested via http/tests/security/cross-frame-access-call.htm
93
94         * bindings/v8/custom/V8DOMWindowCustom.cpp:
95         (WebCore::V8DOMWindow::showModalDialogCallback):
96         (WebCore::V8DOMWindow::openCallback):
97
98 2012-03-16  Matt Lilek  <mrl@apple.com>
99
100         Use modern NSNumberFormatter API in LocalizedNumberMac.mm
101         https://bugs.webkit.org/show_bug.cgi?id=81429
102
103         Reviewed by Dan Bernstein.
104
105         No new tests as no change in behavior.
106
107         * platform/text/mac/LocalizedNumberMac.mm:
108         (WebCore::createFormatterForCurrentLocaleForDisplay):
109
110 2012-03-16  Tony Chang  <tony@chromium.org>
111
112         flex-item-align: stretch should only grow, never shrink
113         https://bugs.webkit.org/show_bug.cgi?id=80882
114
115         Reviewed by Ojan Vafai.
116
117         New test cases in css3/flexbox/flex-align-stretch.html.
118
119         * rendering/RenderFlexibleBox.cpp:
120         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
121         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
122         (WebCore):
123         * rendering/RenderFlexibleBox.h:
124         (RenderFlexibleBox):
125
126 2012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
127
128         [EFL] Unreviewed, fix build after r111041.
129
130         * platform/efl/RenderThemeEfl.cpp:
131         (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
132         MediaFullscreenButton to MediaEnterFullscreenButton.
133         (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.
134
135 2012-03-16  Dmitry Lomov  <dslomov@google.com>
136
137         REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
138         https://bugs.webkit.org/show_bug.cgi?id=80889
139         On worker threads, post a task to main thread to evict from cache.
140         ASSERT that MemoryCache is only accessed from main thread.
141
142         Reviewed by David Levin.
143
144         * html/DOMURL.cpp:
145         (WebCore::DOMURL::revokeObjectURL):
146         * loader/cache/MemoryCache.cpp:
147         (WebCore::memoryCache):
148         (WebCore::MemoryCache::add):
149         (WebCore::MemoryCache::revalidationFailed):
150         (WebCore::MemoryCache::resourceForURL):
151         (WebCore::MemoryCache::evict):
152         (WebCore):
153         (WebCore::MemoryCache::removeUrlFromCache):
154         (WebCore::MemoryCache::removeUrlFromCacheImpl):
155         * loader/cache/MemoryCache.h:
156         (WebCore):
157         (MemoryCache):
158
159 2012-03-16  Jacky Jiang  <zhajiang@rim.com>
160
161         [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
162         https://bugs.webkit.org/show_bug.cgi?id=81397
163
164         Reviewed by Rob Buis.
165
166         Initial upstream, no new tests.
167
168         * bindings/js/ScriptControllerBlackBerry.cpp: Added.
169
170 2012-03-16  Adam Barth  <abarth@webkit.org>
171
172         remove-body-during-body-replacement2.html is triggering crashes on all platforms
173         https://bugs.webkit.org/show_bug.cgi?id=81374
174
175         Reviewed by Eric Seidel.
176
177         When overriding disconnectFrame, we need to call the base class version
178         of the method so that it can clear the m_frame pointer.
179
180         Tests: This patch fixes a large number of crashes in tests.
181
182         * notifications/DOMWindowNotifications.cpp:
183         (WebCore::DOMWindowNotifications::disconnectFrame):
184
185 2012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
186
187         [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
188         https://bugs.webkit.org/show_bug.cgi?id=81304
189
190         Reviewed by Rob Buis.
191
192         typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.
193
194         * platform/Widget.h:
195
196 2012-03-16  David Barton  <dbarton@mathscribe.com>
197
198         MathML internals - factor code for almost anonymous blocks
199         https://bugs.webkit.org/show_bug.cgi?id=81387
200
201         Reviewed by Eric Seidel.
202
203         MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
204         will be converted to true anonymous blocks in a later patch. Here we factor out the code
205         to create them into RenderMathMLBlock::createAlmostAnonymousBlock().
206
207         No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
208         and <munderover> renderers already used true anonymous blocks, so we change them to call
209         RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
210         blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
211         current MathML renderers.
212
213         * rendering/mathml/RenderMathMLBlock.cpp:
214         (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
215         * rendering/mathml/RenderMathMLBlock.h:
216         (RenderMathMLBlock):
217         (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
218         * rendering/mathml/RenderMathMLFenced.cpp:
219         (WebCore::RenderMathMLFenced::addChild):
220         * rendering/mathml/RenderMathMLFraction.cpp:
221         (WebCore::RenderMathMLFraction::updateFromElement):
222             - improve some variable names
223         (WebCore::RenderMathMLFraction::addChild):
224         (WebCore::RenderMathMLFraction::layout):
225         (WebCore::RenderMathMLFraction::paint):
226         (WebCore::RenderMathMLFraction::baselinePosition):
227         * rendering/mathml/RenderMathMLRoot.cpp:
228         (WebCore::RenderMathMLRoot::addChild):
229         * rendering/mathml/RenderMathMLSubSup.cpp:
230         (WebCore::RenderMathMLSubSup::addChild):
231         * rendering/mathml/RenderMathMLSubSup.h:
232         * rendering/mathml/RenderMathMLUnderOver.cpp:
233         (WebCore::RenderMathMLUnderOver::addChild):
234
235 2012-03-16  Levi Weintraub  <leviw@chromium.org>
236
237         Prepare RenderObject for FractionalLayoutUnits
238         https://bugs.webkit.org/show_bug.cgi?id=81178
239
240         Reviewed by Eric Seidel.
241
242         This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
243         LayoutUnit abstraction.
244
245         No new tests. No change in behavior.
246
247         * rendering/RenderObject.cpp:
248         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
249         used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
250         in a separate patch.
251         (WebCore):
252         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
253         sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
254         using std::max and std::min with mixed int/LayoutUnits.
255         (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
256         ints in the new sub-pixel world. Using variables that reflect that.
257         * rendering/RenderObject.h:
258         (RenderObject):
259         (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
260         JavaScript requires since this is used with values that must return ints.
261         (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.
262
263 2012-03-16  Brady Eidson  <beidson@apple.com>
264
265         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
266         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
267
268         Reviewed by Geoff Garen.
269
270         WebKit API test WebViewCanPasteURL.mm added.
271
272         * WebCore.exp.in:
273
274         Add a strategy method specifically for getting the URL:
275         * platform/PasteboardStrategy.h:
276
277         Use that strategy method when creating the fragment for a URL:
278         * platform/mac/PasteboardMac.mm:
279         (WebCore::Pasteboard::documentFragment):
280
281         Add a platform pasteboard accessor to "do the right thing" for getting a URL:
282         * platform/PlatformPasteboard.h:
283         * platform/mac/PlatformPasteboardMac.mm:
284         (WebCore::PlatformPasteboard::url):
285
286 2012-03-16  Joseph Pecoraro  <pecoraro@apple.com>
287
288         <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled
289
290         Reviewed by Dan Bernstein.
291
292         * editing/FrameSelection.cpp:
293         (WebCore::FrameSelection::recomputeCaretRect):
294         Put the variable inside of a guard because it is only
295         used inside of a guard.
296
297 2012-03-16  Andreas Kling  <kling@webkit.org>
298
299         Shrink BorderValue.
300         <http://webkit.org/b/69521>
301
302         Reviewed by Anders Carlsson.
303
304         Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
305         the BorderValue bitfield.
306
307         This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
308         Altogether this yields ~800 kB in reduced memory consumption when viewing the full
309         HTML5 spec at <http://whatwg.org/c>
310
311         * rendering/style/BorderValue.h:
312         (WebCore::BorderValue::BorderValue):
313         (WebCore::BorderValue::isTransparent):
314         (WebCore::BorderValue::operator==):
315         (BorderValue):
316         (WebCore::BorderValue::setColor):
317         (WebCore::BorderValue::color):
318         * rendering/style/OutlineValue.h:
319         (WebCore::OutlineValue::operator==):
320         * rendering/style/RenderStyle.cpp:
321         (SameSizeAsBorderValue):
322         * rendering/style/RenderStyle.h:
323
324 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
325
326         Moves remaining filesystem files to Modules/filesystem/
327         https://bugs.webkit.org/show_bug.cgi?id=81353
328
329         Reviewed by Adam Barth.
330
331         No new tests, all existing tests pass.
332
333         * CMakeLists.txt:
334         * DerivedSources.make:
335         * DerivedSources.pri:
336         * GNUmakefile.list.am:
337         * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
338         * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
339         * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
340         * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
341         * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
342         * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
343         * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
344         * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
345         * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
346         * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
347         * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
348         * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
349         * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
350         * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
351         * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
352         * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
353         * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
354         * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
355         * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
356         * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
357         * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
358         * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
359         * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
360         * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
361         * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
362         * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
363         * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
364         * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
365         * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
366         * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
367         * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
368         * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
369         * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
370         * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
371         * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
372         * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
373         * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
374         * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
375         * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
376         * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
377         * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
378         * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
379         * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
380         * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
381         * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
382         * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
383         * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
384         * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
385         * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
386         * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
387         * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
388         * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
389         * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
390         * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
391         * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
392         * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
393         * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
394         * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
395         * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
396         * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
397         * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
398         * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
399         * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
400         * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
401         * Target.pri:
402         * WebCore.gyp/WebCore.gyp:
403         * WebCore.gypi:
404         * WebCore.vcproj/WebCore.vcproj:
405         * WebCore.xcodeproj/project.pbxproj:
406         * fileapi/AsyncFileWriter.h: Removed.
407         * fileapi/AsyncFileWriterClient.h: Removed.
408         * fileapi/DOMFilePath.cpp: Removed.
409         * fileapi/DOMFilePath.h: Removed.
410         * fileapi/DOMFileSystem.cpp: Removed.
411         * fileapi/DOMFileSystem.h: Removed.
412         * fileapi/DOMFileSystem.idl: Removed.
413         * fileapi/DOMFileSystemBase.cpp: Removed.
414         * fileapi/DOMFileSystemBase.h: Removed.
415         * fileapi/DOMFileSystemSync.cpp: Removed.
416         * fileapi/DOMFileSystemSync.h: Removed.
417         * fileapi/DOMFileSystemSync.idl: Removed.
418         * fileapi/Entry.cpp: Removed.
419         * fileapi/Entry.h: Removed.
420         * fileapi/Entry.idl: Removed.
421         * fileapi/EntryArray.cpp: Removed.
422         * fileapi/EntryArray.h: Removed.
423         * fileapi/EntryArray.idl: Removed.
424         * fileapi/EntryArraySync.cpp: Removed.
425         * fileapi/EntryArraySync.h: Removed.
426         * fileapi/EntryArraySync.idl: Removed.
427         * fileapi/EntryBase.cpp: Removed.
428         * fileapi/EntryBase.h: Removed.
429         * fileapi/EntryCallback.h: Removed.
430         * fileapi/EntryCallback.idl: Removed.
431         * fileapi/EntrySync.cpp: Removed.
432         * fileapi/EntrySync.h: Removed.
433         * fileapi/EntrySync.idl: Removed.
434         * fileapi/ErrorCallback.h: Removed.
435         * fileapi/ErrorCallback.idl: Removed.
436         * fileapi/FileCallback.h: Removed.
437         * fileapi/FileCallback.idl: Removed.
438         * fileapi/FileEntry.cpp: Removed.
439         * fileapi/FileEntry.h: Removed.
440         * fileapi/FileEntry.idl: Removed.
441         * fileapi/FileEntrySync.cpp: Removed.
442         * fileapi/FileEntrySync.h: Removed.
443         * fileapi/FileEntrySync.idl: Removed.
444         * fileapi/FileSystemCallback.h: Removed.
445         * fileapi/FileSystemCallback.idl: Removed.
446         * fileapi/FileSystemCallbacks.cpp: Removed.
447         * fileapi/FileSystemCallbacks.h: Removed.
448         * fileapi/FileWriter.cpp: Removed.
449         * fileapi/FileWriter.h: Removed.
450         * fileapi/FileWriter.idl: Removed.
451         * fileapi/FileWriterBase.cpp: Removed.
452         * fileapi/FileWriterBase.h: Removed.
453         * fileapi/FileWriterBaseCallback.h: Removed.
454         * fileapi/FileWriterCallback.h: Removed.
455         * fileapi/FileWriterCallback.idl: Removed.
456         * fileapi/FileWriterSync.cpp: Removed.
457         * fileapi/FileWriterSync.h: Removed.
458         * fileapi/FileWriterSync.idl: Removed.
459         * fileapi/LocalFileSystem.cpp: Removed.
460         * fileapi/LocalFileSystem.h: Removed.
461         * fileapi/Metadata.h: Removed.
462         * fileapi/Metadata.idl: Removed.
463         * fileapi/MetadataCallback.h: Removed.
464         * fileapi/MetadataCallback.idl: Removed.
465         * fileapi/SyncCallbackHelper.h: Removed.
466         * fileapi/WebKitFlags.h: Removed.
467         * fileapi/WorkerContextFileSystem.cpp: Removed.
468         * fileapi/WorkerContextFileSystem.h: Removed.
469         * fileapi/WorkerContextFileSystem.idl: Removed.
470
471 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
472
473         Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
474         https://bugs.webkit.org/show_bug.cgi?id=81391
475
476         Reviewed by Adam Barth.
477
478         No new tests, all existing tests pass.
479
480         * fileapi/OperationNotAllowedException.idl:
481
482 2012-03-16  Emil A Eklund  <eae@chromium.org>
483
484         Fix rounding and usage of LayoutUnits in RenderBoxModelObject
485         https://bugs.webkit.org/show_bug.cgi?id=81057
486
487         Reviewed by Julien Chaffraix.
488
489         No new tests.
490
491         (WebCore):
492         * rendering/RenderBoxModelObject.cpp:
493         (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
494         (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
495         Fix implementation of pixelSnappedOffsetWidth/Height. The location
496         parameter will be ignored until we enable subpixel support.
497
498         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
499         Use ints for border widths.
500         
501         (WebCore::resolveWidthForRatio):
502         (WebCore::resolveHeightForRatio):
503         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
504         (WebCore::resolveAgainstIntrinsicRatio):
505         Change resolve*Ratio methods to operate on IntSizes as none of the
506         callers need subpixel precision.
507
508         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
509         (WebCore::RenderBoxModelObject::paintNinePieceImage):
510         Pixel snap paintRect when computing image geometry.
511
512 2012-03-16  Terry Anderson  <tdanderson@chromium.org>
513
514         100% height elements to not respond to vertical browser rescaling
515         https://bugs.webkit.org/show_bug.cgi?id=43022
516
517         Reviewed by Julien Chaffraix.
518
519         Test: fast/replaced/vertical-resize-100percent-element.html
520
521         * rendering/RenderBox.cpp:
522         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
523             For the case where a replaced element has a percentage height,
524             we update the entries in RenderBlock::gPercentHeightDescendantsMap
525             corresponding to all ancestors of the replaced element.
526
527 2012-03-15  Daniel Cheng  <dcheng@chromium.org>
528
529         [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
530         https://bugs.webkit.org/show_bug.cgi?id=76598
531
532         Reviewed by Tony Chang.
533
534         We no longer store drag/clipboard data in named fields. We used to maintain the data store
535         list separately, which resulted in a lot of complicated code to try to make sure that
536         ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
537         list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
538         easily add write support during dragstart/copy operations using DataTransferItemList.
539
540         Tests: fast/events/clipboard-dataTransferItemList.html
541                fast/events/drag-dataTransferItemList.html
542
543         * platform/chromium/ChromiumDataObject.cpp:
544         (WebCore::findItem):
545         (WebCore::ChromiumDataObject::createFromPasteboard):
546         (WebCore::ChromiumDataObject::create):
547         (WebCore::ChromiumDataObject::copy):
548         (WebCore::ChromiumDataObject::items):
549         (WebCore::ChromiumDataObject::clearData):
550         (WebCore::ChromiumDataObject::clearAll):
551         (WebCore::ChromiumDataObject::clearAllExceptFiles):
552         (WebCore::ChromiumDataObject::types):
553         (WebCore::ChromiumDataObject::getData):
554         (WebCore::ChromiumDataObject::setData):
555         (WebCore::ChromiumDataObject::urlAndTitle):
556         (WebCore::ChromiumDataObject::setURLAndTitle):
557         (WebCore::ChromiumDataObject::htmlAndBaseURL):
558         (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
559         (WebCore::ChromiumDataObject::containsFilenames):
560         (WebCore):
561         (WebCore::ChromiumDataObject::filenames):
562         (WebCore::ChromiumDataObject::addFilename):
563         (WebCore::ChromiumDataObject::addSharedBuffer):
564         (WebCore::ChromiumDataObject::ChromiumDataObject):
565         * platform/chromium/ChromiumDataObject.h:
566         (WebCore):
567         (ChromiumDataObject):
568         * platform/chromium/ClipboardChromium.cpp:
569         (WebCore::normalizeType):
570         (WebCore::ClipboardChromium::ClipboardChromium):
571         (WebCore::ClipboardChromium::clearData):
572         (WebCore::ClipboardChromium::clearAllData):
573         (WebCore::ClipboardChromium::getData):
574         (WebCore::ClipboardChromium::setData):
575         (WebCore::ClipboardChromium::types):
576         (WebCore::ClipboardChromium::files):
577         (WebCore::writeImageToDataObject):
578         (WebCore::ClipboardChromium::declareAndWriteDragImage):
579         (WebCore::ClipboardChromium::writeURL):
580         (WebCore::ClipboardChromium::writeRange):
581         (WebCore::ClipboardChromium::writePlainText):
582         (WebCore::ClipboardChromium::hasData):
583         (WebCore::ClipboardChromium::items):
584         * platform/chromium/ClipboardChromium.h:
585         (WebCore):
586         (ClipboardChromium):
587         (WebCore::ClipboardChromium::frame):
588         * platform/chromium/ClipboardUtilitiesChromium.cpp:
589         (WebCore::convertURIListToURL):
590         (WebCore):
591         * platform/chromium/ClipboardUtilitiesChromium.h:
592         (WebCore):
593         * platform/chromium/DataTransferItemChromium.cpp:
594         (WebCore::DataTransferItemChromium::createFromString):
595         (WebCore::DataTransferItemChromium::createFromFile):
596         (WebCore::DataTransferItemChromium::createFromURL):
597         (WebCore::DataTransferItemChromium::createFromHTML):
598         (WebCore):
599         (WebCore::DataTransferItemChromium::createFromSharedBuffer):
600         (WebCore::DataTransferItemChromium::createFromPasteboard):
601         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
602         (WebCore::DataTransferItemChromium::getAsString):
603         (WebCore::DataTransferItemChromium::getAsFile):
604         (WebCore::DataTransferItemChromium::internalGetAsString):
605         (WebCore::DataTransferItemChromium::isFilename):
606         * platform/chromium/DataTransferItemChromium.h:
607         (WebCore):
608         (DataTransferItemChromium):
609         (WebCore::DataTransferItemChromium::kind):
610         (WebCore::DataTransferItemChromium::type):
611         (WebCore::DataTransferItemChromium::sharedBuffer):
612         (WebCore::DataTransferItemChromium::title):
613         (WebCore::DataTransferItemChromium::baseURL):
614         * platform/chromium/DataTransferItemListChromium.cpp:
615         (WebCore::DataTransferItemListChromium::create):
616         (WebCore::DataTransferItemListChromium::createFromPasteboard):
617         (WebCore):
618         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
619         (WebCore::DataTransferItemListChromium::length):
620         (WebCore::DataTransferItemListChromium::item):
621         (WebCore::DataTransferItemListChromium::deleteItem):
622         (WebCore::DataTransferItemListChromium::clear):
623         (WebCore::DataTransferItemListChromium::add):
624         (WebCore::DataTransferItemListChromium::internalAddStringItem):
625         (WebCore::DataTransferItemListChromium::internalAddFileItem):
626         * platform/chromium/DataTransferItemListChromium.h:
627         (WebCore):
628         (DataTransferItemListChromium):
629         * platform/chromium/DragDataChromium.cpp:
630         (WebCore::DragData::asURL):
631         (WebCore::DragData::asPlainText):
632         (WebCore::DragData::asFragment):
633
634 2012-03-16  Matt Lilek  <mrl@apple.com>
635
636         Don't install libWebCoreTestSupport on OS X production builds
637         https://bugs.webkit.org/show_bug.cgi?id=81087
638
639         Reviewed by Mark Rowe.
640
641         * Configurations/WebCoreTestSupport.xcconfig:
642
643 2012-03-16  Tony Chang  <tony@chromium.org>
644
645         incorrectly removing scrollbar height for auto height flexbox children
646         https://bugs.webkit.org/show_bug.cgi?id=81388
647
648         Reviewed by Ojan Vafai.
649
650         In a column flexbox, when computing the preferred height of an auto
651         height child, we were subtracting out the horizontal scrollbar height.
652
653         New test case in css3/flexbox/columns-auto-size.html.
654
655         * rendering/RenderFlexibleBox.cpp:
656         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
657
658 2012-03-16  Adam Klein  <adamk@chromium.org>
659
660         Out-of-document radio buttons should be grouped when associated with a form
661         https://bugs.webkit.org/show_bug.cgi?id=81268
662
663         Reviewed by Kent Tamura.
664
665         Per the HTML spec, and the behavior of Firefox and IE 8/9, radio buttons
666         with a form owner should be grouped, even if that form is not in the document.
667
668         r104668 added many inDocument() tests to radio button grouping code.
669         While those are necessary to avoid unattached <input type=radio>
670         elements being grouped together, it also kept them from being grouped
671         when associated with a form outside the document.
672
673         This patch changes the HTMLInputElement::checkedRadioButtons() method
674         to return either a pointer to the proper CheckedRadioButtons instance
675         (either the document's or a form's), but will return null if the
676         element should not be associated with any radio button group.
677
678         The main fallout of this was that the callers of checkedRadioButtons()
679         now have to check for null, resulting in the creation of a few helper
680         methods in HTMLInputElement to wrap the null checks.
681
682         This refactoring has the pleasant side-effect of exposing a cleaner API between
683         HTMLInputElement and RadioInputType, and making a clearer contract
684         between HTMLInputElement and CheckedRadioButtons (e.g., all
685         CheckedRadioButtons methods that take an element can now assume that
686         it is a radio button, where previously some checked for that and
687         others asserted it).
688
689         Test: fast/forms/radio/radio-group-in-detached-form.html
690
691         * dom/CheckedRadioButtons.cpp:
692         (WebCore): Removed shouldMakeRadioGroup() helper function.
693         (WebCore::CheckedRadioButtons::addButton): Replace call to shouldMakeRadioGroup
694         with appropriate assert and name check.
695         (WebCore::CheckedRadioButtons::updateCheckedState): ditto.
696         (WebCore::CheckedRadioButtons::requiredAttributeChanged): ditto.
697         (WebCore::CheckedRadioButtons::isRequiredGroup): Renamed from isInRequiredGroup,
698         changed to take only a group name, not an element.
699         (WebCore::CheckedRadioButtons::removeButton): Replace call to shouldMakeRadioGroup.
700         with appropriate assert and name check.
701         * dom/CheckedRadioButtons.h:
702         (CheckedRadioButtons):
703         * html/HTMLInputElement.cpp:
704         (WebCore::HTMLInputElement::~HTMLInputElement): Added isRadioButton check
705         now that it's asserted in CheckedRadioButtons.
706         (WebCore::HTMLInputElement::updateType): Call helper method instead of
707         calling directly into CheckedRadioButtons.
708         (WebCore::HTMLInputElement::parseAttribute): ditto.
709         (WebCore::HTMLInputElement::setChecked): ditto.
710         (WebCore::HTMLInputElement::willChangeForm): ditto.
711         (WebCore::HTMLInputElement::didChangeForm): ditto.
712         (WebCore::HTMLInputElement::insertedIntoDocument): ditto.
713         (WebCore::HTMLInputElement::removedFromDocument): ditto.
714         (WebCore::HTMLInputElement::didMoveToNewDocument): Added isRadioButton check.
715         (WebCore::HTMLInputElement::requiredAttributeChanged): Check for membership in a group
716         before calling into CheckedRadioButtons.
717         (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): Added helper method for use by RadioInputType.
718         (WebCore):
719         (WebCore::HTMLInputElement::checkedRadioButtonForGroup): ditto.
720         (WebCore::HTMLInputElement::checkedRadioButtons): Changed to return a
721         pointer, only return non-null if actually a member of a group.
722         (WebCore::HTMLInputElement::addToRadioButtonGroup): Helper method for
723         use in HTMLInputElement.
724         (WebCore::HTMLInputElement::removeFromRadioButtonGroup): ditto.
725         * html/HTMLInputElement.h:
726         (HTMLInputElement): Added/removed methods, removed outdated comment about visibility.
727         * html/RadioInputType.cpp:
728         (WebCore::RadioInputType::valueMissing): Call new HTMLInputElement methods instead
729         of interacting directly with CheckedRadioButtons.
730         (WebCore::RadioInputType::isKeyboardFocusable): ditto.
731         (WebCore::RadioInputType::willDispatchClick): ditto.
732
733 2012-03-16  David Hyatt  <hyatt@apple.com>
734
735         https://bugs.webkit.org/show_bug.cgi?id=81366
736         
737         Add RenderMultiColumnBlock subclass of RenderBlock. This new class will hold all of the multi-column
738         logic (as well as painting/hit testing). That way the column code can be kept out of the base class
739         and be more cleanly factored.
740
741         Patch Node::diff so that we detach and re-attach the renderer if column counts or widths change
742         from auto to non-auto (and vice versa) to ensure the right renderer gets made.
743         
744         Patch RenderObject::createObject to make a RenderMultiColumnBlock if either the column count or
745         column width is non-auto.
746         
747         Patch RenderBlock::calcColumnWidth to "turn off" the old implementation of columns if the pref to use
748         the new column implementation is set. This single chokepoint should be sufficient for disabling the old
749         columns in favor of the new.
750
751         Reviewed by Dan Bernstein.
752
753         * CMakeLists.txt:
754         * GNUmakefile.list.am:
755         * WebCore.gypi:
756         * WebCore.vcproj/WebCore.vcproj:
757         * WebCore.xcodeproj/project.pbxproj:
758         * dom/Document.cpp:
759         (WebCore::Document::regionBasedColumnsEnabled):
760         (WebCore):
761         (WebCore::Document::recalcStyle):
762         * dom/Document.h:
763         (Document):
764         * dom/Element.cpp:
765         (WebCore::Element::recalcStyle):
766         * dom/Node.cpp:
767         (WebCore::Node::diff):
768         * dom/Node.h:
769         * rendering/RenderBlock.cpp:
770         (WebCore::RenderBlock::calcColumnWidth):
771         (WebCore::RenderBlock::updateFirstLetterStyle):
772         * rendering/RenderMultiColumnBlock.cpp: Added.
773         (WebCore):
774         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
775         (WebCore::RenderMultiColumnBlock::renderName):
776         * rendering/RenderMultiColumnBlock.h: Added.
777         (WebCore):
778         (RenderMultiColumnBlock):
779         * rendering/RenderObject.cpp:
780         (WebCore::RenderObject::createObject):
781         * rendering/RenderObjectChildList.cpp:
782         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
783
784 2012-03-16  Stephen White  <senorblanco@chromium.org>
785
786         [chromium] Improve CSS3 filter blur performance.
787         https://bugs.webkit.org/show_bug.cgi?id=81360
788
789         This change improves blur performance by 2-2.5X on blurred CSS
790         3D transforms and accelerated canvas demos by skipping an unnecessary
791         texture allocation and bitmap draw.
792
793         Reviewed by James Robinson.
794
795         Covered by existing layout tests in css3/filters.
796
797         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
798         (WebCore::CCRenderSurfaceFilters::apply):
799         Call SkCanvas::drawSprite() directly instead of using
800         saveLayer()/restore().
801
802 2012-03-16  Joshua Bell  <jsbell@chromium.org>
803
804         [Chromium] IndexedDB: Assertion failure when storing File objects
805         https://bugs.webkit.org/show_bug.cgi?id=76746
806
807         The blob data in Blob/File/FileList objects is serialized "by reference" (the
808         internal URL) rather than "by value" (the actual data); this is sufficient for
809         postMessage() but not for IndexedDB since the referenced data is not retained
810         Expose a mechanism to enumerate the URLs so that SSVs can be rejected by IDB
811         until blob data serialization can is implemented (outside the SSV mechanism, and
812         potentially asynchronously).
813
814         Also, correct issue in V8DOMWrapper::instantiateV8Object where context is assumed
815         to be a Worker context if it's not a Window, which is incorrect for the
816         Chromium utility process; this is hit if Blobs are not blocked.
817
818         Reviewed by Tony Chang.
819
820         Test: storage/indexeddb/noblobs.html
821
822         * Modules/indexeddb/IDBCursor.cpp:
823         (WebCore::IDBCursor::update): Reject SSVs that contain blob references.
824         * Modules/indexeddb/IDBObjectStore.cpp:
825         (WebCore::IDBObjectStore::add): Reject SSVs that contain blob references.
826         (WebCore::IDBObjectStore::put): Reject SSVs that contain blob references.
827         * bindings/js/SerializedScriptValue.cpp:
828         (WebCore::CloneSerializer::serialize):
829         (WebCore::CloneSerializer::CloneSerializer):
830         (WebCore::CloneSerializer::dumpIfTerminal):
831         (WebCore::CloneSerializer::write):
832         (CloneSerializer):
833         (WebCore::SerializedScriptValue::SerializedScriptValue):
834         (WebCore::SerializedScriptValue::create):
835         (WebCore::SerializedScriptValue::undefinedValue):
836         (WebCore::SerializedScriptValue::booleanValue):
837         * bindings/js/SerializedScriptValue.h: New API to enable the clients to be picky.
838         * bindings/v8/SerializedScriptValue.cpp:
839         (WebCore::SerializedScriptValue::SerializedScriptValue):
840         * bindings/v8/SerializedScriptValue.h: New API to enable the clients to be picky.
841         (WebCore::SerializedScriptValue::blobURLs):
842         (SerializedScriptValue):
843         * bindings/v8/V8DOMWrapper.cpp:
844         (WebCore::V8DOMWrapper::instantiateV8Object):  Ensure context is a worker context before treating it as such.
845
846 2012-03-16  Erik Arvidsson  <arv@chromium.org>
847
848         [V8] Ensure that invalid syntax in inline event handlers does not cause a crash
849         https://bugs.webkit.org/show_bug.cgi?id=81385
850
851         Reviewed by Nate Chapin.
852
853         The way that V8 does its inline event handler involves concatting strings and
854         if the attribute value is crafted in a special way this could cause a crash.
855
856         Test: fast/dom/inline-event-attributes-crash.html
857
858         * bindings/v8/V8LazyEventListener.cpp:
859         (WebCore::V8LazyEventListener::prepareListenerObject):
860
861 2012-03-14  Jer Noble  <jer.noble@apple.com>
862
863         Wrong icon to restore to windowed mode in full screen video panel
864         https://bugs.webkit.org/show_bug.cgi?id=70437
865
866         Reviewed by Eric Carlson.
867
868         No new tests. Updated platform/mac/accessibility/media-element-expected.txt.
869
870         Renamed MediaFullscreenButton to MediaEnterFullscreenButton and added MediaExitFullscreenButton:
871         * accessibility/AccessibilityMediaControls.cpp:
872         (WebCore::AccessibilityMediaControl::controlTypeName):
873         (WebCore::AccessibilityMediaControl::roleValue):
874         * html/shadow/MediaControlElements.cpp:
875         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
876         * css/CSSPrimitiveValueMappings.h:
877         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
878         * css/CSSValueKeywords.in:
879         * platform/ThemeTypes.h:
880
881         Added setIsFullscreen which controls the display of the enter/exit fullscreen button:
882         * html/shadow/MediaControlElements.cpp:
883         (WebCore::MediaControlFullscreenButtonElement::setIsFullscreen): Added.
884         * html/shadow/MediaControlElements.h:
885         * html/shadow/MediaControlRootElement.cpp:
886         (WebCore::MediaControlRootElement::enteredFullscreen):
887         (WebCore::MediaControlRootElement::exitedFullscreen):
888
889         Paint the enter/exit fullscreen button accordingly:
890         * rendering/RenderMediaControlsChromium.cpp:
891         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
892         * rendering/RenderTheme.cpp:
893         (WebCore::RenderTheme::paint):
894         * rendering/RenderThemeChromiumAndroid.cpp:
895         (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
896         * rendering/RenderThemeMac.mm:
897         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
898         * rendering/RenderMediaControls.cpp:
899         (WebCore::RenderMediaControls::paintMediaControlsPart):
900         * rendering/RenderThemeSafari.cpp:
901         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
902
903         Update the localized strings for the exit and enter fullscreen buttons:
904         * English.lproj/Localizable.strings:
905         * platform/LocalizedStrings.cpp:
906         (WebCore::localizedMediaControlElementString):
907         * platform/gtk/LocalizedStringsGtk.cpp:
908         (WebCore::localizedMediaControlElementString):
909         (WebCore::localizedMediaControlElementHelpText):
910         * platform/qt/LocalizedStringsQt.cpp:
911         (WebCore::localizedMediaControlElementString):
912         (WebCore::localizedMediaControlElementHelpText):
913
914 2012-03-16  Levi Weintraub  <leviw@chromium.org>
915
916         Update LayoutUnit usage in RenderListBox
917         https://bugs.webkit.org/show_bug.cgi?id=81038
918
919         Reviewed by Julien Chaffraix.
920
921         Bringing RenderListBox in line with the rules listed in
922         https://trac.webkit.org/wiki/LayoutUnit
923
924         No new tests. No change in behavior.
925
926         * rendering/RenderListBox.cpp:
927         (WebCore::RenderListBox::paintScrollbar): Pixel snapping before handing off scrollbar
928         painting to the platform.
929         (WebCore::RenderListBox::paintItemForeground): Rounding the offset for text painting.
930         (WebCore::RenderListBox::paintItemBackground): Pixel snapping the background rect.
931         (WebCore::RenderListBox::panScroll): EventHandler::currentMousePosition is an IntPoint,
932         so it doesn't require additional rounding in RenderListBox.
933
934 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
935
936         Unreviewed, rolling out r111020.
937         http://trac.webkit.org/changeset/111020
938         https://bugs.webkit.org/show_bug.cgi?id=81377
939
940         Broke Chromium Win compile (Requested by pkasting on #webkit).
941
942         * GNUmakefile.list.am:
943         * WebCore.gypi:
944         * platform/mediastream/PeerConnection00Handler.cpp: Removed.
945         * platform/mediastream/PeerConnection00Handler.h: Removed.
946         * platform/mediastream/PeerConnection00HandlerClient.h: Removed.
947
948 2012-03-16  Dominic Mazzoni  <dmazzoni@google.com>
949
950         File input control accessibility can cause a crash
951         https://bugs.webkit.org/show_bug.cgi?id=80896
952
953         Reviewed by Chris Fleizach.
954
955         Test: accessibility/input-file-causes-crash.html
956
957         * accessibility/AccessibilityRenderObject.cpp:
958         (WebCore::AccessibilityRenderObject::textUnderElement):
959
960 2012-03-08  Jer Noble  <jer.noble@apple.com>
961
962         Support W3C Full Screen API proposal
963         https://bugs.webkit.org/show_bug.cgi?id=80660
964
965         Reviewed by Alexey Proskuryakov.
966
967         Tests: fullscreen/full-screen-element-stack.html
968                fullscreen/full-screen-enabled.html
969                fullscreen/full-screen-restrictions.html
970
971         The W3C proposal for taking arbitrary elements into full-screen mode is significantly
972         different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s"
973         in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by
974         in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for
975         the Mozilla case (har!).
976
977         A significant difficulty is obeying the new W3C spec rules is that we would like to apply the
978         fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the
979         webkitFullscreenElement returns the new value immediately.  As such, we retain the m_fullScreenElement
980         variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the
981         webkit{Will,Did}{Enter,Exit}FullScreen functions.
982
983         New APIs for the W3C Fullscreen spec:
984         * dom/Document.h:
985         (WebCore::Document::webkitFullscreenElement):
986         (WebCore::Document::webkitFullscreenEnabled):
987         * dom/Document.idl:
988         * dom/Element.cpp:
989         (WebCore::Element::webkitRequestFullscreen):
990         * dom/Element.h:
991         * dom/Element.idl:
992
993         * dom/Document.cpp:
994         (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack.
995         (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements.
996         (WebCore::Document::webkitExitFullscreen): Ditto.
997         (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen.
998         (WebCore::Document::webkitDidEnterFullScreenForElement): 
999         (WebCore::Document::webkitWillExitFullScreenForElement):
1000         (WebCore::Document::webkitDidExitFullScreenForElement):
1001         (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being
1002             added to the event and error queue by swapping out empty queues before starting.
1003         (WebCore::Document::clearFullscreenElementStack): Simple accessor.
1004         (WebCore::Document::popFullscreenElementStack): Ditto.
1005         (WebCore::Document::pushFullscreenElementStack): Ditto.
1006         * dom/Element.cpp:
1007         (WebCore::Element::webkitRequestFullScreen):
1008
1009         Add new RuntimeEnabledFeatures functions for the added Document and Element functions.
1010         * bindings/generic/RuntimeEnabledFeatures.h:
1011         (RuntimeEnabledFeatures):
1012         (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
1013         (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
1014         (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
1015         (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
1016
1017
1018 2012-03-16  Adam Klein  <adamk@chromium.org>
1019
1020         Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
1021         https://bugs.webkit.org/show_bug.cgi?id=81255
1022
1023         Reviewed by Kent Tamura.
1024
1025         No new tests, no change in behavior.
1026
1027         * html/HTMLFormControlElement.h:
1028         * html/HTMLInputElement.h:
1029         (HTMLInputElement):
1030
1031 2012-03-16  Tay Grigg  <tgrigg@rim.com>
1032
1033         [BlackBerry] Update NetworkJob to accept batched headers
1034         https://bugs.webkit.org/show_bug.cgi?id=81273
1035
1036         Batch up the headers into a vector before they come into
1037         webkit to increase performance, and simplify the API.
1038
1039         Reviewed by George Staikos.
1040
1041         * platform/network/blackberry/NetworkJob.cpp:
1042         (WebCore::NetworkJob::notifyHeadersReceived):
1043         * platform/network/blackberry/NetworkJob.h:
1044         (NetworkJob):
1045
1046 2012-03-16  Dana Jansens  <danakj@chromium.org>
1047
1048         [chromium] Add overdraw metrics for texture uploads
1049         https://bugs.webkit.org/show_bug.cgi?id=81175
1050
1051         Reviewed by Adrienne Walker.
1052
1053         Record texture upload metrics during paint. To properly record
1054         the amount of pixels culled, we must compute the amount of pixels we
1055         would have uploaded for a tile. This requires knowing the dirty rect of
1056         the tile, but the dirty rect can be changed by WebKit during a paint, so
1057         we always store the dirtyRect in the tile's updateRect. We add an
1058         m_updateCulled bool to the UpdatableTile structure, to identify tiles
1059         that were not updated, and know a tile was updated if updateRect is not
1060         empty and updateCulled is false.
1061
1062         Tested by all TiledLayerChromiumTests that use occlusion tracker.
1063
1064         * platform/graphics/chromium/TiledLayerChromium.cpp:
1065         (UpdatableTile):
1066         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1067         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1068         (WebCore::CCLayerTreeHost::paintLayerContents):
1069
1070 2012-03-16  Jer Noble  <jer.noble@apple.com>
1071
1072         Allow AudioContext::create() to emit an ExceptionCode.
1073         https://bugs.webkit.org/show_bug.cgi?id=81049
1074
1075         Reviewed by Kentaro Hara.
1076
1077         No new tests; no change in functionality.
1078
1079         Pass through an ExceptionCode parameter to AudioContext::create().  It is currently
1080         never modified, but exceptions will be added in the future.
1081
1082         * bindings/js/JSAudioContextCustom.cpp:
1083         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1084         * bindings/v8/custom/V8AudioContextCustom.cpp:
1085         (WebCore::V8AudioContext::constructorCallback):
1086         * webaudio/AudioContext.cpp:
1087         (WebCore::AudioContext::create):
1088         * webaudio/AudioContext.h:
1089
1090 2012-03-16  Dana Jansens  <danakj@chromium.org>
1091
1092         [chromium] Remove surface damage client from occlusion tracker
1093         https://bugs.webkit.org/show_bug.cgi?id=81242
1094
1095         Reviewed by Adrienne Walker.
1096
1097         Code was not used yet, so no new tests. Removing tests instead!
1098
1099         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1100         (WebCore::::CCOcclusionTrackerBase):
1101         (WebCore::::layerScissorRectInTargetSurface):
1102         (WebCore):
1103         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1104         (WebCore):
1105         (CCOcclusionTrackerBase):
1106
1107 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
1108
1109         MediaStream API (JSEP): Introducing PeerConnection00Handler
1110         https://bugs.webkit.org/show_bug.cgi?id=81333
1111
1112         Reviewed by Adam Barth.
1113
1114         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
1115
1116         Not possible to test until the entire JSEP feature is commited.
1117
1118         * GNUmakefile.list.am:
1119         * WebCore.gypi:
1120         * platform/mediastream/PeerConnection00Handler.cpp: Added.
1121         (WebCore):
1122         (WebCore::PeerConnection00Handler::create):
1123         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
1124         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
1125         (WebCore::PeerConnection00Handler::createOffer):
1126         (WebCore::PeerConnection00Handler::createAnswer):
1127         (WebCore::PeerConnection00Handler::setLocalDescription):
1128         (WebCore::PeerConnection00Handler::setRemoteDescription):
1129         (WebCore::PeerConnection00Handler::localDescription):
1130         (WebCore::PeerConnection00Handler::remoteDescription):
1131         (WebCore::PeerConnection00Handler::startIce):
1132         (WebCore::PeerConnection00Handler::processIceMessage):
1133         (WebCore::PeerConnection00Handler::addStream):
1134         (WebCore::PeerConnection00Handler::removeStream):
1135         (WebCore::PeerConnection00Handler::stop):
1136         * platform/mediastream/PeerConnection00Handler.h: Added.
1137         (WebCore):
1138         (PeerConnection00Handler):
1139         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
1140         (WebCore):
1141         (PeerConnection00HandlerClient):
1142         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
1143
1144 2012-03-16  Pavel Podivilov  <podivilov@chromium.org>
1145
1146         Web Inspector: fix exception when hovering over bound function in heap profiler.
1147         https://bugs.webkit.org/show_bug.cgi?id=81362
1148
1149         Reviewed by Yury Semikhatsky.
1150
1151         * inspector/front-end/DebuggerPresentationModel.js:
1152         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
1153
1154 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
1155
1156         [Forms] The "progress" element should not be a form-associated element.
1157         https://bugs.webkit.org/show_bug.cgi?id=80240
1158
1159         Reviewed by Kent Tamura.
1160
1161         This patch changes base class of HTMLProgressElement to LabelableElement from
1162         HTMLFormControlElement for saving memory space and iteration time of
1163         extra "progress" elements in HTMLFormElement::m_formAssociatedElements
1164         and matching the HTML5 specification for ease of maintenance.
1165
1166         Changes of TextIterator is lead by usage of isFormControlElement. This
1167         changes will be replaced with more meaningful predicate as part of
1168         https://bugs.webkit.org/show_bug.cgi?id=80381
1169
1170         No new tests. Update existing tests to cover this change.
1171
1172         * css/CSSStyleSelector.cpp:
1173         (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
1174         (WebCore::CSSStyleSelector::canShareStyleWithControl):
1175         * css/SelectorChecker.cpp:
1176         (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
1177         * editing/TextIterator.cpp:
1178         (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
1179         * html/HTMLProgressElement.cpp: Remove unused include file.
1180         (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
1181         (WebCore::HTMLProgressElement::create): Remove form paraprogress.
1182         (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
1183         (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
1184         * html/HTMLProgressElement.h:
1185         (HTMLProgressElement):
1186         * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
1187         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
1188
1189 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
1190
1191         Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
1192
1193         * inspector/front-end/HeapSnapshot.js:
1194         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
1195
1196 2012-03-16  Tommy Widenflycht  <tommyw@google.com>
1197
1198         MediaStream API (JSEP): Fixing a few nits
1199         https://bugs.webkit.org/show_bug.cgi?id=81322
1200
1201         Reviewed by Adam Barth.
1202
1203         Addressing the nits from bugs 81206 and 81207.
1204
1205         Nothing to test.
1206
1207         * Modules/mediastream/SessionDescription.idl:
1208         * platform/mediastream/IceOptions.h:
1209         (WebCore::IceOptions::IceOptions):
1210         * platform/mediastream/SessionDescriptionDescriptor.h:
1211         (SessionDescriptionDescriptor):
1212
1213 2012-03-16  Peter Rybin  <peter.rybin@gmail.com>
1214
1215         Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
1216         https://bugs.webkit.org/show_bug.cgi?id=80789
1217
1218         Reviewed by Yury Semikhatsky.
1219
1220         OptOutput class is added for optional return parameters.
1221
1222         Strict mode added to Generator that makes all parameter types strict
1223         and drop pre-set default values for return parameters.
1224
1225         Debugger and Page domain is switched to strict mode.
1226
1227         * inspector/CodeGeneratorInspector.py:
1228         (CommandReturnPassModel.OptOutput):
1229         (CommandReturnPassModel.OptOutput.__init__):
1230         (CommandReturnPassModel.OptOutput.get_return_var_type):
1231         (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
1232         (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
1233         (CommandReturnPassModel.OptOutput.get_output_parameter_type):
1234         (CommandReturnPassModel):
1235         (CommandReturnPassModel.OptOutput.get_set_return_condition):
1236         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
1237         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
1238         (OptOutput):
1239         (Generator.process_event):
1240         (Generator.process_command):
1241         * inspector/ContentSearchUtils.cpp:
1242         (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
1243         (WebCore::ContentSearchUtils::searchInTextByLines):
1244         * inspector/ContentSearchUtils.h:
1245         (ContentSearchUtils):
1246         * inspector/InjectedScript.cpp:
1247         (WebCore::InjectedScript::evaluate):
1248         (WebCore::InjectedScript::callFunctionOn):
1249         (WebCore::InjectedScript::evaluateOnCallFrame):
1250         (WebCore::InjectedScript::makeEvalCall):
1251         * inspector/InjectedScript.h:
1252         (InjectedScript):
1253         * inspector/InspectorDOMDebuggerAgent.cpp:
1254         (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
1255         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
1256         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
1257         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
1258         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1259         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1260         * inspector/InspectorDebuggerAgent.cpp:
1261         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1262         (WebCore::InspectorDebuggerAgent::setBreakpoint):
1263         (WebCore::InspectorDebuggerAgent::searchInContent):
1264         (WebCore::InspectorDebuggerAgent::setScriptSource):
1265         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1266         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1267         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1268         (WebCore::InspectorDebuggerAgent::didPause):
1269         (WebCore::InspectorDebuggerAgent::breakProgram):
1270         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
1271         * inspector/InspectorDebuggerAgent.h:
1272         (InspectorDebuggerAgent):
1273         * inspector/InspectorPageAgent.cpp:
1274         (WebCore::buildObjectForCookie):
1275         (WebCore::buildArrayForCookies):
1276         (WebCore::InspectorPageAgent::getCookies):
1277         (WebCore::InspectorPageAgent::getResourceTree):
1278         (WebCore::InspectorPageAgent::searchInResource):
1279         (WebCore::InspectorPageAgent::searchInResources):
1280         (WebCore::InspectorPageAgent::buildObjectForFrame):
1281         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
1282         * inspector/InspectorPageAgent.h:
1283         * inspector/InspectorRuntimeAgent.cpp:
1284         (WebCore::InspectorRuntimeAgent::evaluate):
1285         (WebCore::InspectorRuntimeAgent::callFunctionOn):
1286
1287 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1288
1289         The IDL parser should support sequence<T> type
1290         https://bugs.webkit.org/show_bug.cgi?id=81345
1291
1292         Reviewed by Adam Barth.
1293
1294         This patch makes the IDL parser support sequence<T> type.
1295         This patch just makes sequence<T> parseable, and the generated code
1296         for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
1297         This is a preparing patch for bug 80696.
1298
1299         Test: bindings/scripts/test/TestObj.idl
1300
1301         * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
1302
1303         * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
1304
1305         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1306         (WebDOMTestObj::sequenceAttr):
1307         (WebDOMTestObj::setSequenceAttr):
1308         (WebDOMTestObj::methodWithSequenceArg):
1309         (WebDOMTestObj::methodReturningSequence):
1310         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1311         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1312         (webkit_dom_test_obj_method_with_sequence_arg):
1313         (webkit_dom_test_obj_method_returning_sequence):
1314         (webkit_dom_test_obj_get_sequence_attr):
1315         (webkit_dom_test_obj_set_sequence_attr):
1316         (webkit_dom_test_obj_get_property):
1317         (webkit_dom_test_obj_class_init):
1318         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1319         * bindings/scripts/test/JS/JSTestObj.cpp:
1320         (WebCore):
1321         (WebCore::jsTestObjSequenceAttr):
1322         (WebCore::setJSTestObjSequenceAttr):
1323         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1324         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1325         * bindings/scripts/test/JS/JSTestObj.h:
1326         (WebCore):
1327         * bindings/scripts/test/ObjC/DOMTestObj.h:
1328         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1329         (-[DOMTestObj sequenceAttr]):
1330         (-[DOMTestObj setSequenceAttr:]):
1331         (-[DOMTestObj methodWithSequenceArg:]):
1332         (-[DOMTestObj methodReturningSequence:]):
1333         * bindings/scripts/test/V8/V8TestObj.cpp:
1334         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
1335         (TestObjInternal):
1336         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
1337         (WebCore::TestObjInternal::methodWithSequenceArgCallback):
1338         (WebCore::TestObjInternal::methodReturningSequenceCallback):
1339         (WebCore):
1340         (WebCore::ConfigureV8TestObjTemplate):
1341
1342 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
1343
1344         Web Inspector: HeapSnapshot: merge two long operations into one.
1345         https://bugs.webkit.org/show_bug.cgi?id=81347
1346
1347         Reviewed by Yury Semikhatsky.
1348
1349         * inspector/front-end/HeapSnapshot.js:
1350         (WebInspector.HeapSnapshot.prototype.aggregates):
1351         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1352         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
1353
1354 2012-03-16  Gavin Peters  <gavinp@chromium.org>
1355
1356         Add asserts and improve logging in PageCache.
1357         https://bugs.webkit.org/show_bug.cgi?id=81179
1358
1359         Reviewed by Brady Eidson.
1360
1361         The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
1362         the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
1363         the logged data mostly accurate.
1364
1365         * history/PageCache.cpp:
1366         (WebCore::logCanCacheFrameDecision):
1367
1368 2012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
1369
1370         [Forms] label.form attribute doesn't work
1371         https://bugs.webkit.org/show_bug.cgi?id=80499
1372
1373         Reviewed by Kent Tamura.
1374
1375         This patch changes implementation of label.form of IDL attribute to
1376         compute it to the form element specified by the "form" HTML attribute
1377         or form ancestor when the "form" HTML attribute isn't in HTML.
1378
1379         This patch introduces new function FormAssociatedElement::findAssociatedForm
1380         for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
1381         and HTMLLabelElement::form.
1382
1383         No new tests. Update existing tests.
1384
1385         * html/FormAssociatedElement.cpp:
1386         (WebCore::FormAssociatedElement::findAssociatedForm): Added.
1387         (WebCore):
1388         (WebCore::FormAssociatedElement::insertedIntoTree):
1389         (WebCore::FormAssociatedElement::resetFormOwner):
1390         * html/FormAssociatedElement.h:
1391         (FormAssociatedElement):
1392         * html/HTMLLabelElement.cpp: Remove unused include files
1393         (WebCore::HTMLLabelElement::form): Added.
1394
1395 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1396
1397         Use the normalize method of FloatPoint instead of normalizing manually
1398         https://bugs.webkit.org/show_bug.cgi?id=81343
1399
1400         Reviewed by Simon Hausmann.
1401
1402         * platform/graphics/TiledBackingStore.cpp:
1403         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1404         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
1405
1406 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1407
1408         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
1409         https://bugs.webkit.org/show_bug.cgi?id=79636
1410
1411         Reviewed by Adam Barth.
1412
1413         For WebKit modularization, this patch moves Notifications-related APIs
1414         from DOMWindow.idl to DOMWindowNotifications.idl.
1415
1416         Tests: fast/notifications/* (No change in test results)
1417
1418         * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
1419         * DerivedSources.make: Ditto.
1420         * DerivedSources.pri: Ditto.
1421         * GNUmakefile.list.am: Ditto.
1422         * Target.pri: Ditto.
1423         * WebCore.gypi: Ditto.
1424         * WebCore.vcproj/WebCore.vcproj: Ditto.
1425
1426         * WebCore.exp.in: Added mangled signatures of webkitNotifications().
1427
1428         * notifications/DOMWindowNotifications.cpp: Added.
1429         (WebCore):
1430         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1431         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
1432         (WebCore::DOMWindowNotifications::from):
1433         (WebCore::DOMWindowNotifications::webkitNotifications):
1434         (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
1435         (WebCore::DOMWindowNotifications::disconnectFrame):
1436         * notifications/DOMWindowNotifications.h: Added.
1437         (WebCore):
1438         (DOMWindowNotifications):
1439         * notifications/DOMWindowNotifications.idl: Added.
1440
1441         * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
1442         (WebCore::DOMWindow::~DOMWindow):
1443         (WebCore::DOMWindow::willDetachPage):
1444         (WebCore::DOMWindow::clear):
1445         * page/DOMWindow.h: Ditto.
1446         (WebCore):
1447         (DOMWindow):
1448         * page/DOMWindow.idl: Ditto.
1449         * page/Frame.cpp: Ditto.
1450         (WebCore::Frame::willDetachPage):
1451         (WebCore::Frame::transferChildFrameToNewDocument):
1452
1453 2012-03-16  Kentaro Hara  <haraken@chromium.org>
1454
1455         [Performance] Optimize innerHTML and outerHTML
1456         https://bugs.webkit.org/show_bug.cgi?id=81214
1457
1458         Reviewed by Adam Barth.
1459
1460         This patch makes innerHTML and outerHTML 2.4 times faster.
1461
1462         Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
1463         The performance test measures body.innerHTML for 3000 lines of HTML,
1464         which is copied from the HTML spec.
1465
1466         - Chromium/Mac without the patch
1467         div.innerHTML: 1658.6 ms
1468         div.outerHTML: 4859.6 ms
1469         body.innerHTML: 640.2 ms
1470         body.outerHTML: 641.8 ms
1471
1472         - Chromium/Mac with the patch
1473         div.innerHTML:  751.0 ms
1474         div.outerHTML: 2096.0 ms
1475         body.innerHTML: 271.2 ms
1476         body.outerHTML: 271.2 ms
1477
1478         - Chromium/Linux without the patch
1479         div.innerHTML:  950.4 ms
1480         div.outerHTML: 2257.8 ms
1481         body.innerHTML: 452.8 ms
1482         body.outerHTML: 457.6 ms
1483
1484         - Chromium/Linux with the patch
1485         div.innerHTML:  582.4 ms
1486         div.outerHTML: 1283.0 ms
1487         body.innerHTML: 233.0 ms
1488         body.outerHTML: 233.4 ms
1489
1490         - AppleWebKit/Mac without the patch
1491         div.innerHTML:  900.6 ms
1492         div.outerHTML: 2245.2 ms
1493         body.innerHTML: 462.6 ms
1494         body.outerHTML: 468.0 ms
1495
1496         - AppleWebKit/Mac with the patch
1497         div.innerHTML:  529.8  ms
1498         div.outerHTML: 1090.2 ms
1499         body.innerHTML: 239.2 ms
1500         body.outerHTML: 239.2 ms
1501
1502         This patch applies the following two optimizations:
1503
1504         (a) Remove redundant copies between Vector<String> and StringBuilders
1505         in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
1506         and MarkupAccumulator::appendEndTag().
1507
1508             (Previous behavior)
1509             - Create a StringBuilder for each tag.
1510             - Append a created string in each StringBuilder to Vector<String>,
1511               parsing the DOM tree.
1512             - After the parsing, allocate a StringBuilder whose size is the sum
1513               of all Strings in Vector<String>.
1514             - Append all Strings in Vector<String> to the StringBuilder.
1515             (New behavior)
1516             - Allocate a StringBuilder with a default buffer size.
1517             - Append created strings to the StringBuilder, incrementally parsing
1518               the DOM tree.
1519
1520         (b) Optimize stringBuilder.append().
1521             (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
1522                   stringBuilder.append("A") requires to cast the characters to LChar*,
1523                   and then call strlen("A"). stringBuilder.append('A') is faster.
1524             (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
1525                   and stringBuilder.append('B'). In my experiment, appending characters
1526                   one by one is faster than appending the characters at a breath if the
1527                   number of characters is less than 3.
1528             (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
1529                   with stringBuilder.append("ABCDE", 5). While the former requires to call
1530                   strlen("ABCDE"), the latter does not.
1531
1532         (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
1533
1534         Tests: fast/dom/Range/range-extract-contents.html
1535                fast/dom/serialize-nodes.xhtml
1536                fast/dom/XMLSerializer.html
1537                and all other tests that use innerHTML or outerHTML.
1538                No change in the test results.
1539
1540         * editing/MarkupAccumulator.cpp:
1541         (WebCore::MarkupAccumulator::serializeNodes):
1542         (WebCore::MarkupAccumulator::appendString):
1543         (WebCore::MarkupAccumulator::appendStartTag):
1544         (WebCore::MarkupAccumulator::appendEndTag):
1545         (WebCore::MarkupAccumulator::concatenateMarkup):
1546         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
1547         (WebCore::MarkupAccumulator::appendComment):
1548         (WebCore::MarkupAccumulator::appendDocumentType):
1549         (WebCore::MarkupAccumulator::appendProcessingInstruction):
1550         (WebCore::MarkupAccumulator::appendOpenTag):
1551         (WebCore::MarkupAccumulator::appendAttribute):
1552         (WebCore::MarkupAccumulator::appendCDATASection):
1553         * editing/MarkupAccumulator.h:
1554         (MarkupAccumulator):
1555
1556 2012-03-16  Kihong Kwon  <kihong.kwon@samsung.com>
1557
1558         Support for Battery Status API
1559         https://bugs.webkit.org/show_bug.cgi?id=62698
1560
1561         Battery Status API is implemented under the Navigator class.
1562         Battery Status API has four types of events, and all events are operated based on a callback mechanism.
1563          : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
1564         The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
1565         When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
1566         http://www.w3.org/TR/battery-status/
1567
1568         Reviewed by Adam Barth.
1569
1570         Tests: batterystatus/add-listener-from-callback.html
1571                batterystatus/basic-all-types-of-events.html
1572                batterystatus/basic-operation.html
1573                batterystatus/event-after-navigation.html
1574                batterystatus/multiple-frames.html
1575                batterystatus/updates.html
1576                batterystatus/window-property.html
1577
1578         * CMakeLists.txt:
1579         * Modules/battery/BatteryClient.h: Added.
1580         (WebCore):
1581         (BatteryClient):
1582         (WebCore::BatteryClient::~BatteryClient):
1583         * Modules/battery/BatteryController.cpp: Added.
1584         (WebCore):
1585         (WebCore::BatteryController::BatteryController):
1586         (WebCore::BatteryController::~BatteryController):
1587         (WebCore::BatteryController::create):
1588         (WebCore::BatteryController::addListener):
1589         (WebCore::BatteryController::removeListener):
1590         (WebCore::BatteryController::didChangeBatteryStatus):
1591         (WebCore::BatteryController::supplementName):
1592         (WebCore::BatteryController::isActive):
1593         (WebCore::provideBatteryTo):
1594         * Modules/battery/BatteryController.h: Added.
1595         (WebCore):
1596         (BatteryController):
1597         (WebCore::BatteryController::client):
1598         (WebCore::BatteryController::from):
1599         * Modules/battery/BatteryManager.cpp: Added.
1600         (WebCore):
1601         (WebCore::BatteryManager::create):
1602         (WebCore::BatteryManager::~BatteryManager):
1603         (WebCore::BatteryManager::BatteryManager):
1604         (WebCore::BatteryManager::charging):
1605         (WebCore::BatteryManager::chargingTime):
1606         (WebCore::BatteryManager::dischargingTime):
1607         (WebCore::BatteryManager::level):
1608         (WebCore::BatteryManager::didChangeBatteryStatus):
1609         (WebCore::BatteryManager::suspend):
1610         (WebCore::BatteryManager::resume):
1611         (WebCore::BatteryManager::stop):
1612         * Modules/battery/BatteryManager.h: Added.
1613         (WebCore):
1614         (BatteryManager):
1615         (WebCore::BatteryManager::interfaceName):
1616         (WebCore::BatteryManager::scriptExecutionContext):
1617         (WebCore::BatteryManager::batteryControllerDestroyed):
1618         (WebCore::BatteryManager::canSuspend):
1619         (WebCore::BatteryManager::eventTargetData):
1620         (WebCore::BatteryManager::ensureEventTargetData):
1621         (WebCore::BatteryManager::refEventTarget):
1622         (WebCore::BatteryManager::derefEventTarget):
1623         * Modules/battery/BatteryManager.idl: Added.
1624         * Modules/battery/BatteryStatus.cpp: Added.
1625         (WebCore):
1626         (WebCore::BatteryStatus::create):
1627         (WebCore::BatteryStatus::BatteryStatus):
1628         * Modules/battery/BatteryStatus.h: Added.
1629         (WebCore):
1630         (BatteryStatus):
1631         (WebCore::BatteryStatus::charging):
1632         (WebCore::BatteryStatus::chargingTime):
1633         (WebCore::BatteryStatus::dischargingTime):
1634         (WebCore::BatteryStatus::level):
1635         * Modules/battery/NavigatorBattery.cpp: Added.
1636         (WebCore):
1637         (WebCore::NavigatorBattery::NavigatorBattery):
1638         (WebCore::NavigatorBattery::~NavigatorBattery):
1639         (WebCore::NavigatorBattery::webkitBattery):
1640         (WebCore::NavigatorBattery::from):
1641         (WebCore::NavigatorBattery::batteryManager):
1642         * Modules/battery/NavigatorBattery.h: Added.
1643         (WebCore):
1644         (NavigatorBattery):
1645         * Modules/battery/NavigatorBattery.idl: Added.
1646         * dom/EventNames.h:
1647         (WebCore):
1648         * dom/EventTargetFactory.in:
1649         * testing/Internals.cpp:
1650         (WebCore::Internals::setBatteryStatus):
1651         (WebCore):
1652         * testing/Internals.h:
1653         (Internals):
1654         * testing/Internals.idl:
1655
1656 2012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
1657
1658         Web Inspector: HeapSnapshot: speedup buildReverseIndex.
1659         https://bugs.webkit.org/show_bug.cgi?id=81327
1660
1661         Reviewed by Yury Semikhatsky.
1662
1663         * inspector/front-end/HeapSnapshot.js:
1664         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
1665         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
1666         (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
1667         (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
1668         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1669         (WebInspector.HeapSnapshot.prototype):
1670
1671 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1672
1673         Unreviewed, rolling out r110976.
1674         http://trac.webkit.org/changeset/110976
1675         https://bugs.webkit.org/show_bug.cgi?id=81330
1676
1677         webkit_unit_tests crashes. (Requested by morrita on #webkit).
1678
1679         * loader/cache/CachedCSSStyleSheet.cpp:
1680         (WebCore::CachedCSSStyleSheet::error):
1681         (WebCore):
1682         * loader/cache/CachedCSSStyleSheet.h:
1683         (CachedCSSStyleSheet):
1684         * loader/cache/CachedFont.cpp:
1685         (WebCore):
1686         (WebCore::CachedFont::error):
1687         * loader/cache/CachedFont.h:
1688         (CachedFont):
1689         * loader/cache/CachedImage.cpp:
1690         (WebCore::CachedImage::error):
1691         * loader/cache/CachedResource.h:
1692         (CachedResource):
1693         * loader/cache/CachedScript.cpp:
1694         (WebCore::CachedScript::error):
1695         (WebCore):
1696         * loader/cache/CachedScript.h:
1697         (CachedScript):
1698         * loader/cache/CachedXSLStyleSheet.cpp:
1699         (WebCore::CachedXSLStyleSheet::error):
1700         (WebCore):
1701         * loader/cache/CachedXSLStyleSheet.h:
1702         (CachedXSLStyleSheet):
1703
1704 2012-03-16  Luke Macpherson   <macpherson@chromium.org>
1705
1706         Implement cast between CSSPrimitiveValue and LineClampValue.
1707         https://bugs.webkit.org/show_bug.cgi?id=76806
1708
1709         Reviewed by Andreas Kling.
1710
1711         Covered by many existing LayoutTests.
1712
1713         This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
1714
1715         * css/CSSPrimitiveValueMappings.h:
1716         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1717         (WebCore::CSSPrimitiveValue::operator LineClampValue):
1718         * css/CSSStyleSelector.cpp:
1719         (WebCore::CSSStyleSelector::applyProperty):
1720
1721 2012-03-16  Nat Duca  <nduca@chromium.org>
1722
1723         [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
1724         https://bugs.webkit.org/show_bug.cgi?id=81298
1725
1726         Reviewed by James Robinson.
1727
1728         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1729         (WTF):
1730
1731 2012-03-16  Levi Weintraub  <leviw@chromium.org>
1732
1733         Update usage of LayoutUnits in RenderBlock*
1734         https://bugs.webkit.org/show_bug.cgi?id=80437
1735
1736         Reviewed by Julien Chaffraix.
1737
1738         Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
1739         the transition to subpixel layout.
1740
1741         See https://trac.webkit.org/wiki/LayoutUnit for more details.
1742
1743         No new tests. No changed behavior.
1744
1745         * rendering/InlineTextBox.cpp:
1746         (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
1747         * rendering/LayoutTypes.h:
1748         (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
1749         FractionalLayoutUnits.
1750         (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
1751         or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
1752         LayoutUnits are integers instead of FractionalLayoutUnits.
1753         (WebCore):
1754         * rendering/RenderBlock.cpp:
1755         (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
1756         inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
1757         been moved there.
1758         (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
1759         (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
1760         (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
1761         (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
1762         converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
1763         for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
1764         that encloses the contained text.
1765         (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
1766         (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
1767         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
1768         need to use pixel snapped values to give the proper results.
1769         * rendering/RenderBlock.h:
1770         (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
1771         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
1772         columns add an extra offset at paint that can't currently be planned for at line-layout time. To
1773         avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
1774         lines will be up to 1 pixel shorter than they potentially could be.
1775         (RenderBlock):
1776         (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
1777         LayoutRects.
1778         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
1779         (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
1780         (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
1781         (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
1782         (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
1783         * rendering/RenderBlockLineLayout.cpp:
1784         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
1785         flooring textIndentOffset to an integer to match old behavior.
1786         (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
1787         (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
1788         (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
1789         (LineLayoutState): Ditto.
1790         (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
1791         (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
1792         (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
1793         as this value can be seen as representing pixels on screen.
1794
1795 2012-03-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1796
1797         Follow up to: window.innerWidth/Height should not include page scale
1798         https://bugs.webkit.org/show_bug.cgi?id=76555
1799
1800         Reviewed by Simon Hausmann.
1801
1802         Introduce mapping methods for converting between CSS and layout units.
1803
1804         * page/DOMWindow.cpp:
1805         (WebCore::DOMWindow::innerHeight):
1806         (WebCore::DOMWindow::innerWidth):
1807         (WebCore::DOMWindow::scrollX):
1808         (WebCore::DOMWindow::scrollY):
1809         (WebCore::DOMWindow::scrollTo):
1810         * page/FrameView.h:
1811         (FrameView):
1812         (WebCore::FrameView::mapFromLayoutToCSSUnits):
1813         (WebCore):
1814         (WebCore::FrameView::mapFromCSSToLayoutUnits):
1815
1816 2012-03-16  Ian Vollick  <vollick@chromium.org>
1817
1818         [chromium] Threaded opacity animation jump to opacity of 0
1819         https://bugs.webkit.org/show_bug.cgi?id=80744
1820
1821         Reviewed by James Robinson.
1822
1823         Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
1824
1825         * platform/graphics/chromium/LayerChromium.cpp:
1826         (WebCore::LayerChromium::LayerChromium):
1827         (WebCore::LayerChromium::opacityIsAnimating):
1828         (WebCore):
1829         (WebCore::LayerChromium::transformIsAnimating):
1830         * platform/graphics/chromium/LayerChromium.h:
1831         (LayerChromium):
1832         (WebCore::LayerChromium::drawOpacityIsAnimating):
1833         (WebCore::LayerChromium::setDrawOpacityIsAnimating):
1834         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1835         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1836         * platform/graphics/chromium/RenderSurfaceChromium.h:
1837         (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
1838         (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
1839         (RenderSurfaceChromium):
1840         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1841         (WebCore::CCLayerAnimationController::isAnimatingProperty):
1842         (WebCore):
1843         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1844         (CCLayerAnimationController):
1845         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
1846         (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
1847         (WebCore):
1848         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
1849         (CCLayerAnimationControllerImpl):
1850         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1851         (WebCore::CCLayerImpl::CCLayerImpl):
1852         (WebCore::CCLayerImpl::opacityIsAnimating):
1853         (WebCore):
1854         (WebCore::CCLayerImpl::transformIsAnimating):
1855         * platform/graphics/chromium/cc/CCLayerImpl.h:
1856         (CCLayerImpl):
1857         (WebCore::CCLayerImpl::drawOpacityIsAnimating):
1858         (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
1859         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1860         (WebCore::CCLayerTreeHost::paintLayerContents):
1861         (WebCore::CCLayerTreeHost::updateCompositorResources):
1862         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1863         (WebCore::layerShouldBeSkipped):
1864         (WebCore::subtreeShouldBeSkipped):
1865         (WebCore):
1866         (WebCore::LayerChromium):
1867         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1868         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1869         (WebCore::CCRenderSurface::CCRenderSurface):
1870         * platform/graphics/chromium/cc/CCRenderSurface.h:
1871         (WebCore::CCRenderSurface::drawOpacityIsAnimating):
1872         (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
1873         (CCRenderSurface):
1874
1875 2012-03-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1876
1877         [TexMap] Reuse textures following the same rules as they do internally.
1878         https://bugs.webkit.org/show_bug.cgi?id=80843
1879
1880         Reviewed by Noam Rosenthal.
1881
1882         BitmapTextures were recently changed to be the same size as their contents.
1883         This would obsolete the logic in acquireTextureFromPool which would
1884         assume that a BitmapTexture has good chances of being reused if its
1885         size is bigger or equal to the new size.
1886
1887         This asks the texture instead if it can be reused which now simply
1888         check for an exact size match.
1889
1890         * platform/graphics/texmap/TextureMapper.cpp:
1891         (WebCore::TextureMapper::acquireTextureFromPool):
1892         * platform/graphics/texmap/TextureMapper.h:
1893         (WebCore::BitmapTexture::canReuseWith):
1894         (WebCore::BitmapTexture::reset):
1895         (WebCore::BitmapTexture::didReset):
1896         * platform/graphics/texmap/TextureMapperGL.cpp:
1897         (WebCore::BitmapTextureGL::canReuseWith):
1898         (WebCore):
1899         * platform/graphics/texmap/TextureMapperGL.h:
1900         (BitmapTextureGL):
1901
1902 2012-03-16  Robert Kroeger  <rjkroege@chromium.org>
1903
1904         Connect up fling event delivery to gesture curve animation framework
1905         https://bugs.webkit.org/show_bug.cgi?id=80858
1906
1907         Reviewed by Adam Barth.
1908
1909         * platform/ScrollAnimatorNone.cpp:
1910         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
1911
1912 2012-03-16  Nate Chapin  <japhet@chromium.org>
1913
1914         Remove duplicate error() impls in CachedResource subclasses
1915         https://bugs.webkit.org/show_bug.cgi?id=81161
1916
1917         Reviewed by Alexey Proskuryakov.
1918
1919         No new tests, refactor only.
1920
1921         * loader/cache/CachedCSSStyleSheet.cpp:
1922         * loader/cache/CachedCSSStyleSheet.h:
1923         * loader/cache/CachedFont.cpp:
1924         * loader/cache/CachedFont.h:
1925         * loader/cache/CachedImage.cpp:
1926         * loader/cache/CachedResource.h: Make checkNotify()
1927              virtual, so the right checkNotify() gets called in error().
1928         * loader/cache/CachedScript.cpp:
1929         * loader/cache/CachedScript.h:
1930         * loader/cache/CachedXSLStyleSheet.cpp:
1931         * loader/cache/CachedXSLStyleSheet.h:
1932
1933 2012-03-16  Dana Jansens  <danakj@chromium.org>
1934
1935         [chromium] Changes to overdraw metrics to allow upload tracking
1936         https://bugs.webkit.org/show_bug.cgi?id=81222
1937
1938         Reviewed by Adrienne Walker.
1939
1940         Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
1941         everywhere that culling/drawing/painting is going on. Then we can stop
1942         plumbing a metrics object through CCQuadCuller.
1943
1944         Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
1945         measure texture uploads rather than pixels painted in main memory.
1946
1947         Covered by existing tests.
1948
1949         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1950         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1951         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1952         (WebCore::::CCOcclusionTrackerBase):
1953         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1954         (CCOcclusionTrackerBase):
1955         (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
1956         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1957         (WebCore::CCOverdrawMetrics::didCull):
1958         (WebCore):
1959         (WebCore::CCOverdrawMetrics::didDraw):
1960         (WebCore::CCOverdrawMetrics::recordMetrics):
1961         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1962         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
1963         (WebCore):
1964         (WebCore::CCOverdrawMetrics::create):
1965         (CCOverdrawMetrics):
1966         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1967         (WebCore::CCQuadCuller::CCQuadCuller):
1968         (WebCore::CCQuadCuller::append):
1969         * platform/graphics/chromium/cc/CCQuadCuller.h:
1970         (CCQuadCuller):
1971         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1972         (WebCore::CCRenderPass::appendQuadsForLayer):
1973         * platform/graphics/chromium/cc/CCRenderPass.h:
1974         (WebCore):
1975         (CCRenderPass):
1976
1977 2012-03-16  Greg Billock  <gbillock@google.com>
1978
1979         Add TransferList IDL modifier, with support in V8 code gen.
1980         https://bugs.webkit.org/show_bug.cgi?id=81127
1981
1982         Reviewed by Adam Barth.
1983
1984         * bindings/scripts/CodeGeneratorV8.pm:
1985         (GenerateFunctionCallback):
1986         (GetIndexOf):
1987         (GenerateParametersCheck):
1988         (GenerateConstructorCallback):
1989         (GenerateNamedConstructorCallback):
1990         (GenerateFunctionCallString):
1991         * bindings/scripts/IDLAttributes.txt:
1992         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1993         (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
1994         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
1995         (WebDOMTestSerializedScriptValueInterface):
1996         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1997         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
1998         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1999         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2000         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2001         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2002         (WebCore):
2003         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
2004         (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
2005         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2006         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2007         (JSTestSerializedScriptValueInterfacePrototype):
2008         (WebCore):
2009         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2010         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
2011         (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
2012         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2013         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2014         (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
2015         (TestSerializedScriptValueInterfaceInternal):
2016         (WebCore):
2017         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2018         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2019
2020 2012-03-16  Dana Jansens  <danakj@chromium.org>
2021
2022         [chromium] Quads that become fully opaque after culling should not use blending
2023         https://bugs.webkit.org/show_bug.cgi?id=81235
2024
2025         Reviewed by Adrienne Walker.
2026
2027         Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
2028
2029         * platform/graphics/chromium/cc/CCDrawQuad.h:
2030         (WebCore::CCDrawQuad::needsBlending):
2031
2032 2012-03-16  Xiaomei Ji  <xji@chromium.org>
2033
2034         Using ICU break iterator to simplify visual word movement implementation.
2035         https://bugs.webkit.org/show_bug.cgi?id=78856
2036
2037         Reviewed by Ryosuke Niwa.
2038
2039         This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
2040         position in visual order. It reduces the complexity of old implementation.
2041
2042         Test: editing/selection/move-by-word-visually-wrong-left-right.html
2043
2044         * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
2045         (WebCore::FrameSelection::modifyMovingRight):
2046         (WebCore::FrameSelection::modifyMovingLeft):
2047         * editing/visible_units.cpp:
2048         (WebCore):
2049         (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
2050         (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
2051         (WebCore::nextLeafWithSameEditability): ditto.
2052         (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
2053         (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
2054         (WebCore::boxIndexInVector):
2055         (WebCore::previousBoxInLine): returns logically previous box in one line.
2056         (WebCore::logicallyPreviousBox): returns logically previous box.
2057         (WebCore::nextBoxInLine): returns logically next box in one line.
2058         (WebCore::logicallyNextBox): returns logically next box.
2059         (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
2060         (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
2061         (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
2062         (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
2063         (WebCore::visualWordPosition): returns the visual left or right word position.
2064         (WebCore::leftWordPosition):
2065         (WebCore::rightWordPosition):
2066         * platform/text/TextBreakIterator.h: Add isWordTextBreak().
2067         (WebCore):
2068         * platform/text/TextBreakIteratorICU.cpp:
2069         (WebCore::isWordTextBreak):
2070         (WebCore):
2071         * platform/text/gtk/TextBreakIteratorGtk.cpp:
2072         (WebCore::isWordTextBreak):
2073         (WebCore):
2074         * platform/text/qt/TextBreakIteratorQt.cpp:
2075         (WebCore::isWordTextBreak):
2076         (WebCore):
2077         * platform/text/wince/TextBreakIteratorWinCE.cpp:
2078         (WebCore::isWordTextBreak):
2079         (WebCore):
2080
2081 2012-03-16  Dana Jansens  <danakj@chromium.org>
2082
2083         [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
2084         https://bugs.webkit.org/show_bug.cgi?id=81250
2085
2086         Reviewed by James Robinson.
2087
2088         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2089         (WebCore::CCVideoLayerImpl::appendQuads):
2090
2091 2012-03-16  Hajime Morrita  <morrita@chromium.org>
2092
2093         Unreviewed attempt to fix Chromium windows build.
2094
2095         * Modules/speech/SpeechRecognition.h:
2096         (SpeechRecognition):
2097
2098 2012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
2099
2100         Move DOMWindowFileSystem to Modules/filesystem/
2101         https://bugs.webkit.org/show_bug.cgi?id=81030
2102
2103         Reviewed by Adam Barth.
2104
2105         No new tests, all existing tests pass.
2106
2107         * CMakeLists.txt:
2108         * DerivedSources.make:
2109         * DerivedSources.pri:
2110         * GNUmakefile.am:
2111         * GNUmakefile.list.am:
2112         * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
2113         * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
2114         * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
2115         * Target.pri:
2116         * WebCore.gyp/WebCore.gyp:
2117         * WebCore.gypi:
2118         * WebCore.vcproj/WebCore.vcproj:
2119         * WebCore.vcproj/WebCoreCommon.vsprops:
2120         * WebCore.vcproj/copyForwardingHeaders.cmd:
2121         * fileapi/DOMWindowFileSystem.cpp: Removed.
2122         * fileapi/DOMWindowFileSystem.h: Removed.
2123         * fileapi/DOMWindowFileSystem.idl: Removed.
2124
2125 2012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2126
2127         Unreviewed, rolling out r110951.
2128         http://trac.webkit.org/changeset/110951
2129         https://bugs.webkit.org/show_bug.cgi?id=81316
2130
2131         Does not build on apple-mac (Requested by abarth on #webkit).
2132
2133         * platform/audio/DynamicsCompressor.h:
2134         (DynamicsCompressor):
2135         * webaudio/DynamicsCompressorNode.cpp:
2136         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2137         (WebCore::DynamicsCompressorNode::process):
2138         * webaudio/DynamicsCompressorNode.h:
2139         (DynamicsCompressorNode):
2140         * webaudio/DynamicsCompressorNode.idl:
2141
2142 2012-03-16  Seo Sanghyeon  <sh4.seo@samsung.com>
2143
2144         Cleanup empty attribute list in IDLs
2145         https://bugs.webkit.org/show_bug.cgi?id=81228
2146
2147         Reviewed by Adam Barth.
2148
2149         No tests. No change in behavior.
2150
2151         * css/WebKitCSSRegionRule.idl:
2152
2153 2012-03-16  Pratik Solanki  <psolanki@apple.com>
2154
2155         onorientationchange event should have JSWindowEventListener attribute
2156         https://bugs.webkit.org/show_bug.cgi?id=79513
2157
2158         Reviewed by Kentaro Hara.
2159
2160         * html/HTMLFrameSetElement.idl:
2161
2162 2012-03-15  Gao Chun  <chun.gao@intel.com>
2163
2164         Expose attack, release as DynamicsCompressorNode's attributes.
2165         https://bugs.webkit.org/show_bug.cgi?id=81221
2166
2167         Reviewed by Chris Rogers.
2168
2169         Test: webaudio/dynamicscompressor-basic.html
2170
2171         * platform/audio/DynamicsCompressor.h:
2172         (DynamicsCompressor):
2173         * webaudio/DynamicsCompressorNode.cpp:
2174         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2175         (WebCore::DynamicsCompressorNode::process):
2176         * webaudio/DynamicsCompressorNode.h:
2177         (WebCore::DynamicsCompressorNode::attack):
2178         (WebCore::DynamicsCompressorNode::release):
2179         (DynamicsCompressorNode):
2180         * webaudio/DynamicsCompressorNode.idl:
2181
2182 2012-03-15  Hans Wennborg  <hans@chromium.org>
2183
2184         Speech JavaScript API: SpeechRecognition, Controller and Client
2185         https://bugs.webkit.org/show_bug.cgi?id=81096
2186
2187         Reviewed by Adam Barth.
2188
2189         Add implementation stub for SpeechRecognition. Add the
2190         SpeechRecognitionController class and SpeechRecognitionClient
2191         interface.
2192
2193         Test: fast/speech/scripted/basics.html
2194
2195         * Modules/speech/DOMWindowSpeech.idl:
2196         * Modules/speech/SpeechRecognition.cpp: Added.
2197         (WebCore):
2198         (WebCore::SpeechRecognition::create):
2199         (WebCore::SpeechRecognition::start):
2200         (WebCore::SpeechRecognition::stopFunction):
2201         (WebCore::SpeechRecognition::abort):
2202         (WebCore::SpeechRecognition::audioStartCallback):
2203         (WebCore::SpeechRecognition::soundStartCallback):
2204         (WebCore::SpeechRecognition::speechStartCallback):
2205         (WebCore::SpeechRecognition::speechEndCallback):
2206         (WebCore::SpeechRecognition::audioEndCallback):
2207         (WebCore::SpeechRecognition::resultCallback):
2208         (WebCore::SpeechRecognition::noMatchCallback):
2209         (WebCore::SpeechRecognition::resultDeletedCallback):
2210         (WebCore::SpeechRecognition::errorCallback):
2211         (WebCore::SpeechRecognition::startCallback):
2212         (WebCore::SpeechRecognition::endCallback):
2213         (WebCore::SpeechRecognition::interfaceName):
2214         (WebCore::SpeechRecognition::scriptExecutionContext):
2215         (WebCore::SpeechRecognition::SpeechRecognition):
2216         (WebCore::SpeechRecognition::~SpeechRecognition):
2217         * Modules/speech/SpeechRecognition.h: Added.
2218         (WebCore):
2219         (SpeechRecognition):
2220         (WebCore::SpeechRecognition::grammars):
2221         (WebCore::SpeechRecognition::setGrammars):
2222         (WebCore::SpeechRecognition::lang):
2223         (WebCore::SpeechRecognition::setLang):
2224         (WebCore::SpeechRecognition::continuous):
2225         (WebCore::SpeechRecognition::setContinuous):
2226         * Modules/speech/SpeechRecognition.idl:
2227         * Modules/speech/SpeechRecognitionClient.h:
2228         (WebCore):
2229         (SpeechRecognitionClient):
2230         (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
2231         * Modules/speech/SpeechRecognitionController.cpp:
2232         (WebCore):
2233         (WebCore::SpeechRecognitionController::supplementName):
2234         (WebCore::SpeechRecognitionController::SpeechRecognitionController):
2235         (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
2236         (WebCore::SpeechRecognitionController::create):
2237         (WebCore::provideSpeechRecognitionTo):
2238         * Modules/speech/SpeechRecognitionController.h: Added.
2239         (WebCore):
2240         (SpeechRecognitionController):
2241         (WebCore::SpeechRecognitionController::start):
2242         (WebCore::SpeechRecognitionController::stop):
2243         (WebCore::SpeechRecognitionController::abort):
2244         (WebCore::SpeechRecognitionController::visibilityHidden):
2245         (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
2246         (WebCore::SpeechRecognitionController::from):
2247         * WebCore.gypi:
2248         * dom/EventTargetFactory.in:
2249
2250 2012-03-15  Michal Ciepielski  <m.ciepielski@samsung.com>
2251
2252         [EFL] Sets alpha channel for new buffers.
2253         https://bugs.webkit.org/show_bug.cgi?id=77101
2254
2255         Reviewed by Hajime Morita.
2256
2257         No new tests.
2258
2259         By default EFL creates buffers without alpha channel.
2260         This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
2261         This commits sets alpha channel for all newly created buffers by EFL.
2262
2263         * platform/efl/RenderThemeEfl.cpp:
2264         (WebCore::RenderThemeEfl::cacheThemePartNew):
2265
2266 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2267
2268         Unreviewed, rolling out r110941.
2269         http://trac.webkit.org/changeset/110941
2270         https://bugs.webkit.org/show_bug.cgi?id=81307
2271
2272         the revert looks innocent. (Requested by morrita on #webkit).
2273
2274         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2275         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2276         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2277         (Canvas2DLayerChromium):
2278         * platform/graphics/chromium/ContentLayerChromium.cpp:
2279         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2280         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2281         * platform/graphics/chromium/ContentLayerChromium.h:
2282         (WebCore):
2283         (ContentLayerChromium):
2284         * platform/graphics/chromium/ImageLayerChromium.cpp:
2285         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2286         * platform/graphics/chromium/ImageLayerChromium.h:
2287         (WebCore):
2288         (ImageLayerChromium):
2289         * platform/graphics/chromium/LayerChromium.h:
2290         (WebCore::LayerChromium::paintContentsIfDirty):
2291         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2292         * platform/graphics/chromium/TiledLayerChromium.cpp:
2293         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2294         (WebCore::TiledLayerChromium::prepareToUpdate):
2295         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2296         * platform/graphics/chromium/TiledLayerChromium.h:
2297         (TiledLayerChromium):
2298         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2299         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2300         * platform/graphics/chromium/WebGLLayerChromium.h:
2301         (WebGLLayerChromium):
2302         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2303         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2304         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2305         (WebCore::CCLayerTreeHost::paintLayerContents):
2306         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2307
2308 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
2309
2310         MediaStream API (JSEP): Introducing SessionDescription
2311         https://bugs.webkit.org/show_bug.cgi?id=81206
2312
2313         Reviewed by Adam Barth.
2314
2315         Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
2316         see bug 80589 for more information.
2317         Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
2318
2319         Not possible to test until the entire JSEP feature is commited.
2320
2321         * GNUmakefile.list.am:
2322         * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2323         (WebCore):
2324         (WebCore::SessionDescription::create):
2325         (WebCore::SessionDescription::SessionDescription):
2326         (WebCore::SessionDescription::~SessionDescription):
2327         (WebCore::SessionDescription::addCandidate):
2328         (WebCore::SessionDescription::toSdp):
2329         (WebCore::SessionDescription::descriptor):
2330         * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2331         (WebCore):
2332         (SessionDescription):
2333         * Modules/mediastream/SessionDescription.idl: Added.
2334         * WebCore.gypi:
2335         * platform/mediastream/MediaStreamCenter.cpp:
2336         (WebCore::MediaStreamCenter::constructSdp):
2337         (WebCore):
2338         * platform/mediastream/MediaStreamCenter.h:
2339         (WebCore):
2340         (MediaStreamCenter):
2341         * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2342         (WebCore):
2343         (WebCore::SessionDescriptionDescriptor::create):
2344         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
2345         (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
2346         (WebCore::SessionDescriptionDescriptor::addCandidate):
2347         (WebCore::SessionDescriptionDescriptor::toSdp):
2348         (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
2349         (WebCore::SessionDescriptionDescriptor::candidate):
2350         (WebCore::SessionDescriptionDescriptor::initialSdp):
2351         * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
2352         (WebCore):
2353         (SessionDescriptionDescriptor):
2354
2355 2012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2356
2357         Unreviewed, rolling out r110929.
2358         http://trac.webkit.org/changeset/110929
2359         https://bugs.webkit.org/show_bug.cgi?id=81306
2360
2361         breaking webkit_unit_tests (Requested by morrita on #webkit).
2362
2363         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2364         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2365         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2366         (Canvas2DLayerChromium):
2367         * platform/graphics/chromium/ContentLayerChromium.cpp:
2368         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2369         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2370         * platform/graphics/chromium/ContentLayerChromium.h:
2371         (WebCore):
2372         (ContentLayerChromium):
2373         * platform/graphics/chromium/ImageLayerChromium.cpp:
2374         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2375         * platform/graphics/chromium/ImageLayerChromium.h:
2376         (WebCore):
2377         (ImageLayerChromium):
2378         * platform/graphics/chromium/LayerChromium.h:
2379         (WebCore::LayerChromium::paintContentsIfDirty):
2380         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2381         * platform/graphics/chromium/TiledLayerChromium.cpp:
2382         (WebCore):
2383         (WebCore::contentToLayerTransform):
2384         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2385         (WebCore::TiledLayerChromium::prepareToUpdate):
2386         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2387         * platform/graphics/chromium/TiledLayerChromium.h:
2388         (WebCore):
2389         (TiledLayerChromium):
2390         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2391         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2392         * platform/graphics/chromium/WebGLLayerChromium.h:
2393         (WebGLLayerChromium):
2394         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2395         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2396         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2397         (WebCore::CCLayerTreeHost::paintLayerContents):
2398         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2399
2400 2012-03-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2401
2402         REGRESSION(r106232): The resize handler is always called after loading.
2403         https://bugs.webkit.org/show_bug.cgi?id=80242
2404
2405         Reviewed by Kenneth Rohde Christiansen.
2406
2407         Ensure resize-events are not emitted when layout-size changes due to added
2408         scrollbars. For fixed layout, scrollbars are never subtracted or added, so
2409         we can compare fixedLayoutSize directly. For normal layout, use the full
2410         visible rect size which is the same as layout size plus scrollbars.
2411
2412         Test: fast/events/resize-events.html
2413
2414         * page/FrameView.cpp:
2415         (WebCore::FrameView::reset):
2416         (WebCore::FrameView::layout):
2417         (WebCore::FrameView::performPostLayoutTasks):
2418         * page/FrameView.h:
2419         (FrameView):
2420
2421 2012-03-15  Tommy Widenflycht  <tommyw@google.com>
2422
2423         MediaStream API (JSEP): Introducing MediaHints and IceOptions
2424         https://bugs.webkit.org/show_bug.cgi?id=81207
2425
2426         Reviewed by Adam Barth.
2427
2428         Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
2429         see bug 80589 for more information.
2430         Introducing the platform MediaHints and IceOptions helper classes.
2431
2432         Not possible to test until the entire JSEP feature is commited.
2433
2434         * GNUmakefile.list.am:
2435         * WebCore.gypi:
2436         * platform/mediastream/IceOptions.cpp: Added.
2437         (WebCore):
2438         (WebCore::IceOptions::create):
2439         * platform/mediastream/IceOptions.h: Added.
2440         (WebCore):
2441         (IceOptions):
2442         (WebCore::IceOptions::~IceOptions):
2443         (WebCore::IceOptions::useCandidates):
2444         (WebCore::IceOptions::IceOptions):
2445         * platform/mediastream/MediaHints.cpp: Added.
2446         (WebCore):
2447         (WebCore::MediaHints::create):
2448         (WebCore::MediaHints::audio):
2449         (WebCore::MediaHints::video):
2450         * platform/mediastream/MediaHints.h: Added.
2451         (WebCore):
2452         (MediaHints):
2453         (WebCore::MediaHints::~MediaHints):
2454         (WebCore::MediaHints::MediaHints):
2455
2456 2012-03-15  Shinya Kawanaka  <shinyak@chromium.org>
2457
2458         [Crash] Adding <content> into a ShadowRoot causes crash.
2459         https://bugs.webkit.org/show_bug.cgi?id=80020
2460
2461         Reviewed by Hajime Morita.
2462
2463         The problem is <content> tries to select host children though it is not prepared.
2464         Since populating host children for insertion points is performed just before
2465         attaching a shadow tree, we should recalculate whole shadow tree if <content> is
2466         appended as a child.
2467
2468         However, element->appendChild() does not know the element is in a shadow tree or not.
2469         We have to ensure reattaching whole shadow tree here.
2470
2471         So this patch adds some phases to HTMLContentSelector so that we can check node
2472         distribution algorihm is begin processed or not. If not we cannot select anything,
2473         but we have to enable a flag to reattach whole shadow tree.
2474
2475         Tests: fast/dom/shadow/shadow-content-crash-expected.html
2476                fast/dom/shadow/shadow-content-crash.html
2477
2478         * dom/ShadowTree.cpp:
2479         (WebCore::ShadowTree::attach):
2480         (WebCore::ShadowTree::insertionPointFor):
2481         * dom/ShadowTree.h:
2482         (WebCore):
2483         (ShadowTree):
2484         (WebCore::ShadowTree::selector):
2485         * html/shadow/HTMLContentSelector.cpp:
2486         (WebCore::HTMLContentSelector::HTMLContentSelector):
2487         (WebCore::HTMLContentSelector::select):
2488         (WebCore::HTMLContentSelector::willSelect):
2489         (WebCore):
2490         (WebCore::HTMLContentSelector::didSelect):
2491         (WebCore::HTMLContentSelector::populateIfNecessary):
2492         * html/shadow/HTMLContentSelector.h:
2493         (HTMLContentSelector):
2494         (WebCore::HTMLContentSelector::isSelecting):
2495         (WebCore):
2496         (WebCore::HTMLContentSelector::hasPopulated):
2497         * html/shadow/InsertionPoint.cpp:
2498         (WebCore::InsertionPoint::distributeHostChildren):
2499         (WebCore::InsertionPoint::clearDistribution):
2500
2501 2012-03-15  Mike Lawther  <mikelawther@chromium.org>
2502
2503         CSS3 calc: mixed percent/absolute expressions for gradients
2504         https://bugs.webkit.org/show_bug.cgi?id=81182
2505
2506         Reviewed by Ojan Vafai.
2507
2508         * css/CSSGradientValue.cpp:
2509         (WebCore::CSSGradientValue::addStops):
2510         (WebCore::positionFromValue):
2511
2512 2012-03-15  Leo Yang  <leo.yang@torchmobile.com.cn>
2513
2514         [BlackBerry] Sync up MIMETypeRegistry.cpp
2515         https://bugs.webkit.org/show_bug.cgi?id=81191
2516
2517         Reviewed by Rob Buis.
2518
2519         Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
2520
2521         * platform/MIMETypeRegistry.cpp:
2522         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2523
2524 2012-03-15  Dana Jansens  <danakj@chromium.org>
2525
2526         [chromium] Decide occlusion in paint culling with CCOcclusionTracker
2527         https://bugs.webkit.org/show_bug.cgi?id=81181
2528
2529         Reviewed by Adrienne Walker.
2530
2531         Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
2532         can make a more informed decision if a tile is occluded or not during
2533         paint.
2534
2535         Covered by existing tests.
2536
2537         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2538         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2539         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2540         (Canvas2DLayerChromium):
2541         * platform/graphics/chromium/ContentLayerChromium.cpp:
2542         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2543         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
2544         * platform/graphics/chromium/ContentLayerChromium.h:
2545         (WebCore):
2546         (ContentLayerChromium):
2547         * platform/graphics/chromium/ImageLayerChromium.cpp:
2548         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2549         * platform/graphics/chromium/ImageLayerChromium.h:
2550         (WebCore):
2551         (ImageLayerChromium):
2552         * platform/graphics/chromium/LayerChromium.h:
2553         (WebCore::LayerChromium::paintContentsIfDirty):
2554         (WebCore::LayerChromium::idlePaintContentsIfDirty):
2555         * platform/graphics/chromium/TiledLayerChromium.cpp:
2556         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2557         (WebCore::TiledLayerChromium::prepareToUpdate):
2558         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
2559         * platform/graphics/chromium/TiledLayerChromium.h:
2560         (TiledLayerChromium):
2561         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2562         (WebCore::WebGLLayerChromium::paintContentsIfDirty):
2563         * platform/graphics/chromium/WebGLLayerChromium.h:
2564         (WebGLLayerChromium):
2565         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2566         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2567         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2568         (WebCore::CCLayerTreeHost::paintLayerContents):
2569         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2570
2571 2012-03-15  Yoshifumi Inoue  <yosin@chromium.org>
2572
2573         [Forms] The "meter" element should not be a form-associated element.
2574         https://bugs.webkit.org/show_bug.cgi?id=80380
2575
2576         Reviewed by Kent Tamura.
2577
2578         This patch changes base class of HTMLMeterElement to LabelableElement from
2579         HTMLFormControlElement for saving memory space and iteration time of
2580         extra "meter" elements in HTMLFormElement::m_formAssociatedElements
2581         and matching the HTML5 specification for ease of maintenance.
2582
2583         This patch renames isLabelable method to supportLabels and makes isLabelable
2584         as predicate of an instance of LabelableElement or not.
2585
2586         Changes of TextIterator is lead by usage of isFormControlElement. This
2587         changes will be replaced with more meaningful predicate as part of
2588         https://bugs.webkit.org/show_bug.cgi?id=80381
2589
2590         No new tests. Update existing tests to cover this change.
2591
2592         * editing/TextIterator.cpp:
2593         (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
2594         * html/HTMLButton.h:
2595         (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
2596         * html/HTMLElement.h:
2597         (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
2598         * html/HTMLInputElement.h:
2599         (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
2600         * html/HTMLKeygenElement.h:
2601         (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
2602          * html/HTMLLabelElement.cpp:
2603         (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
2604         (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
2605         * html/HTMLLabelElement.h:
2606         (HTMLLabelElement):
2607         * html/HTMLMeterElement.cpp:
2608         (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
2609         (WebCore::HTMLMeterElement::create): Remove form parameter.
2610         (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
2611         (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
2612         (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
2613         * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
2614         * html/HTMLMeterElement.h:
2615         (HTMLMeterElement):
2616         (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
2617         * html/HTMLOutputElement.h:
2618         (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
2619         * html/HTMLProgressElement.h:
2620         (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
2621          * html/HTMLSelectElement.h:
2622         (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
2623         * html/HTMLTextAreaElement.h:
2624         (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
2625         * html/HiddenInputType.h:
2626         (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
2627         * html/InputType.h:
2628         (WebCore::InputType::supportLabels): Renamed from isLabelable
2629         * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
2630         * html/LabelableElement.cpp:
2631         (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
2632         * html/LabelableElement.h:
2633         (LabelableElement):
2634
2635 2012-03-15  Adam Klein  <adamk@chromium.org>
2636
2637         REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
2638         https://bugs.webkit.org/show_bug.cgi?id=81141
2639
2640         Reviewed by Ojan Vafai.
2641
2642         Revert the behavior change from r103452: don't fire DOMSubtreeModified
2643         events when an attribute value merely changes. Still fire that event
2644         when an attribute is added or removed from an element.
2645
2646         Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
2647         and given that Mutation Events are deprecated, it seems unwise to make
2648         any additions to WebKit's implementation of them.
2649
2650         Test: fast/dom/subtree-modified-attributes.html
2651
2652         * dom/Element.cpp:
2653         (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
2654         (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
2655         (WebCore):
2656         * dom/Element.h:
2657         (Element):
2658         * dom/ElementAttributeData.cpp:
2659         (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
2660
2661 2012-03-15  Dana Jansens  <danakj@chromium.org>
2662
2663         [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
2664         https://bugs.webkit.org/show_bug.cgi?id=81156
2665
2666         Reviewed by Adrienne Walker.
2667
2668         Creates CCOverdrawMetrics which can be called to inform it about
2669         draws/paints. At the end of the frame, the CCOverdrawMetrics
2670         recordMetrics() method will put its data into histograms, a
2671         TRACE_COUNTER for culling information, and a TRACE_EVENT for details
2672         about the number of opaque/translucent pixels.
2673
2674         Covered by existing tests.
2675
2676         * WebCore.gypi:
2677         * platform/chromium/TraceEvent.h:
2678         (TraceEvent):
2679         (WebCore::TraceEvent::addTraceEvent):
2680         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2681         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2682         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
2683         (WebCore):
2684         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
2685         (WebCore::wedgeProduct):
2686         (WebCore::quadArea):
2687         (WebCore::CCOverdrawMetrics::didDraw):
2688         (WebCore::CCOverdrawMetrics::recordMetrics):
2689         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
2690         * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
2691         (WebCore):
2692         (CCOverdrawMetrics):
2693         (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
2694         (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
2695         (WebCore::CCOverdrawMetrics::pixelsCulled):
2696         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2697         (WebCore::CCQuadCuller::CCQuadCuller):
2698         (WebCore::CCQuadCuller::append):
2699         * platform/graphics/chromium/cc/CCQuadCuller.h:
2700         (WebCore):
2701         (CCQuadCuller):
2702         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2703         (WebCore::CCRenderPass::appendQuadsForLayer):
2704         * platform/graphics/chromium/cc/CCRenderPass.h:
2705         (WebCore):
2706         (CCRenderPass):
2707
2708 2012-03-15  James Robinson  <jamesr@chromium.org>
2709
2710         [chromium] RateLimiter should hold a reference to its context
2711         https://bugs.webkit.org/show_bug.cgi?id=80761
2712
2713         Reviewed by Stephen White.
2714
2715         * platform/graphics/chromium/RateLimiter.h:
2716         (RateLimiter):
2717
2718 2012-03-15  Adam Klein  <adamk@chromium.org>
2719
2720         Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
2721         https://bugs.webkit.org/show_bug.cgi?id=81160
2722
2723         Reviewed by Kent Tamura.
2724
2725         The only difference between the previous insertedIntoTree method and
2726         resetFormOwner was a missing element->inDocument() check in the
2727         former. But that check is actually important, as seen by the included test case.
2728
2729         Test: fast/forms/form-attribute-not-in-document.html
2730
2731         * html/FormAssociatedElement.cpp:
2732         (WebCore::FormAssociatedElement::insertedIntoTree):
2733
2734 2012-03-15  Kentaro Hara  <haraken@chromium.org>
2735
2736         [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
2737         https://bugs.webkit.org/show_bug.cgi?id=81288
2738
2739         Reviewed by Adam Barth.
2740
2741         This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
2742         'out' and 'result' for variable names of StringBuilder. This patch unifies them
2743         to 'result'.
2744
2745         No tests. No change in behavior.
2746
2747         * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
2748         (WebCore::appendCharactersReplacingEntities):
2749         (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
2750         (and for avoiding style check error in MarkupAccumulator.h).
2751         (WebCore::MarkupAccumulator::concatenateMarkup):
2752         (WebCore::MarkupAccumulator::appendNodeValue):
2753         (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
2754         (WebCore::MarkupAccumulator::appendNamespace):
2755         (WebCore::MarkupAccumulator::entityMaskForText):
2756         (WebCore::MarkupAccumulator::appendText):
2757         (WebCore::MarkupAccumulator::appendComment):
2758         (WebCore::MarkupAccumulator::appendProcessingInstruction):
2759         (WebCore::MarkupAccumulator::appendElement):
2760         (WebCore::MarkupAccumulator::appendOpenTag):
2761         (WebCore::MarkupAccumulator::appendCloseTag):
2762         (WebCore::MarkupAccumulator::appendAttribute):
2763         (WebCore::MarkupAccumulator::appendCDATASection):
2764         (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
2765         * editing/MarkupAccumulator.h: Removed redundant variable names.
2766         (MarkupAccumulator):
2767         (WebCore):
2768
2769 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
2770
2771         [WinCairo] Correct <wtf/*.h> include paths.
2772         https://bugs.webkit.org/show_bug.cgi?id=81278
2773
2774         Reviewed by Eric Seidel.
2775
2776         Modify the #include declarations for several Cairo-related files
2777         so that the wtf types are included using the full path.
2778
2779         * platform/graphics/FontPlatformData.h:
2780         * platform/graphics/cairo/OwnPtrCairo.h:
2781         * platform/graphics/cairo/RefPtrCairo.h:
2782
2783 2012-03-15  Anders Carlsson  <andersca@apple.com>
2784
2785         only some tiles rendered when zoomed in
2786         https://bugs.webkit.org/show_bug.cgi?id=81282
2787         <rdar://problem/11058898>
2788
2789         Reviewed by Andreas Kling.
2790
2791         * platform/graphics/ca/mac/TileCache.mm:
2792         (WebCore::TileCache::rectForTileIndex):
2793         Make sure that the tile cache bounds are scaled accordingly.
2794
2795 2012-03-15  Zeno Albisser  <zeno@webkit.org>
2796
2797         [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
2798         https://bugs.webkit.org/show_bug.cgi?id=81107
2799
2800         Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
2801         This way the base class function is properly overridden.
2802         The need for this change became obvious after r110560 where the OVERRIDE keyword had been
2803         added to the function signature.
2804
2805         Reviewed by Simon Hausmann.
2806
2807         * platform/qt/RenderThemeQt.cpp:
2808         (WebCore::RenderThemeQt::fileListNameForWidth):
2809         * platform/qt/RenderThemeQt.h:
2810         (RenderThemeQt):
2811
2812 2012-03-07  Jon Lee  <jonlee@apple.com>
2813
2814         Move NotificationContents into Notification
2815         https://bugs.webkit.org/show_bug.cgi?id=80487
2816         <rdar://problem/10965519>
2817
2818         Reviewed by Jian Li.
2819
2820         * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
2821         a NotificationContents instance.
2822         (WebCore::Notification::Notification): Derive KURL from string representation of icon.
2823         (WebCore::Notification::create):
2824         * notifications/Notification.h:
2825         (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
2826         already existed, but use local variable instead of going through NotificationContents.
2827         (WebCore::Notification::iconURL):
2828         (WebCore::Notification::title):
2829         (WebCore::Notification::body):
2830         * notifications/NotificationCenter.h:
2831         (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
2832         * notifications/NotificationContents.h: Removed.
2833
2834         Remove NotificationContents.h from project files
2835         * GNUmakefile.list.am:
2836         * Target.pri:
2837         * WebCore.gypi:
2838         * WebCore.vcproj/WebCore.vcproj:
2839         * WebCore.xcodeproj/project.pbxproj:
2840
2841 2012-03-13  Jon Lee  <jonlee@apple.com>
2842
2843         Deprecate ondisplay()
2844         https://bugs.webkit.org/show_bug.cgi?id=80483
2845         <rdar://problem/10912432>
2846
2847         Reviewed by Jian Li.
2848
2849         The appropriate event listener for notifications is onshow().
2850
2851         * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
2852         * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
2853
2854 2012-03-14  W. James MacLean  <wjmaclean@chromium.org>
2855
2856         [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
2857         https://bugs.webkit.org/show_bug.cgi?id=80607
2858
2859         Reviewed by James Robinson.
2860
2861         Unit tests added. Layout tests to follow.
2862
2863         Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
2864         support in ScrollAnimatorNone, for fling gestures.
2865
2866         * GNUmakefile.list.am:
2867         * platform/ActivePlatformGestureAnimation.cpp:
2868         (WebCore::ActivePlatformGestureAnimation::create):
2869         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
2870         (WebCore::ActivePlatformGestureAnimation::animate):
2871         * platform/ActivePlatformGestureAnimation.h:
2872         (ActivePlatformGestureAnimation):
2873         * platform/PlatformGestureCurveTarget.h:
2874         (PlatformGestureCurveTarget):
2875         * platform/ScrollAnimatorNone.cpp:
2876         (WebCore::ScrollAnimatorNone::cancelAnimations):
2877         (WebCore::ScrollAnimatorNone::animationTimerFired):
2878         (WebCore::ScrollAnimatorNone::scrollBy):
2879         (WebCore):
2880         * platform/ScrollAnimatorNone.h:
2881         (WebCore):
2882         (ScrollAnimatorNone):
2883         * platform/TouchFlingPlatformGestureCurve.cpp:
2884         (WebCore::TouchFlingPlatformGestureCurve::apply):
2885         * platform/WheelFlingPlatformGestureCurve.cpp:
2886         (WebCore::WheelFlingPlatformGestureCurve::apply):
2887         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
2888         (WebCore::CCActiveGestureAnimation::create):
2889         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
2890         (WebCore::CCActiveGestureAnimation::animate):
2891         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
2892         (CCActiveGestureAnimation):
2893         * platform/graphics/chromium/cc/CCGestureCurve.h:
2894         (CCGestureCurveTarget):
2895         * platform/graphics/chromium/cc/CCInputHandler.h:
2896         (WebCore):
2897         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2898         (WebCore::CCLayerTreeHostImpl::animate):
2899         (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
2900         (WebCore):
2901         (WebCore::CCLayerTreeHostImpl::animateGestures):
2902         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2903         (WebCore):
2904         (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
2905         (CCLayerTreeHostImpl):
2906
2907 2012-03-15  Patrick Gansterer  <paroga@webkit.org>
2908
2909         [EFL] Make zlib a general build requirement
2910         https://bugs.webkit.org/show_bug.cgi?id=80153
2911
2912         Reviewed by Hajime Morita.
2913
2914         After r109538 WebSocket module needs zlib to support deflate-frame extension.
2915
2916         * PlatformEfl.cmake:
2917
2918 2012-03-15  Robert Kroeger  <rjkroege@chromium.org>
2919
2920         REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
2921         https://bugs.webkit.org/show_bug.cgi?id=80825
2922
2923         Reviewed by James Robinson.
2924
2925         * page/EventHandler.cpp:
2926         (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
2927
2928 2012-03-15  Scott Byer  <scottbyer@chromium.org>
2929
2930         Fix crbug 117957 - get settings scrolling with the wheel again.
2931         https://bugs.webkit.org/show_bug.cgi?id=81247
2932
2933         Reviewed by James Robinson.
2934
2935         Tests to follow.
2936
2937         * page/FrameView.cpp:
2938         (WebCore::FrameView::serviceScriptedAnimations):
2939
2940 2012-03-15  David Hyatt  <hyatt@apple.com>
2941
2942         https://bugs.webkit.org/show_bug.cgi?id=81258
2943
2944         Add a preference for enabling the new multi-column layout code that will be based on regions.
2945
2946         Reviewed by Beth Dakin.
2947
2948         * page/Settings.cpp:
2949         (WebCore::Settings::Settings):
2950         * page/Settings.h:
2951         (WebCore::Settings::setRegionBasedColumnsEnabled):
2952         (WebCore::Settings::regionBasedColumnsEnabled):
2953         (Settings):
2954
2955 2012-03-15  Andreas Kling  <kling@webkit.org>
2956
2957         RenderStyle: Return Color objects by value instead of as const references.
2958         <http://webkit.org/b/81180>
2959
2960         Reviewed by Antti Koivisto.
2961
2962         Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
2963         for storing some color values in a more space-efficient fashion.
2964
2965         * css/CSSStyleApplyProperty.cpp:
2966         (WebCore::ApplyPropertyColor::applyInheritValue):
2967         * page/animation/AnimationBase.cpp:
2968         (PropertyWrapperColor):
2969         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
2970         (WebCore::PropertyWrapperColor::blend):
2971         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
2972         (PropertyWrapperMaybeInvalidColor):
2973         (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
2974         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
2975         (PropertyWrapperSVGPaint):
2976         * platform/graphics/Color.h:
2977         (WebCore::Color::Color):
2978         * rendering/style/RenderStyle.h:
2979
2980 2012-03-15  Jessie Berlin  <jberlin@apple.com>
2981
2982         Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
2983         Debug WebKit2 testers
2984         https://bugs.webkit.org/show_bug.cgi?id=81159
2985
2986         Rubber-stamped by Brady Eidson.
2987
2988         It is plausible that history could change in between the time a navigation request is
2989         scheduled and the timer is fired, so the request index could be out of the b/f list range.
2990         Hence, the assertion is invalid and should be removed.
2991
2992         * page/Page.cpp:
2993         (WebCore::Page::goBackOrForward):
2994
2995 2012-03-15  Alexey Proskuryakov  <ap@apple.com>
2996
2997         Assertion failures in checkEncodedString when running WebKit2 tests
2998         https://bugs.webkit.org/show_bug.cgi?id=67425
2999         <rdar://problem/11043492>
3000
3001         Reviewed by Anders Carlsson.
3002
3003         * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
3004         * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
3005         The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
3006         into a URL as if it's been normalized by KURL.
3007
3008 2012-03-15  Brady Eidson  <beidson@apple.com>
3009
3010         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
3011         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
3012
3013         Reviewed by Sam Weinig.
3014
3015         Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
3016
3017         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
3018         * platform/PasteboardStrategy.h:
3019         (PasteboardStrategy):
3020         * platform/PlatformPasteboard.h:
3021         (PlatformPasteboard):
3022         * platform/mac/PlatformPasteboardMac.mm:
3023         (WebCore::PlatformPasteboard::addTypes):
3024         * WebCore.exp.in:
3025
3026         * platform/mac/ClipboardMac.mm:
3027         (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
3028           the destructive "setTypes"
3029
3030 2012-03-15  Dana Jansens  <danakj@chromium.org>
3031
3032         [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
3033         https://bugs.webkit.org/show_bug.cgi?id=81083
3034
3035         Reviewed by Adrienne Walker.
3036
3037         The surface pointer on the occlusion tracker stack is uninitialized, and
3038         can be non-null, but the layer's target surface is null, causing asserts
3039         to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
3040         surface to be null.
3041
3042         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3043         (WebCore::::enterTargetRenderSurface):
3044         (WebCore::::unoccludedContentRect):
3045         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
3046         (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
3047
3048 2012-03-15  David Levin  <levin@chromium.org>
3049
3050         Various autoresize fixes.
3051         https://bugs.webkit.org/show_bug.cgi?id=81199
3052
3053         Reviewed by Darin Fisher.
3054
3055         Tested by WebViewTest additions.
3056
3057         * page/FrameView.cpp:
3058         (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
3059         scrollbar to appear when the size was width was fixed and height overflowed which
3060         is one of the tests that was added.
3061
3062 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
3063
3064         Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
3065         https://bugs.webkit.org/show_bug.cgi?id=81231
3066
3067         Reviewed by Vsevolod Vlasov.
3068
3069         * inspector/front-end/TimelineOverviewPane.js:
3070         (WebInspector.TimelineOverviewPane):
3071         (WebInspector.TimelineOverviewPane.prototype.reset):
3072         (WebInspector.TimelineOverviewPane.prototype.accept):
3073         (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
3074         (WebInspector.TimelineVerticalOverview.prototype.reset):
3075         (WebInspector.TimelineVerticalOverview.prototype.update):
3076         (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
3077         (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
3078         (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
3079
3080 2012-03-15  Andrey Kosyakov  <caseq@chromium.org>
3081
3082         Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
3083         https://bugs.webkit.org/show_bug.cgi?id=81245
3084
3085         Reviewed by Vsevolod Vlasov.
3086
3087         * inspector/InspectorTimelineAgent.cpp:
3088         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
3089         (WebCore):
3090         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
3091         (WebCore::InspectorTimelineAgent::appendRecord):
3092         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
3093         * inspector/InspectorTimelineAgent.h:
3094         (InspectorTimelineAgent):
3095
3096 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
3097
3098         Web Inspector: live locations could be disposed twice.
3099         https://bugs.webkit.org/show_bug.cgi?id=81249
3100
3101         Reviewed by Vsevolod Vlasov.
3102
3103         * inspector/front-end/ScriptMapping.js:
3104         (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
3105
3106 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3107
3108         [GTK] Implement unicode submenu items
3109         https://bugs.webkit.org/show_bug.cgi?id=81117
3110
3111         Reviewed by Martin Robinson.
3112
3113         * loader/EmptyClients.h:
3114         (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
3115         false.
3116         * page/ContextMenuController.cpp:
3117         (WebCore::insertUnicodeCharacter): Helper function to insert a
3118         unicode character.
3119         (WebCore::ContextMenuController::contextMenuItemSelected):
3120         Implement unicode menu items using insertUnicodeCharacter() to
3121         insert the apropriate unicode character.
3122         (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
3123         Create the unicode submenu.
3124         (WebCore::ContextMenuController::populate): Add unicode submenu
3125         item for editable content.
3126         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
3127         unicode submenu items to the switch.
3128         * page/ContextMenuController.h:
3129         * page/EditorClient.h:
3130         (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
3131         * platform/ContextMenuItem.h:
3132         * platform/LocalizedStrings.h:
3133         * platform/gtk/LocalizedStringsGtk.cpp:
3134         (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
3135         string for the unicode menu item.
3136         (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
3137         (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
3138         (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
3139         (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
3140         (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
3141         (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
3142         (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
3143         (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
3144         (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
3145
3146 2012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>
3147
3148         Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
3149         https://bugs.webkit.org/show_bug.cgi?id=81031
3150
3151         Reviewed by Pavel Feldman.
3152
3153         * inspector/front-end/SnippetsModel.js:
3154         (WebInspector.SnippetsModel):
3155         (WebInspector.SnippetsModel.prototype._saveSettings):
3156         (WebInspector.SnippetsModel.prototype.deleteSnippet):
3157         (WebInspector.SnippetsModel.prototype._snippetAdded):
3158         (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
3159         (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
3160         (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
3161         (WebInspector.Snippet.prototype.evaluate):
3162         (WebInspector.SnippetsScriptMapping):
3163         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
3164         (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
3165         (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
3166         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
3167         (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
3168         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
3169         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
3170
3171 2012-03-15  Kevin Ollivier  <kevino@theolliviers.com>
3172
3173         [wx] Unreviewed. Build fixes for Mac and DOM bindings.
3174
3175         * bindings/cpp/WebDOMEventTarget.cpp:
3176         (toWebKit):
3177         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3178         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
3179
3180 2012-03-14  Pavel Podivilov  <podivilov@chromium.org>
3181
3182         Web Inspector: extract CompilerScriptMapping from RawSourceCode.
3183         https://bugs.webkit.org/show_bug.cgi?id=81088
3184
3185         Reviewed by Vsevolod Vlasov.
3186
3187         * WebCore.gypi:
3188         * WebCore.vcproj/WebCore.vcproj:
3189         * inspector/compile-front-end.py:
3190         * inspector/front-end/CompilerScriptMapping.js: Added.
3191         (WebInspector.CompilerScriptMapping):
3192         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
3193         (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
3194         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
3195         (WebInspector.CompilerScriptMapping.prototype.addScript):
3196         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
3197         (WebInspector.CompilerScriptMapping.prototype.reset):
3198         * inspector/front-end/RawSourceCode.js:
3199         (WebInspector.RawSourceCode):
3200         (WebInspector.RawSourceCode.prototype.setFormatted):
3201         (WebInspector.RawSourceCode.prototype._resourceFinished):
3202         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3203         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
3204         * inspector/front-end/ResourceScriptMapping.js:
3205         (WebInspector.ResourceScriptMapping.prototype.addScript):
3206         * inspector/front-end/ScriptMapping.js:
3207         (WebInspector.MainScriptMapping):
3208         * inspector/front-end/WebKit.qrc:
3209         * inspector/front-end/inspector.html:
3210
3211 2012-03-15  Peter Rybin  <peter.rybin@gmail.com>
3212
3213         Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
3214         https://bugs.webkit.org/show_bug.cgi?id=81132
3215
3216         Reviewed by Yury Semikhatsky.
3217
3218         Include directives are moved several lines down in .cpp files and in
3219         generator templates.
3220
3221         * inspector/CodeGeneratorInspector.py:
3222         * inspector/ContentSearchUtils.cpp:
3223         * inspector/DOMEditor.cpp:
3224         * inspector/DOMNodeHighlighter.cpp:
3225         * inspector/DOMPatchSupport.cpp:
3226         * inspector/IdentifiersFactory.cpp:
3227         * inspector/InjectedScript.cpp:
3228         * inspector/InjectedScriptHost.cpp:
3229         * inspector/InjectedScriptManager.cpp:
3230         * inspector/InspectorAgent.cpp:
3231         * inspector/InspectorApplicationCacheAgent.cpp:
3232         * inspector/InspectorBaseAgent.cpp:
3233         * inspector/InspectorCSSAgent.cpp:
3234         * inspector/InspectorClient.cpp:
3235         * inspector/InspectorConsoleAgent.cpp:
3236         * inspector/InspectorController.cpp:
3237         * inspector/InspectorCounters.cpp:
3238         * inspector/InspectorDOMAgent.cpp:
3239         * inspector/InspectorDOMDebuggerAgent.cpp:
3240         * inspector/InspectorDOMStorageAgent.cpp:
3241         * inspector/InspectorDatabaseAgent.cpp:
3242         * inspector/InspectorDatabaseResource.cpp:
3243         * inspector/InspectorDebuggerAgent.cpp:
3244         * inspector/InspectorFileSystemAgent.cpp:
3245         * inspector/InspectorFrontendClientLocal.cpp:
3246         * inspector/InspectorFrontendHost.cpp:
3247         * inspector/InspectorHistory.cpp:
3248         * inspector/InspectorIndexedDBAgent.cpp:
3249         * inspector/InspectorInstrumentation.cpp:
3250         * inspector/InspectorMemoryAgent.cpp:
3251         * inspector/InspectorPageAgent.cpp:
3252         * inspector/InspectorProfilerAgent.cpp:
3253         * inspector/InspectorResourceAgent.cpp:
3254         * inspector/InspectorRuntimeAgent.cpp:
3255         * inspector/InspectorState.cpp:
3256         * inspector/InspectorStyleSheet.cpp:
3257         * inspector/InspectorStyleTextEditor.cpp:
3258         * inspector/InspectorTimelineAgent.cpp:
3259         * inspector/InspectorValues.cpp:
3260         * inspector/InstrumentingAgents.cpp:
3261         * inspector/NetworkResourcesData.cpp:
3262         * inspector/PageConsoleAgent.cpp:
3263         * inspector/PageDebuggerAgent.cpp:
3264         * inspector/PageRuntimeAgent.cpp:
3265         * inspector/TimelineRecordFactory.cpp:
3266         * inspector/WorkerConsoleAgent.cpp:
3267         * inspector/WorkerDebuggerAgent.cpp:
3268         * inspector/WorkerRuntimeAgent.cpp:
3269
3270 2012-03-15  Yury Semikhatsky  <yurys@chromium.org>
3271
3272         Web Inspector: improve HeapSnapshot._buildReversIndex performance
3273         https://bugs.webkit.org/show_bug.cgi?id=81224
3274
3275         Caching node indexes and node count in local variables instead of
3276         calling getters each time reduces the method run time by
3277         factor of 1.5
3278
3279         Reviewed by Pavel Feldman.
3280
3281         * inspector/front-end/HeapSnapshot.js:
3282         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
3283
3284 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3285
3286         SVG Animations update baseVal instead of animVal
3287         https://bugs.webkit.org/show_bug.cgi?id=12437
3288
3289         Rubber-stamped by Rob Buis.
3290
3291         Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
3292
3293         * svg/SVGAnimateElement.cpp:
3294         (WebCore::SVGAnimateElement::resetToBaseValue):
3295         * svg/SVGAnimatedLength.cpp:
3296         (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
3297         * svg/SVGAnimatedLength.h:
3298         (SVGAnimatedLengthAnimator):
3299         * svg/SVGAnimatedLengthList.cpp:
3300         (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
3301         * svg/SVGAnimatedLengthList.h:
3302         (SVGAnimatedLengthListAnimator):
3303         * svg/SVGAnimatedNumber.cpp:
3304         (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
3305         * svg/SVGAnimatedNumber.h:
3306         (SVGAnimatedNumberAnimator):
3307         * svg/SVGAnimatedNumberList.cpp:
3308         (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
3309         * svg/SVGAnimatedNumberList.h:
3310         (SVGAnimatedNumberListAnimator):
3311         * svg/SVGAnimatedTransformList.cpp:
3312         (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
3313         * svg/SVGAnimatedTransformList.h:
3314         (SVGAnimatedTransformListAnimator):
3315         * svg/SVGAnimatedTypeAnimator.h:
3316         (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
3317         * svg/properties/SVGAnimatedListPropertyTearOff.h:
3318         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
3319         * svg/properties/SVGAnimatedProperty.h:
3320         (SVGAnimatedProperty):
3321         * svg/properties/SVGAnimatedPropertyTearOff.h:
3322         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
3323         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3324         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
3325
3326 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3327
3328         Enable animVal support for SVGNumberList
3329         https://bugs.webkit.org/show_bug.cgi?id=81219
3330
3331         Reviewed by Rob Buis.
3332
3333         Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
3334         constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
3335         as supporting animVal.
3336
3337         Covered by existing tests.
3338
3339         * svg/SVGAnimatedNumberList.cpp:
3340         (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
3341         (WebCore):
3342         * svg/SVGAnimatedNumberList.h:
3343         (WebCore):
3344         (SVGAnimatedNumberListAnimator):
3345         * svg/SVGAnimatedType.cpp:
3346         (WebCore::SVGAnimatedType::supportsAnimVal):
3347         (WebCore::SVGAnimatedType::setVariantValue):
3348
3349 2012-03-15  Rob Buis  <rbuis@rim.com>
3350
3351         Fix cast-align GCC warnings
3352         https://bugs.webkit.org/show_bug.cgi?id=80790
3353
3354         Reviewed by Nikolas Zimmermann.
3355
3356         * platform/graphics/WOFFFileFormat.cpp:
3357         (WebCore::writeUInt32):
3358         (WebCore::writeUInt16):
3359         (WebCore::convertWOFFToSfnt):
3360
3361 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3362
3363         Not reviewed. Forgot to preserve copyrights, per reviewer comment.
3364
3365         * svg/SVGAnimatedTransformList.cpp:
3366
3367 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3368
3369         Enable animVal support for SVGNumber
3370         https://bugs.webkit.org/show_bug.cgi?id=81212
3371
3372         Reviewed by Rob Buis.
3373
3374         Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
3375         with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
3376         Converting the rest of the types can be done in small patches now.
3377
3378         Test: svg/animations/svgnumber-animation-4.html
3379
3380         * svg/SVGAnimatedNumber.cpp:
3381         (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
3382         (WebCore):
3383         * svg/SVGAnimatedNumber.h:
3384         (WebCore):
3385         (SVGAnimatedNumberAnimator):
3386         * svg/SVGAnimatedType.cpp:
3387         (WebCore::SVGAnimatedType::supportsAnimVal):
3388         (WebCore::SVGAnimatedType::setVariantValue):
3389         * svg/properties/SVGAnimatedProperty.h:
3390         (SVGAnimatedProperty):
3391         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3392         (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
3393         (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
3394         (SVGAnimatedStaticPropertyTearOff):
3395         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
3396         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
3397         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
3398         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
3399         (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
3400         (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
3401
3402 2012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3403
3404         Enable animVal support for SVGTransformList
3405         https://bugs.webkit.org/show_bug.cgi?id=80758
3406
3407         Reviewed by Antti Koivisto.
3408
3409         Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
3410         via <animateTransform>, not via <animate> directly. Still we can handle it in the
3411         same framework as all other types used for <animate>, as we also need proper animVal
3412         support for <animateTransform>.
3413
3414         This patch removes the special <animateTransform> implementation, and lets
3415         SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
3416         for SVGAnimateColorElement & SVGSetElement.
3417
3418         All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
3419         SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
3420
3421         This doesn't change <animateTransform> behavior, it just simplies the code
3422         and enables animVal support for SVGTransformLists - all covered by existing tests.
3423
3424         * CMakeLists.txt:
3425         * GNUmakefile.list.am:
3426         * Target.pri:
3427         * WebCore.gypi:
3428         * WebCore.xcodeproj/project.pbxproj:
3429         * svg/SVGAllInOne.cpp:
3430         * svg/SVGAnimateElement.cpp:
3431         (WebCore::SVGAnimateElement::SVGAnimateElement):
3432         (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
3433         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3434         (WebCore::SVGAnimateElement::applyResultsToTarget):
3435         * svg/SVGAnimateTransformElement.cpp:
3436         (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
3437         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
3438         (WebCore::SVGAnimateTransformElement::parseAttribute):
3439         * svg/SVGAnimateTransformElement.h:
3440         (WebCore::SVGAnimateTransformElement::transformType):
3441         (SVGAnimateTransformElement):
3442         * svg/SVGAnimatedTransformList.cpp: Added.
3443         (WebCore):
3444         (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
3445         (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
3446         (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
3447         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
3448         (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
3449         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
3450         (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
3451         * svg/SVGAnimatedTransformList.h:
3452         (WebCore):
3453         (SVGAnimatedTransformListAnimator):
3454         (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
3455         * svg/SVGAnimatedType.cpp:
3456         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3457         (WebCore::SVGAnimatedType::createTransformList):
3458         (WebCore):
3459         (WebCore::SVGAnimatedType::transformList):
3460         (WebCore::SVGAnimatedType::valueAsString):
3461         (WebCore::SVGAnimatedType::setValueAsString):
3462         (WebCore::SVGAnimatedType::supportsAnimVal):
3463         (WebCore::SVGAnimatedType::setVariantValue):
3464         * svg/SVGAnimatedType.h:
3465         (WebCore):
3466         (SVGAnimatedType):
3467         * svg/SVGAnimatorFactory.h:
3468         (WebCore::SVGAnimatorFactory::create):
3469         * svg/SVGGradientElement.cpp:
3470         (WebCore::SVGGradientElement::parseAttribute):
3471         * svg/SVGPatternElement.cpp:
3472         (WebCore::SVGPatternElement::parseAttribute):
3473         * svg/SVGStyledTransformableElement.cpp:
3474         (WebCore::SVGStyledTransformableElement::parseAttribute):
3475         * svg/SVGTextElement.cpp:
3476         (WebCore::SVGTextElement::parseAttribute):
3477         * svg/SVGTransform.cpp:
3478         (WebCore::SVGTransform::transformTypePrefixForParsing):
3479         (WebCore):
3480         (WebCore::SVGTransform::valueAsString):
3481         * svg/SVGTransform.h:
3482         (SVGTransform):
3483         * svg/SVGTransformList.cpp:
3484         (WebCore::SVGTransformList::parse):
3485         (WebCore):
3486         * svg/SVGTransformList.h:
3487         (SVGTransformList):
3488         * svg/SVGTransformable.cpp:
3489         (WebCore::SVGTransformable::parseTransformType):
3490         * svg/SVGTransformable.h:
3491         (WebCore):
3492         * svg/SVGViewSpec.cpp:
3493         (WebCore::SVGViewSpec::setTransform):
3494
3495 2012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
3496
3497         Enable animVal support for SVGLengthList
3498         https://bugs.webkit.org/show_bug.cgi?id=80750
3499
3500         Reviewed by Zoltan Herczeg.
3501
3502         Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
3503         in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
3504
3505         Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
3506
3507         * svg/SVGAnimateElement.cpp:
3508         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3509         * svg/SVGAnimateTransformElement.cpp:
3510         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
3511         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
3512         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
3513         * svg/SVGAnimatedLengthList.cpp:
3514         (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
3515         (WebCore):
3516         * svg/SVGAnimatedLengthList.h:
3517         (WebCore):
3518         (SVGAnimatedLengthListAnimator):
3519         * svg/SVGAnimatedType.cpp:
3520         (WebCore::SVGAnimatedType::supportsAnimVal):
3521         (WebCore::SVGAnimatedType::setVariantValue):
3522         * svg/SVGAnimatedType.h:
3523         * svg/SVGAnimationElement.cpp:
3524         (WebCore::SVGAnimationElement::applyAnimatedValue):
3525         * svg/properties/SVGAnimatedListPropertyTearOff.h:
3526         (SVGAnimatedListPropertyTearOff):
3527         (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
3528         (WebCore::SVGAnimatedListPropertyTearOff::animVal):
3529         (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
3530         (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
3531         (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
3532         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
3533         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
3534         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
3535         (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
3536         (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
3537         (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
3538         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
3539         (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
3540         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
3541         * svg/properties/SVGAnimatedProperty.h:
3542         (WebCore::SVGAnimatedProperty::isAnimating):
3543         (SVGAnimatedProperty):
3544         (WebCore::SVGAnimatedProperty::animationValueWillChange):
3545         (WebCore::SVGAnimatedProperty::animationValueDidChange):
3546         (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
3547         (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
3548         * svg/properties/SVGAnimatedPropertyTearOff.h:
3549         (SVGAnimatedPropertyTearOff):
3550         (WebCore::SVGAnimatedPropertyTearOff::baseVal):
3551         (WebCore::SVGAnimatedPropertyTearOff::animVal):
3552         (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
3553         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
3554         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
3555         (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
3556         (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
3557         (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
3558         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
3559         (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
3560         (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
3561         * svg/properties/SVGListProperty.h:
3562         (WebCore::SVGListProperty::detachListWrappers):
3563         (SVGListProperty):
3564         (WebCore::SVGListProperty::setValuesAndWrappers):
3565         (WebCore::SVGListProperty::clearValues):
3566         (WebCore::SVGListProperty::clearValuesAndWrappers):
3567         (WebCore::SVGListProperty::numberOfItems):
3568         (WebCore::SVGListProperty::initializeValues):
3569         (WebCore::SVGListProperty::initializeValuesAndWrappers):
3570         (WebCore::SVGListProperty::canGetItem):
3571         (WebCore::SVGListProperty::getItemValues):
3572         (WebCore::SVGListProperty::getItemValuesAndWrappers):
3573         (WebCore::SVGListProperty::insertItemBeforeValues):
3574         (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
3575         (WebCore::SVGListProperty::canReplaceItem):
3576         (WebCore::SVGListProperty::replaceItemValues):
3577         (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
3578         (WebCore::SVGListProperty::canRemoveItem):
3579         (WebCore::SVGListProperty::removeItemValues):
3580         (WebCore::SVGListProperty::removeItemValuesAndWrappers):
3581         (WebCore::SVGListProperty::appendItemValues):
3582         (WebCore::SVGListProperty::appendItemValuesAndWrappers):
3583         (WebCore::SVGListProperty::values):
3584         (WebCore::SVGListProperty::wrappers):
3585         (WebCore::SVGListProperty::SVGListProperty):
3586         * svg/properties/SVGListPropertyTearOff.h:
3587         (SVGListPropertyTearOff):
3588         (WebCore::SVGListPropertyTearOff::create):
3589         (WebCore::SVGListPropertyTearOff::removeItemFromList):
3590         (WebCore::SVGListPropertyTearOff::clear):
3591         (WebCore::SVGListPropertyTearOff::initialize):
3592         (WebCore::SVGListPropertyTearOff::insertItemBefore):
3593         (WebCore::SVGListPropertyTearOff::replaceItem):
3594         (WebCore::SVGListPropertyTearOff::appendItem):
3595         (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
3596         (WebCore::SVGListPropertyTearOff::commitChange):
3597         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
3598         (WebCore::SVGPathSegListPropertyTearOff::clear):
3599         (WebCore::SVGPathSegListPropertyTearOff::getItem):
3600         (WebCore::SVGPathSegListPropertyTearOff::removeItem):
3601         * svg/properties/SVGPathSegListPropertyTearOff.h:
3602         (WebCore::SVGPathSegListPropertyTearOff::create):
3603         (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
3604         (SVGPathSegListPropertyTearOff):
3605         (WebCore::SVGPathSegListPropertyTearOff::initialize):
3606         (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
3607         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
3608         (WebCore::SVGPathSegListPropertyTearOff::appendItem):
3609         (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
3610         (WebCore::SVGPathSegListPropertyTearOff::commitChange):
3611         * svg/properties/SVGPropertyInfo.h:
3612         * svg/properties/SVGStaticListPropertyTearOff.h:
3613         (SVGStaticListPropertyTearOff):
3614         (WebCore::SVGStaticListPropertyTearOff::clear):
3615         (WebCore::SVGStaticListPropertyTearOff::initialize):
3616         (WebCore::SVGStaticListPropertyTearOff::getItem):
3617         (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
3618         (WebCore::SVGStaticListPropertyTearOff::replaceItem):
3619         (WebCore::SVGStaticListPropertyTearOff::removeItem):
3620         (WebCore::SVGStaticListPropertyTearOff::appendItem):
3621         (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
3622         (WebCore::SVGStaticListPropertyTearOff::commitChange):
3623         * svg/properties/SVGTransformListPropertyTearOff.h:
3624         (WebCore::SVGTransformListPropertyTearOff::create):
3625         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
3626         (WebCore::SVGTransformListPropertyTearOff::consolidate):
3627         (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
3628
3629 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
3630
3631         AXDescription for HTML5 footer
3632         https://bugs.webkit.org/show_bug.cgi?id=78967
3633
3634         Return a unique role description for the footer element.
3635
3636         Reviewed by Beth Dakin.
3637
3638         Test: platform/mac/accessibility/footer-roledescription.html
3639
3640         * English.lproj/Localizable.strings:+
3641         * accessibility/AccessibilityObject.h:
3642         * accessibility/AccessibilityRenderObject.cpp:
3643         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3644         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3645         (createAccessibilityRoleMap):
3646         (-[WebAccessibilityObjectWrapper subrole]):
3647         (-[WebAccessibilityObjectWrapper roleDescription]):
3648         * platform/LocalizedStrings.cpp:
3649         (WebCore::AXFooterRoleDescriptionText):
3650         (WebCore):
3651         * platform/LocalizedStrings.h:
3652         (WebCore):
3653         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
3654         (WebCore::AXFooterRoleDescriptionText):
3655         (WebCore):
3656         * platform/efl/LocalizedStringsEfl.cpp:
3657         (WebCore::AXFooterRoleDescriptionText):
3658         (WebCore):
3659         * platform/gtk/LocalizedStringsGtk.cpp:
3660         (WebCore::AXFooterRoleDescriptionText):
3661         (WebCore):
3662
3663 2012-03-14  Mark Rowe  <mrowe@apple.com>
3664
3665         <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
3666
3667         Reviewed by Dan Bernstein.
3668
3669         * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
3670         rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
3671         DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
3672
3673 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
3674
3675         AXDescription for ARIA role contentinfo incorrect
3676         https://bugs.webkit.org/show_bug.cgi?id=78967
3677
3678         Reviewed by Beth Dakin.
3679
3680         Test: platform/mac/accessibility/aria-grouping-roles.html
3681
3682         * English.lproj/Localizable.strings:
3683         * platform/LocalizedStrings.cpp:
3684         (WebCore::AXARIAContentGroupText):
3685
3686 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
3687
3688         AX: ARIA tables need to support selected rows attribute/select rows changed notification
3689         https://bugs.webkit.org/show_bug.cgi?id=79821
3690
3691         Reviewed by Beth Dakin.
3692
3693         Test: platform/mac/accessibility/selected-rows-table.html
3694
3695         * accessibility/AccessibilityARIAGrid.h:
3696         (WebCore::AccessibilityARIAGrid::isMultiSelectable):
3697         (AccessibilityARIAGrid):
3698         * accessibility/AccessibilityRenderObject.cpp:
3699         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
3700         * accessibility/AccessibilityTableRow.cpp:
3701         (WebCore::AccessibilityTableRow::observableObject):
3702         (WebCore):
3703         * accessibility/AccessibilityTableRow.h:
3704         (AccessibilityTableRow):
3705         * accessibility/mac/AXObjectCacheMac.mm:
3706         (WebCore::AXObjectCache::postPlatformNotification):
3707
3708 2012-03-14  James Robinson  <jamesr@chromium.org>
3709
3710         Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
3711         https://bugs.webkit.org/show_bug.cgi?id=81187
3712
3713         Reviewed by Simon Fraser.
3714
3715         * dom/Document.cpp:
3716         (WebCore::Document::webkitRequestAnimationFrame):
3717
3718 2012-03-14  Chris Fleizach  <cfleizach@apple.com>
3719
3720         AX: embedded attachments do not report their parents correctly
3721         https://bugs.webkit.org/show_bug.cgi?id=80132
3722
3723         When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
3724         It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
3725         communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
3726
3727         We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
3728
3729         Reviewed by Beth Dakin.
3730
3731         Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
3732         through the IPC mechanism.
3733
3734         * accessibility/AccessibilityObject.cpp:
3735         (WebCore::AccessibilityObject::detachFromParent):
3736         * accessibility/AccessibilityObject.h:
3737         (AccessibilityObject):
3738         (WebCore::AccessibilityObject::overrideAttachmentParent):
3739         * accessibility/AccessibilityRenderObject.cpp:
3740         (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
3741         (WebCore::AccessibilityRenderObject::addChildren):
3742         * accessibility/AccessibilityRenderObject.h:
3743         (AccessibilityRenderObject):
3744         * accessibility/mac/AccessibilityObjectMac.mm:
3745         (WebCore::AccessibilityObject::overrideAttachmentParent):
3746
3747 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
3748
3749         Improve ContainerNode's collectNodes() performance
3750         https://bugs.webkit.org/show_bug.cgi?id=80706
3751
3752         Reviewed by Antti Koivisto.
3753
3754         Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
3755         this would cover 99.5% of all node collection.
3756
3757         Note: the actual code change was made in r110797 but I somehow mangled my patches.
3758
3759         * dom/ContainerNode.cpp:
3760         (WebCore):
3761
3762 2012-03-14  Seo Sanghyeon  <sh4.seo@samsung.com>
3763
3764         Cleanup semicolons in IDLs
3765         https://bugs.webkit.org/show_bug.cgi?id=81129
3766
3767         Reviewed by Kentaro Hara.
3768
3769         No tests. No change in behavior.
3770
3771         * svg/SVGAnimateColorElement.idl:
3772         * svg/SVGAnimateElement.idl:
3773         * svg/SVGAnimateTransformElement.idl:
3774         * svg/SVGAnimatedRect.idl:
3775
3776 2012-03-14  Hayato Ito  <hayato@chromium.org>
3777
3778         Make ShadowRoot.activeElement return null if it does not contain a focused element.
3779         https://bugs.webkit.org/show_bug.cgi?id=81097
3780
3781         Reviewed by Dimitri Glazkov.
3782
3783         * dom/TreeScope.cpp:
3784         (WebCore::TreeScope::activeElement):
3785
3786 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
3787
3788         Allow per-script font settings to be specified in layout tests
3789         https://bugs.webkit.org/show_bug.cgi?id=78184
3790
3791         Reviewed by Hajime Morita.
3792
3793         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
3794         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
3795         for Chromium so far.
3796
3797         Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
3798         instead of overridePreference.
3799
3800         * WebCore.exp.in: Added symbols.
3801         * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
3802         (WebCore):
3803         * platform/text/LocaleToScriptMappingDefault.cpp:
3804         (WebCore::scriptNameToCode):
3805         (WebCore::localeToScriptCodeForFontSelection):
3806         * platform/text/LocaleToScriptMappingICU.cpp:
3807         (WebCore::scriptNameToCode):
3808         (WebCore):
3809         * testing/InternalSettings.cpp: Added per-script font settings.
3810         (WebCore):
3811         (WebCore::setFontFamily):
3812         (WebCore::InternalSettings::setStandardFontFamily):
3813         (WebCore::InternalSettings::setSerifFontFamily):
3814         (WebCore::InternalSettings::setSansSerifFontFamily):
3815         (WebCore::InternalSettings::setFixedFontFamily):
3816         (WebCore::InternalSettings::setCursiveFontFamily):
3817         (WebCore::InternalSettings::setFantasyFontFamily):
3818         (WebCore::InternalSettings::setPictographFontFamily):
3819         * testing/InternalSettings.h:
3820         (InternalSettings):
3821         * testing/InternalSettings.idl:
3822
3823 2012-03-14  Kwonjin Jeong  <gram@company100.net>
3824
3825         Remove obsolete constructors of CSSPrimitiveValue class.
3826         https://bugs.webkit.org/show_bug.cgi?id=80971
3827
3828         Remove constructors of CSSPrimitiveValue that can't be
3829         reached.
3830
3831         Reviewed by Andreas Kling.
3832
3833         * css/CSSPrimitiveValueMappings.h:
3834
3835 2012-03-14  Igor Oliveira  <igor.o@sisa.samsung.com>
3836
3837         Split the extra logic out of RenderBlock::updateFirstLetter
3838         https://bugs.webkit.org/show_bug.cgi?id=80772
3839
3840         Reviewed by Julien Chaffraix.
3841
3842         No change in behavior expected.
3843
3844         * rendering/RenderBlock.cpp:
3845         (WebCore::RenderBlock::updateFirstLetterStyle):
3846         (WebCore::RenderBlock::createFirstLetterRenderer):
3847         (WebCore::RenderBlock::updateFirstLetter):
3848         (WebCore):
3849         * rendering/RenderBlock.h:
3850         (RenderBlock):
3851
3852 2012-03-14  Anders Carlsson  <andersca@apple.com>
3853
3854         Fix build.
3855
3856         * html/track/TextTrackList.cpp:
3857
3858 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
3859
3860         Build fix.
3861
3862         * dom/DynamicNodeList.h:
3863         (DynamicSubtreeNodeList):
3864
3865 2012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
3866
3867         (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
3868         https://bugs.webkit.org/show_bug.cgi?id=80900
3869
3870         Reviewed by Andreas Kling.
3871
3872         Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
3873         about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
3874         are called for all dynamic node lists even though it's only useful for labels and region node lists since
3875         it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
3876
3877         Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
3878         parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
3879         able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
3880         function in HTMLLabelElement.
3881
3882         And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
3883         functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
3884
3885         * dom/DynamicNodeList.cpp:
3886         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
3887         useful for labels and region node lists.
3888         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
3889         * dom/DynamicNodeList.h:
3890         (DynamicSubtreeNodeList):
3891         * dom/Node.cpp:
3892         (WebCore):
3893         (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
3894         when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
3895         is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
3896         to be added to the list, so there's no point in calling InvalidateCaches (no-op).
3897         (WebCore::Node::unregisterDynamicSubtreeNodeList):
3898         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
3899         Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
3900         and never remove entries from NodeListsNodeData in this function.
3901         (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
3902         is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
3903         invalidateCaches via invalidateCachesThatDependOnAttributes.
3904         (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
3905         done in invalidateCachesThatDependOnAttributes.
3906         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
3907         m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
3908         (WebCore::NodeListsNodeData::isEmpty):
3909         * dom/Node.h:
3910         (Node):
3911         * dom/NodeRareData.h:
3912         (NodeListsNodeData):
3913         * html/HTMLLabelElement.cpp:
3914         (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
3915         invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
3916         * html/HTMLLabelElement.h:
3917         (HTMLLabelElement):
3918         * html/LabelsNodeList.cpp:
3919         (WebCore::LabelsNodeList::LabelsNodeList):
3920         (WebCore::LabelsNodeList::~LabelsNodeList):
3921
3922 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3923
3924         Unreviewed, rolling out r110565.
3925         http://trac.webkit.org/changeset/110565
3926         https://bugs.webkit.org/show_bug.cgi?id=81173
3927
3928         chromium deps are now far enough along that the original cl
3929         should work (Requested by thakis on #webkit).
3930
3931         * WebCore.gyp/mac/adjust_visibility.sh:
3932
3933 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3934
3935         Unreviewed, rolling out r110641.
3936         http://trac.webkit.org/changeset/110641
3937         https://bugs.webkit.org/show_bug.cgi?id=81170
3938
3939         Causes an ASAN failure (Requested by abarth on #webkit).
3940
3941         * Target.pri:
3942         * UseV8.cmake:
3943         * WebCore.gypi:
3944         * bindings/scripts/CodeGeneratorJS.pm:
3945         (GenerateHeader):
3946         (GenerateImplementation):
3947         * bindings/scripts/CodeGeneratorV8.pm:
3948         (GenerateHeader):
3949         (GenerateNamedConstructorCallback):
3950         (GenerateImplementation):
3951         * bindings/scripts/IDLAttributes.txt:
3952         * bindings/scripts/test/V8/V8Float64Array.cpp:
3953         (WebCore):
3954         * bindings/scripts/test/V8/V8Float64Array.h:
3955         (V8Float64Array):
3956         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3957         (WebCore):
3958         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3959         (V8TestActiveDOMObject):
3960         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3961         (WebCore):
3962         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3963         (V8TestCustomNamedGetter):
3964         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3965         (WebCore):
3966         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3967         (V8TestEventConstructor):
3968         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3969         (WebCore):
3970         * bindings/scripts/test/V8/V8TestEventTarget.h:
3971         (V8TestEventTarget):
3972         * bindings/scripts/test/V8/V8TestInterface.cpp:
3973         (WebCore):
3974         * bindings/scripts/test/V8/V8TestInterface.h:
3975         (V8TestInterface):
3976         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3977         (WebCore):
3978         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3979         (V8TestMediaQueryListListener):
3980         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3981         (WebCore):
3982         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3983         (V8TestNamedConstructor):
3984         * bindings/scripts/test/V8/V8TestObj.cpp:
3985         (WebCore):
3986         * bindings/scripts/test/V8/V8TestObj.h:
3987         (V8TestObj):
3988         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3989         (WebCore):
3990         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3991         (V8TestSerializedScriptValueInterface):
3992         * bindings/v8/NPV8Object.cpp:
3993         (WebCore::npObjectTypeInfo):
3994         * bindings/v8/V8GCController.cpp:
3995         (WebCore::GrouperVisitor::visitDOMWrapper):
3996         * bindings/v8/WrapperTypeInfo.h:
3997         (WebCore):
3998         (WrapperTypeInfo):
3999         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
4000         (WebCore):
4001         (WebCore::toV8):
4002         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
4003         (WebCore::toV8):
4004         (WebCore):
4005         * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
4006         (WebCore):
4007         (WebCore::toV8):
4008         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
4009         (WebCore):
4010         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
4011         (WebCore::toV8):
4012         (WebCore):
4013         * bindings/v8/custom/V8StyleSheetCustom.cpp:
4014         (WebCore::toV8):
4015         * css/CSSStyleSheet.idl:
4016         * css/StyleSheet.idl:
4017         * dom/DOMStringMap.idl:
4018         * dom/NamedNodeMap.idl:
4019         * html/DOMTokenList.idl:
4020         * html/track/TextTrackList.cpp:
4021         * html/track/TextTrackList.idl:
4022
4023 2012-03-13  Jon Lee  <jonlee@apple.com>
4024
4025         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
4026         https://bugs.webkit.org/show_bug.cgi?id=80922
4027         <rdar://problem/11035082>
4028
4029         Reviewed by Jian Li.
4030
4031         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
4032         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
4033         new API. Therefore, APIs that are common between the two will have:
4034         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
4035
4036         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
4037         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
4038
4039         * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
4040         (preferredConditional):
4041         (conditionalStringFromAttributeValue):
4042         (generateInterfacesHeader):
4043         (generateHeadersHeader):
4044
4045         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
4046         * WebCore.exp.in:
4047         * bindings/cpp/WebDOMEventTarget.cpp:
4048         (toWebKit):
4049         * bindings/js/JSDesktopNotificationsCustom.cpp:
4050         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
4051         * dom/EventTargetFactory.in: