6df82b7f9362fcaeba310b5498645fe9d0dbe36c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
2
3         [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list
4         https://bugs.webkit.org/show_bug.cgi?id=78899
5
6         Notify inspector about starting context from WorkerContextProxy not from Worker.
7
8         Reviewed by Pavel Feldman.
9
10         * workers/Worker.cpp:
11         (WebCore::Worker::notifyFinished):
12         * workers/WorkerMessagingProxy.cpp:
13         (WebCore::WorkerMessagingProxy::startWorkerContext):
14
15 2012-02-19  Keishi Hattori  <keishi@webkit.org>
16
17         Use shadowRootList for ColorInputType
18         https://bugs.webkit.org/show_bug.cgi?id=79007
19
20         Reviewed by Kent Tamura.
21
22         * html/ColorInputType.cpp:
23         (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList.
24         (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList.
25
26 2012-02-19  Shinya Kawanaka  <shinyak@chromium.org>
27
28         Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
29         https://bugs.webkit.org/show_bug.cgi?id=78771
30
31         Reviewed by Hajime Morita.
32
33         This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
34
35         This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>.
36         After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of
37         HTMLContentElement only.
38
39         No new tests, no change in behavior.
40
41         * CMakeLists.txt:
42         * GNUmakefile.list.am:
43         * Target.pri:
44         * WebCore.gypi:
45         * WebCore.vcproj/WebCore.vcproj:
46         * WebCore.xcodeproj/project.pbxproj:
47         * html/shadow/HTMLContentElement.cpp:
48         (WebCore::HTMLContentElement::HTMLContentElement):
49         (WebCore::HTMLContentElement::attach):
50         (WebCore::HTMLContentElement::detach):
51         (WebCore::HTMLContentElement::parseAttribute):
52         * html/shadow/HTMLContentElement.h:
53         * html/shadow/InsertionPoint.cpp: Added.
54         (WebCore):
55         (WebCore::InsertionPoint::InsertionPoint):
56         (WebCore::InsertionPoint::~InsertionPoint):
57         * html/shadow/InsertionPoint.h: Added.
58         (WebCore):
59         (InsertionPoint):
60
61 2012-02-19  Paweł Forysiuk  <tuxator@o2.pl>
62
63         [GTK] Can't find webinspector and error page redirection on Windows
64         https://bugs.webkit.org/show_bug.cgi?id=51616
65
66         Create and use an abstraction for finding shared resources on Windows.
67
68         Reviewed by Martin Robinson.
69
70         * platform/FileSystem.h:
71         (WebCore):
72         * platform/audio/gtk/AudioBusGtk.cpp:
73         (WebCore::AudioBus::loadPlatformResource):
74         * platform/graphics/gtk/ImageGtk.cpp:
75         (WebCore::getPathToImageResource):
76         * platform/gtk/FileSystemGtk.cpp:
77         (WebCore::sharedResourcesPath):
78         (WebCore):
79
80 2012-02-19  James Robinson  <jamesr@chromium.org>
81
82         Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp
83         https://bugs.webkit.org/show_bug.cgi?id=78951
84
85         Reviewed by Adam Barth.
86
87         This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside
88         ScrollingCoordinator.cpp.  The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set
89         and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise.  The chromium port
90         always uses implementations in ScrollingCoordinatorChromium.cpp.  All other ports use
91         ScrollingCoordinatorNone.cpp.
92
93         * CMakeLists.txt:
94         * GNUmakefile.list.am:
95         * Target.pri:
96         * WebCore.vcproj/WebCore.vcproj:
97         * WebCore.xcodeproj/project.pbx:
98         * page/scrolling/ScrollingCoordinator.cpp:
99         * page/scrolling/ScrollingCoordinatorNone.cpp:
100         (WebCore):
101         (WebCore::ScrollingCoordinator::create):
102         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
103         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
104         (WebCore::ScrollingCoordinator::setScrollLayer):
105         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
106         (WebCore::ScrollingCoordinator::setScrollParameters):
107         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
108         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
109         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
110         (WebCore::ScrollingCoordinator::create):
111         (WebCore):
112
113 2012-02-19  Kentaro Hara  <haraken@chromium.org>
114
115         Rename [CheckDomainSecurity] to [CheckSecurity]
116         https://bugs.webkit.org/show_bug.cgi?id=78874
117
118         Reviewed by Adam Barth.
119
120         "Domain security" isn't a term that's used elsewhere.
121         This patch renames IDL attributes as follows:
122
123         - [CheckDomainSecurity] => [CheckSecurity]
124         - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity]
125         - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter]
126         - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter]
127
128         No tests. No change in behavior.
129
130         * bindings/scripts/CodeGeneratorJS.pm:
131         (GenerateGetOwnPropertyDescriptorBody):
132         (GenerateImplementation):
133         * bindings/scripts/CodeGeneratorV8.pm:
134         (GenerateHeader):
135         (IsVisibleAcrossOrigins):
136         (GenerateFunctionCallback):
137         (GenerateSingleBatchedAttribute):
138         (GenerateImplementation):
139         (GenerateToV8Converters):
140         * bindings/scripts/test/TestDomainSecurity.idl:
141         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
142         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
143         * page/DOMWindow.idl:
144         * page/History.idl:
145         * page/Location.idl:
146
147 2012-02-19  James Robinson  <jamesr@chromium.org>
148
149         Unreviewed, rolling out r108195.
150         http://trac.webkit.org/changeset/108195
151         https://bugs.webkit.org/show_bug.cgi?id=77700
152
153         Lots of failing ASSERT()s on v8 bots, requested by kling on
154         #webkit
155
156         * bindings/js/JSCSSValueCustom.cpp:
157         (WebCore::toJS):
158         * bindings/scripts/CodeGeneratorV8.pm:
159         (GenerateHeader):
160
161 2012-02-19  Kentaro Hara  <haraken@chromium.org>
162
163         Rename [CheckAccessToNode] to [CheckSecurityForNode]
164         https://bugs.webkit.org/show_bug.cgi?id=78991
165
166         Reviewed by Adam Barth.
167
168         For naming consistency with [CheckSecurity], this patch renames
169         [CheckAccessToNode] to [CheckSecurityForNode].
170
171         No tests. No change in behavior.
172
173         * bindings/scripts/CodeGeneratorJS.pm:
174         (GenerateImplementation):
175         * bindings/scripts/CodeGeneratorV8.pm:
176         (GenerateNormalAttrGetter):
177         (GenerateFunctionCallback):
178         * bindings/scripts/test/TestObj.idl:
179         * bindings/scripts/test/V8/V8TestObj.cpp:
180         (WebCore):
181         * html/HTMLEmbedElement.idl:
182         * html/HTMLFrameElement.idl:
183         * html/HTMLIFrameElement.idl:
184         * html/HTMLObjectElement.idl:
185         * page/DOMWindow.idl:
186
187 2012-02-19  James Robinson  <jamesr@chromium.org>
188
189         Sort WebCore XCode project files with sort-Xcode-project-files script. Unreviewed.
190
191         * WebCore.xcodeproj/project.pbxproj:
192
193 2012-02-19  Andreas Kling  <awesomekling@apple.com>
194
195         Make CSSValue wrapper getters return unique objects every time.
196         <http://webkit.org/b/77700>
197
198         Reviewed by Antti Koivisto.
199
200         Change the behavior of CSSValue getters to return unique JS wrappers every
201         time they are called. This means we no longer have to deal with the risk
202         of leaking custom properties between unrelated documents, and are free to
203         implement global value sharing across WebCore.
204
205         This patch will be followed by one making CSSValuePool globally shared,
206         it's done in two steps to monitor the impact of this change.
207
208         * bindings/js/JSCSSValueCustom.cpp:
209         (WebCore::toJS):
210         * bindings/scripts/CodeGeneratorV8.pm:
211         (GenerateHeader):
212         (IsCSSValueType):
213
214 2012-02-19  Abhishek Arya  <inferno@chromium.org>
215
216         Crash in RenderBlock::splitAnonymousBlocksAroundChild.
217         https://bugs.webkit.org/show_bug.cgi?id=78994
218
219         Reviewed by Eric Seidel.
220
221         Generalize splitTablePartsAroundChild to handle splitting
222         in nested tables.
223         Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row
224
225         Test: fast/table/table-split-inside-table.html
226
227         * rendering/RenderBlock.cpp:
228         (WebCore::RenderBlock::splitTablePartsAroundChild):
229
230 2012-02-19  Kalev Lember  <kalevlember@gmail.com>
231
232         [GTK] Fix build on platforms where UChar is wchar_t
233         https://bugs.webkit.org/show_bug.cgi?id=78996
234
235         Reviewed by Martin Robinson.
236
237         The ICU backend defines UChar as wchar_t for platforms where wchar_t is
238         16 bits wide, e.g. win32.
239
240         * platform/graphics/pango/FontPango.cpp:
241         (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast.
242         * platform/gtk/GtkPopupMenu.cpp:
243         (WebCore::GtkPopupMenu::typeAheadFind): Ditto.
244
245 2012-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
246
247         Unreviewed. Fix make distcheck issues.
248
249         * GNUmakefile.list.am: Add missing header.
250
251 2012-02-18  Robert Hogan  <robert@webkit.org>
252
253         CSS 2.1 failure: inline-box-002.htm fails
254         https://bugs.webkit.org/show_bug.cgi?id=69210
255
256         Reviewed by David Hyatt.
257
258         Tests: css2.1/20110323/dynamic-top-change-005.htm
259                css2.1/20110323/dynamic-top-change-005a.htm
260                css2.1/20110323/dynamic-top-change-005b.htm
261                css2.1/20110323/inline-box-002.htm
262                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html
263                fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html
264                fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html
265                fast/css/relative-positioned-block-nested-with-inline-parent.html
266                fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html
267                fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html
268                fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html
269                fast/css/relative-positioned-block-with-inline-ancestor.html
270                fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html
271                fast/css/relative-positioned-block-with-inline-parent-dynamic.html
272                fast/css/relative-positioned-block-with-inline-parent-keeps-style.html
273                fast/css/relative-positioned-block-with-inline-parent.html
274
275         A block within an inline is affected by relative positioning on the inline box. Give
276         the anonymous block containing the block a layer and make it relative positioned. Then
277         calculate the offset of the anonymous block's layer by accumulating the offsets from its
278         inline continuation and the inline continuation's inline parents.
279         If the position of an inline changes from or to relative positioned then ensure that any
280         descendant blocks update their position and layer accordingly.
281
282         * rendering/RenderBoxModelObject.cpp:
283         (): add an enum RelPosAxis
284         (WebCore::accumulateRelativePositionOffsets): 
285         Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively 
286         positioned anonymous block's child block.
287
288         (WebCore):
289         (WebCore::RenderBoxModelObject::relativePositionOffsetX): 
290         Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block.
291
292         (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto
293
294         * rendering/RenderInline.cpp:
295         (WebCore::hasRelPositionedInlineAncestor): 
296         Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline.
297
298         (WebCore::updateStyleOfAnonymousBlockContinuations): 
299         Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed.
300
301         (WebCore::RenderInline::styleDidChange): 
302         If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning
303         as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning.
304
305         (WebCore::RenderInline::addChildIgnoringContinuation): 
306         If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively
307         positioned so the block will respect its inline ancestor's relative positioning.
308
309         * rendering/RenderObject.cpp:
310         (WebCore::RenderObject::propagateStyleToAnonymousChildren): 
311         Preserve style position in anonymous block continuations when the parent block propagates a style change. 
312
313 2012-02-18  raman Tenneti  <rtenneti@chromium.org>
314
315         Track the NPN protocol version negotiated with the server
316         https://bugs.webkit.org/show_bug.cgi?id=77349
317
318         Reviewed by Darin Fisher..
319
320         [chromium] Added ExtraData to WebURLResponse.
321         
322         No intended functionality change.
323
324         * platform/network/chromium/ResourceResponse.h:
325         (ExtraData):
326         (WebCore::ResourceResponse::ExtraData::~ExtraData):
327         (ResourceResponse):
328         (WebCore::ResourceResponse::extraData):
329         (WebCore::ResourceResponse::setExtraData):
330
331 2012-02-18  Abhishek Arya  <inferno@chromium.org>
332
333         Unreviewed, rolling out r107965.
334         http://trac.webkit.org/changeset/107965
335         https://bugs.webkit.org/show_bug.cgi?id=78273
336
337         crashes
338
339         * rendering/RenderBlock.cpp:
340         (WebCore::RenderBlock::clone):
341
342 2012-02-18  Sam Weinig  <sam@webkit.org>
343
344         Make WebCore compile with libc++ (Part 2)
345         https://bugs.webkit.org/show_bug.cgi?id=78974
346
347         Reviewed by Anders Carlsson.
348
349         * config.h:
350         Disable the DisallowCType check when using libc++.
351
352 2012-02-18  Sam Weinig  <sam@webkit.org>
353
354         Fix the build.
355
356         * page/DOMWindow.idl:
357
358 2012-02-14  Sam Weinig  <sam@webkit.org>
359
360         Make WebCore compile with libc++ (Part 1)
361         https://bugs.webkit.org/show_bug.cgi?id=78974
362
363         Reviewed by Anders Carlsson.
364
365         Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
366         not to work when using an iterator with proxy objects for reference and pointer types.
367
368         * WebCorePrefix.h:
369         (move):
370         Add an overload of std::move that the heap functions can call successfully.
371
372 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
373
374         [wx] Build fixes for C++ bindings after recent changes.
375         
376         * bindings/scripts/CodeGeneratorCPP.pm:
377         (ShouldSkipType):
378         (GenerateHeader):
379         * page/DOMWindow.idl:
380
381 2012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
382
383         [wx] Build fix, add new platform method wx impl.
384
385         * platform/wx/ContextMenuWx.cpp:
386         (ContextMenu::itemCount):
387
388 2012-02-18  Sam Weinig  <sam@webkit.org>
389
390         Fix part of the windows build failure.
391
392         * WebCore.vcproj/WebCore.vcproj:
393         Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
394         as part of DerivedSources.cpp.
395
396 2012-02-18  Sam Weinig  <sam@webkit.org>
397
398         Fix the ENABLE(THREADED_SCROLLING) build.
399
400         * page/scrolling/ScrollingCoordinator.cpp:
401         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
402         (WebCore::ScrollingCoordinator::setScrollParameters):
403
404 2012-02-18  Andreas Kling  <awesomekling@apple.com>
405
406         HTML: Remove unnecessary attributeChange() overrides.
407         <http://webkit.org/b/78890>
408
409         Reviewed by Anders Carlsson.
410
411         Move logic from attributeChanged() overrides into parseAttribute().
412         This is a step towards making attributeChanged() non-virtual.
413
414         * html/HTMLMediaElement.cpp:
415         (WebCore::HTMLMediaElement::parseAttribute):
416         * html/HTMLMediaElement.h:
417         (HTMLMediaElement):
418         * html/HTMLScriptElement.cpp:
419         (WebCore::HTMLScriptElement::parseAttribute):
420         * html/HTMLScriptElement.h:
421         (HTMLScriptElement):
422         * html/HTMLTrackElement.cpp:
423         (WebCore::HTMLTrackElement::parseAttribute):
424         * html/HTMLTrackElement.h:
425         (HTMLTrackElement):
426
427 2012-02-18  Andreas Kling  <awesomekling@apple.com>
428
429         Remove Element::createAttribute().
430         <http://webkit.org/b/78965>
431
432         Reviewed by Anders Carlsson.
433
434         Switch call sites to use Attribute::create() directly, as there is no magic
435         in calling Element::createAttribute() anymore (it used to be virtual and handled
436         differently by StyledElement.)
437
438         * dom/Element.cpp:
439         (WebCore::Element::setAttributeInternal):
440         * dom/Element.h:
441         * svg/properties/SVGAnimatedPropertySynchronizer.h:
442
443 2012-02-18  Andreas Kling  <awesomekling@apple.com>
444
445         HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
446         <http://webkit.org/b/78959>
447
448         Reviewed by Anders Carlsson.
449
450         Mark the body element for deferred style recalc instead of doing it synchronously
451         when the attributes change.
452
453         * html/HTMLBodyElement.cpp:
454         (WebCore::HTMLBodyElement::parseAttribute):
455
456 2012-02-18  Martin Robinson  <mrobinson@igalia.com>
457
458         Fix the TextureMapper build for non-Qt ports. Qt debug builds
459         must use RTTI, but GTK+, at least, does not.
460
461         * platform/graphics/texmap/TextureMapperLayer.cpp:
462         (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
463         Qt only.
464
465 2012-02-16  Andreas Kling  <awesomekling@apple.com>
466
467         FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
468         <http://webkit.org/b/78806>
469
470         Reviewed by Antti Koivisto.
471
472         Now that FontFamilyValue's string doesn't change after creation, we can just
473         pass the massaged family name up to the CSSPrimitiveValue constructor and get
474         cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
475         though that's less of an issue now that we cache them in CSSValuePool.
476
477         * css/FontFamilyValue.cpp:
478         (WebCore::stripFontFamilyJunk):
479         (WebCore::FontFamilyValue::FontFamilyValue):
480         * css/FontFamilyValue.h:
481         (WebCore::FontFamilyValue::familyName):
482         (FontFamilyValue):
483
484 2012-02-17  Adam Klein  <adamk@chromium.org>
485
486         Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
487         https://bugs.webkit.org/show_bug.cgi?id=76087
488
489         Reviewed by Ryosuke Niwa.
490
491         Move post-removal notifications after call to Node::removeFromDocument
492         to avoid inconsistent state of Node::inDocument() and thus avoid
493         inconsistent state in DocumentOrderedMap.
494
495         Tests: fast/dom/getElementById-consistency.html
496                fast/dom/getElementById-consistency2.html
497
498         * dom/ContainerNode.cpp:
499         (WebCore::ContainerNode::removeChild):
500         * svg/SVGTRefElement.cpp:
501         (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.
502
503 2012-02-17  Joshua Bell  <jsbell@chromium.org>
504
505         IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
506         https://bugs.webkit.org/show_bug.cgi?id=78399
507
508         Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.
509
510         Reviewed by Tony Chang.
511
512         Test: storage/indexeddb/delete-range.html
513
514         * bindings/scripts/CodeGeneratorV8.pm:
515         (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
516         * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
517         * storage/IDBLevelDBBackingStore.cpp:
518         (WebCore):
519         * storage/IDBObjectStore.cpp:
520         (WebCore::IDBObjectStore::deleteFunction):
521         (WebCore):
522         * storage/IDBObjectStore.h:
523         (IDBObjectStore):
524         * storage/IDBObjectStore.idl:
525         * storage/IDBObjectStoreBackendImpl.cpp:
526         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
527         (WebCore):
528         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
529         * storage/IDBObjectStoreBackendImpl.h:
530         (IDBObjectStoreBackendImpl):
531         * storage/IDBObjectStoreBackendInterface.h:
532
533 2012-02-17  Kentaro Hara  <haraken@chromium.org>
534
535         Replace [V8OnInstance] with [V8Unforgeable]
536         https://bugs.webkit.org/show_bug.cgi?id=78894
537
538         Reviewed by Adam Barth.
539
540         [V8OnInstance] means that the method should be defined
541         (not on a prototype chain but) on a DOM object. It is the
542         same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
543         with [V8Unforgeable].
544
545         No tests. No change in behavior.
546
547         * bindings/scripts/CodeGeneratorV8.pm:
548         (GenerateImplementation):
549         * page/Location.idl:
550
551 2012-02-17  James Robinson  <jamesr@chromium.org>
552
553         [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
554         target from different paths.
555
556         * WebCore.gypi:
557         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
558         (WebCore):
559         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
560         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
561         (WebCore::ScrollingCoordinator::setScrollLayer):
562         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
563         (WebCore::ScrollingCoordinator::setScrollParameters):
564         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
565         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
566
567 2012-02-17  James Robinson  <jamesr@chromium.org>
568
569         Unreviewed mac compile fix pt 2
570
571         * page/scrolling/ScrollingCoordinator.cpp:
572         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
573         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
574         (WebCore::ScrollingCoordinator::setScrollLayer):
575         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
576         (WebCore::ScrollingCoordinator::setScrollParameters):
577         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
578         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
579
580 2012-02-17  James Robinson  <jamesr@chromium.org>
581
582         Unreviewed mac compile fix (unused parameter warning)
583
584         * page/scrolling/ScrollingCoordinator.cpp:
585         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
586         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
587
588 2012-02-14  James Robinson  <jamesr@chromium.org>
589
590         Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
591         https://bugs.webkit.org/show_bug.cgi?id=78401
592
593         Reviewed by Adam Barth.
594
595         Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
596         chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
597         ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
598         events and interact with composited layers.
599
600         * WebCore.gyp/WebCore.gyp:
601         * WebCore.gypi:
602         * dom/Document.cpp:
603         (WebCore::wheelEventHandlerCountChanged):
604         * page/FrameView.cpp:
605         (WebCore::FrameView::addSlowRepaintObject):
606         (WebCore::FrameView::removeSlowRepaintObject):
607         (WebCore::FrameView::performPostLayoutTasks):
608         * page/Page.cpp:
609         (WebCore::Page::~Page):
610         (WebCore):
611         * page/Page.h:
612         (Page):
613         * page/Settings.cpp:
614         (WebCore::Settings::Settings):
615         * page/Settings.h:
616         (Settings):
617         * page/scrolling/ScrollingCoordinator.cpp:
618         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
619         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
620         (WebCore::ScrollingCoordinator::pageDestroyed):
621         (WebCore):
622         * page/scrolling/ScrollingCoordinator.h:
623         (WebCore):
624         (ScrollingCoordinator):
625         * page/scrolling/ScrollingThread.cpp:
626         (WebCore::ScrollingThread::createThreadIfNeeded):
627         * page/scrolling/ScrollingTreeState.cpp:
628         * page/scrolling/ScrollingTreeState.h:
629         * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
630         (WebCore):
631         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
632         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
633         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
634         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
635         * rendering/RenderLayerBacking.cpp:
636         (WebCore::RenderLayerBacking::RenderLayerBacking):
637         * rendering/RenderLayerCompositor.cpp:
638         (WebCore::RenderLayerCompositor::frameViewDidScroll):
639         (WebCore::shouldCompositeOverflowControls):
640         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
641         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
642         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
643         (WebCore::RenderLayerCompositor::ensureRootLayer):
644         (WebCore):
645         * rendering/RenderLayerCompositor.h:
646         (WebCore):
647         (RenderLayerCompositor):
648
649 2012-02-17  Emil A Eklund  <eae@chromium.org>
650
651         Add FractionalLayoutPoint for sub-pixel layout
652         https://bugs.webkit.org/show_bug.cgi?id=78913
653
654         Reviewed by Eric Seidel.
655
656         Add FractionalLayoutUnit version of Point class and a couple of
657         conversion methods to the Int and Float versions of same.
658
659         No new tests.
660
661         * GNUmakefile.list.am:
662         * WebCore.vcproj/WebCore.vcproj:
663         * WebCore.xcodeproj/project.pbxproj:
664         * platform/graphics/FloatPoint.cpp:
665         (WebCore::FloatPoint::FloatPoint):
666         (WebCore):
667         (WebCore::FloatPoint::moveBy):
668         * platform/graphics/FloatPoint.h:
669         (WebCore):
670         (FloatPoint):
671         * platform/graphics/FractionalLayoutPoint.h: Added.
672         (WebCore):
673         (FractionalLayoutPoint):
674         (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
675         (WebCore::FractionalLayoutPoint::zero):
676         (WebCore::FractionalLayoutPoint::x):
677         (WebCore::FractionalLayoutPoint::y):
678         (WebCore::FractionalLayoutPoint::setX):
679         (WebCore::FractionalLayoutPoint::setY):
680         (WebCore::FractionalLayoutPoint::move):
681         (WebCore::FractionalLayoutPoint::moveBy):
682         (WebCore::FractionalLayoutPoint::scale):
683         (WebCore::FractionalLayoutPoint::expandedTo):
684         (WebCore::FractionalLayoutPoint::shrunkTo):
685         (WebCore::FractionalLayoutPoint::clampNegativeToZero):
686         (WebCore::FractionalLayoutPoint::transposedPoint):
687         (WebCore::operator+=):
688         (WebCore::operator-=):
689         (WebCore::operator+):
690         (WebCore::operator-):
691         (WebCore::operator==):
692         (WebCore::operator!=):
693         (WebCore::toPoint):
694         (WebCore::toSize):
695         (WebCore::flooredIntPoint):
696         (WebCore::roundedIntPoint):
697         (WebCore::ceiledIntPoint):
698         * platform/graphics/FractionalLayoutSize.cpp:
699         (WebCore::pixelSnappedIntSize):
700         * platform/graphics/FractionalLayoutSize.h:
701         (WebCore):
702
703 2012-02-17  Ryosuke Niwa  <rniwa@webkit.org>
704
705         Move textDirectionForSelection from Editor to EditingStyle
706         https://bugs.webkit.org/show_bug.cgi?id=78868
707
708         Reviewed by Enrica Casucci.
709
710         Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
711         dependency on CSSStyleDeclaration.
712
713         * editing/EditingStyle.cpp:
714         (WebCore::EditingStyle::textDirectionForSelection):
715         (WebCore):
716         * editing/EditingStyle.h:
717         (EditingStyle):
718         * editing/Editor.cpp:
719         (WebCore):
720         * editing/Editor.h:
721         (Editor):
722         * editing/EditorCommand.cpp:
723         (WebCore::stateTextWritingDirection):
724         * editing/ReplaceSelectionCommand.cpp:
725         * editing/markup.cpp:
726
727 2012-02-17  David Barton  <dbarton@mathscribe.com>
728
729         MathML internals - embellished operators, getBase() accessor functions
730         https://bugs.webkit.org/show_bug.cgi?id=78617
731
732         Reviewed by Eric Seidel.
733
734         Define functions that return an unembellished "base", by omitting
735         subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
736         subsequent patches both for correct operator stretching and simple code factoring.
737
738         No new tests.
739
740         * rendering/mathml/RenderMathMLBlock.h:
741         (WebCore):
742         (RenderMathMLBlock):
743         (WebCore::RenderMathMLBlock::unembellishedOperator):
744         * rendering/mathml/RenderMathMLFraction.cpp:
745         (WebCore::RenderMathMLFraction::unembellishedOperator):
746         (WebCore):
747         * rendering/mathml/RenderMathMLFraction.h:
748         (RenderMathMLFraction):
749         * rendering/mathml/RenderMathMLOperator.h:
750         (WebCore::RenderMathMLOperator::unembellishedOperator):
751         * rendering/mathml/RenderMathMLSubSup.cpp:
752         (WebCore::RenderMathMLSubSup::base):
753         (WebCore):
754         (WebCore::RenderMathMLSubSup::unembellishedOperator):
755         (WebCore::RenderMathMLSubSup::stretchToHeight):
756             - renamed a variable for clarity, especially in later patches
757         (WebCore::RenderMathMLSubSup::layout):
758             - renamed a variable for clarity, especially in later patches
759         * rendering/mathml/RenderMathMLSubSup.h:
760         (RenderMathMLSubSup):
761         * rendering/mathml/RenderMathMLUnderOver.cpp:
762         (WebCore::RenderMathMLUnderOver::base):
763         (WebCore):
764         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
765         (WebCore::RenderMathMLUnderOver::stretchToHeight):
766         * rendering/mathml/RenderMathMLUnderOver.h:
767         (RenderMathMLUnderOver):
768
769 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
770
771         [Qt][WK2] Allow opaque tiles
772         https://bugs.webkit.org/show_bug.cgi?id=78809
773
774         Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
775         Use reset/didReset instead of a virtual function that has to call the superclass.
776
777         Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
778         based on the source image.
779         Since we now disable blending for opaque textures, we also have to make sure that we treat
780         the depth buffer correctly and bring it back to its previous state.
781
782         Reviewed by Kenneth Rohde Christiansen.
783
784         No behavior changes.
785
786         * platform/graphics/opengl/TextureMapperGL.cpp:
787         (TextureMapperGLData):
788         (WebCore::TextureMapperGLData::initStencil):
789         (WebCore::TextureMapperGLData::TextureMapperGLData):
790         (BitmapTextureGL):
791         (WebCore::TextureMapperGL::beginPainting):
792         (WebCore::TextureMapperGL::endPainting):
793         (WebCore::TextureMapperGL::drawTexture):
794         (WebCore::BitmapTextureGL::didReset):
795         (WebCore::BitmapTextureGL::bind):
796         (WebCore::TextureMapperGL::beginClip):
797         * platform/graphics/texmap/TextureMapper.h:
798         (WebCore::BitmapTexture::BitmapTexture):
799         (WebCore::BitmapTexture::flags):
800         (WebCore::BitmapTexture::didReset):
801         (WebCore::BitmapTexture::reset):
802         (BitmapTexture):
803         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
804         (WebCore::TextureMapperTile::updateContents):
805         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
806         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
807         (WebCore::TextureMapperTiledBackingStore::updateContents):
808         * platform/graphics/texmap/TextureMapperBackingStore.h:
809         (TextureMapperTiledBackingStore):
810         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
811         (WebCore::BitmapTextureImageBuffer::didReset):
812         (WebCore):
813         * platform/graphics/texmap/TextureMapperImageBuffer.h:
814         (BitmapTextureImageBuffer):
815
816 2012-02-17  Stephen Chenney  <schenney@chromium.org>
817
818         Crash in SVGAnimateElement due to changed target
819         https://bugs.webkit.org/show_bug.cgi?id=75096
820
821         Reviewed by Nikolas Zimmermann.
822
823         The SVGAnimateElement object creates various internal objects
824         depending on the type of property being animated, which depends on the
825         target. These objects were not being recreated when the target
826         changed, and crashes ensued. Now the SVGSMILElement provides a virtual
827         method that is called when the target changes, and SVGAnimateElement
828         updates its objects as necessary. We also deactivate the animation
829         when the target changes, forcing recomputation of other derived
830         objects.
831
832         This change also removes various unnecessary calls to semi-expensive
833         methods.
834
835         Not only does this change fix the new test, it also fixes potential
836         crashes in other tests that apparently never manifested before (but
837         manifest when this new test is included in DRT).
838
839         Test: svg/animations/svglength-animation-retarget-crash.html
840
841         * svg/SVGAnimateElement.cpp:
842         (WebCore::SVGAnimateElement::hasValidAttributeType):
843         (WebCore::SVGAnimateElement::calculateAnimatedValue):
844         (WebCore::SVGAnimateElement::calculateFromAndToValues):
845         (WebCore::SVGAnimateElement::calculateFromAndByValues):
846         (WebCore::SVGAnimateElement::resetToBaseValue):
847         (WebCore::SVGAnimateElement::calculateDistance):
848         (WebCore):
849         (WebCore::SVGAnimateElement::targetElementDidChange):
850         * svg/SVGAnimateElement.h:
851         (SVGAnimateElement):
852         * svg/SVGAnimatedTypeAnimator.h:
853         (SVGAnimatedTypeAnimator):
854         (WebCore::SVGAnimatedTypeAnimator::type):
855         * svg/animation/SVGSMILElement.cpp:
856         (WebCore::SVGSMILElement::targetElement):
857         (WebCore::SVGSMILElement::resetTargetElement):
858         (WebCore):
859         * svg/animation/SVGSMILElement.h:
860         (SVGSMILElement):
861         (WebCore::SVGSMILElement::targetElementDidChange):
862
863 2012-02-17  David Hyatt  <hyatt@apple.com>
864
865         https://bugs.webkit.org/show_bug.cgi?id=78934
866         
867         Add the -webkit-line-align property to support the alignment of lines in the inline direction
868         to the line grid.
869
870         Reviewed by Dan Bernstein.
871
872         Added fast/line-grid/line-align-parsing.html
873
874         * css/CSSComputedStyleDeclaration.cpp:
875         (WebCore):
876         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
877         * css/CSSParser.cpp:
878         (WebCore::CSSParser::parseValue):
879         * css/CSSPrimitiveValueMappings.h:
880         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
881         (WebCore):
882         (WebCore::CSSPrimitiveValue::operator LineAlign):
883         * css/CSSProperty.cpp:
884         (WebCore::CSSProperty::isInheritedProperty):
885         * css/CSSPropertyNames.in:
886         * css/CSSStyleApplyProperty.cpp:
887         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
888         * css/CSSStyleSelector.cpp:
889         (WebCore::CSSStyleSelector::applyProperty):
890         * css/CSSValueKeywords.in:
891         * rendering/style/RenderStyle.cpp:
892         (WebCore::RenderStyle::diff):
893         * rendering/style/RenderStyle.h:
894         * rendering/style/RenderStyleConstants.h:
895         * rendering/style/StyleRareInheritedData.cpp:
896         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
897         (WebCore::StyleRareInheritedData::operator==):
898         * rendering/style/StyleRareInheritedData.h:
899         (StyleRareInheritedData):
900
901 2012-02-17  Emil A Eklund  <eae@chromium.org>
902
903         Add FractionalLayoutSize for sub-pixel layout
904         https://bugs.webkit.org/show_bug.cgi?id=78852
905
906         Reviewed by Eric Seidel.
907
908         Add FractionalLayoutUnit version of Size class and a couple of
909         conversion methods to the Int and Float versions of same.
910
911         No new tests.
912
913         * CMakeLists.txt:
914         * GNUmakefile.list.am:
915         * WebCore.gypi:
916         * WebCore.vcproj/WebCore.vcproj:
917         * WebCore.xcodeproj/project.pbxproj:
918         * platform/graphics/FloatPoint.cpp:
919         (WebCore::FloatPoint::move):
920         Add FractionalLayoutSize version of move.
921
922         * platform/graphics/FloatPoint.h:
923         * platform/graphics/FloatSize.cpp:
924         (WebCore::FloatSize::FloatSize):
925         Add FloatSize(FractionalLayoutSize) constructor.
926
927         * platform/graphics/FloatSize.h:
928         * platform/graphics/FractionalLayoutSize.cpp: Added.
929         * platform/graphics/FractionalLayoutSize.h: Added.
930
931 2012-02-17  Enrica Casucci  <enrica@apple.com>
932
933         REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
934         data to the pasteboard.
935         https://bugs.webkit.org/show_bug.cgi?id=78933
936         <rdar://problem/10874553>
937         
938         For this format, the data needs to be placed in the pasteboard as array of arrays
939         of strings. Currently is it stored as array of strings, which causes the code
940         that uses this format to break.
941         
942         Reviewed by Ryosuke Niwa.
943
944         * platform/mac/PlatformPasteboardMac.mm:
945         (WebCore::PlatformPasteboard::setPathnamesForType):
946
947 2012-02-17  Abhishek Arya  <inferno@chromium.org>
948
949         Incorrect placement of a new child when beforeChild and its
950         previous sibling are in the same table.
951         https://bugs.webkit.org/show_bug.cgi?id=78269
952
953         Reviewed by Julien Chaffraix.
954
955         Tests: fast/table/table-cell-split.html
956                fast/table/table-row-split.html
957                fast/table/table-section-split-with-after-content.html
958                fast/table/table-section-split.html
959
960         * rendering/RenderBlock.cpp:
961         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
962         call to splitTablePartsAroundChild to take care of splitting the
963         table first if the child is part of table.
964         (WebCore::markTableForSectionAndCellRecalculation): add helper to
965         mark table for complete relayout by invalidating sections and cells.
966         (WebCore):
967         (WebCore::moveAllTableChildrenTo): moves children to another table.
968         (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
969         and its next siblings into a new table. This allows adding a new
970         non-table child between the tables.
971         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
972         splitTablePartsAroundChild to see if we need to split the table
973         for adding this new child.
974         * rendering/RenderBlock.h:
975         (RenderBlock):
976         * rendering/RenderObject.cpp:
977         (WebCore::RenderObject::createAnonymousTable): add helper for
978         creating anonymous table.
979         (WebCore):
980         (WebCore::RenderObject::addChild): use the new helper for creating
981         anonymous table.
982         * rendering/RenderObject.h:
983         (WebCore):
984         (RenderObject):
985         (WebCore::RenderObject::isTablePart): add helper to tell if the object
986         is a table part.
987
988 2012-02-17  Andreas Kling  <awesomekling@apple.com>
989
990         Element: Inline style selector and AX invalidation in attributeChanged().
991         <http://webkit.org/b/78888>
992
993         Reviewed by Antti Koivisto.
994
995         Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
996         methods into Element::attributeChanged(). They were separated when we needed them in
997         StyledElement::attributeChanged(), but that's no longer the case.
998
999         * dom/Element.cpp:
1000         (WebCore::Element::attributeChanged):
1001         * dom/Element.h:
1002
1003 2012-02-17  David Reveman  <reveman@chromium.org>
1004
1005         [Chromium] Texture eviction doesn't show up in traces.
1006         https://bugs.webkit.org/show_bug.cgi?id=78851
1007
1008         Reviewed by James Robinson.
1009
1010         Add TextureManager::evictTexture() function with TRACE statement so
1011         that texture eviction shows up in traces.
1012
1013         No new tests.
1014
1015         * platform/graphics/chromium/TextureManager.cpp:
1016         (WebCore::TextureManager::evictTexture):
1017         (WebCore):
1018         (WebCore::TextureManager::reduceMemoryToLimit):
1019         * platform/graphics/chromium/TextureManager.h:
1020         (TextureManager):
1021
1022 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
1023
1024         Remove unused parameters from WTF threading API
1025         https://bugs.webkit.org/show_bug.cgi?id=78389
1026
1027         Reviewed by Adam Roben.
1028
1029         waitForThreadCompletion() had an out param 'void **result' to get the
1030         'void *' returned by ThreadFunction. However, the implementation in
1031         ThreadingWin.cpp ignored the out param, not filling it in. This had
1032         led to a situation where none of the client code made use of the param
1033         and just ignored it.
1034
1035         To clean this up, the patch changes the signature of ThreadFunction to
1036         return void instead of void* and drops the the unused 'void **result'
1037         parameter from waitForThreadCompletion. Also, all client code is
1038         updated for the API change.
1039
1040         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
1041         though the change only affects internal API, Safari is using it
1042         directly and we'll need to keep the old versions around for ABI
1043         compatibility. For this, the patch adds compatibility wrappers with
1044         the old ABI.
1045
1046         * bindings/js/GCController.cpp:
1047         (WebCore::collect):
1048         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
1049         * fileapi/FileThread.cpp:
1050         (WebCore::FileThread::fileThreadStart):
1051         (WebCore::FileThread::runLoop):
1052         * fileapi/FileThread.h:
1053         (FileThread):
1054         * loader/icon/IconDatabase.cpp:
1055         (WebCore::IconDatabase::close):
1056         (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
1057         (WebCore::IconDatabase::iconDatabaseSyncThread):
1058         (WebCore::IconDatabase::syncThreadMainLoop):
1059         * loader/icon/IconDatabase.h:
1060         (IconDatabase):
1061         * page/scrolling/ScrollingThread.cpp:
1062         (WebCore::ScrollingThread::threadCallback):
1063         * page/scrolling/ScrollingThread.h:
1064         (ScrollingThread):
1065         * platform/audio/HRTFDatabaseLoader.cpp:
1066         (WebCore::databaseLoaderEntry):
1067         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
1068         * platform/audio/ReverbConvolver.cpp:
1069         (WebCore::backgroundThreadEntry):
1070         (WebCore::ReverbConvolver::~ReverbConvolver):
1071         * platform/network/cf/LoaderRunLoopCF.cpp:
1072         (WebCore::runLoaderThread):
1073         * storage/DatabaseThread.cpp:
1074         (WebCore::DatabaseThread::databaseThreadStart):
1075         (WebCore::DatabaseThread::databaseThread):
1076         * storage/DatabaseThread.h:
1077         (DatabaseThread):
1078         * storage/LocalStorageThread.cpp:
1079         (WebCore::LocalStorageThread::threadEntryPointCallback):
1080         (WebCore::LocalStorageThread::threadEntryPoint):
1081         (WebCore::LocalStorageThread::terminate):
1082         * storage/LocalStorageThread.h:
1083         (LocalStorageThread):
1084         * webaudio/AsyncAudioDecoder.cpp:
1085         (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
1086         (WebCore::AsyncAudioDecoder::threadEntry):
1087         * webaudio/AsyncAudioDecoder.h:
1088         (AsyncAudioDecoder):
1089         * webaudio/OfflineAudioDestinationNode.cpp:
1090         (WebCore::OfflineAudioDestinationNode::uninitialize):
1091         (WebCore::OfflineAudioDestinationNode::renderEntry):
1092         * webaudio/OfflineAudioDestinationNode.h:
1093         (OfflineAudioDestinationNode):
1094         * workers/WorkerThread.cpp:
1095         (WebCore::WorkerThread::workerThreadStart):
1096         (WebCore::WorkerThread::workerThread):
1097         * workers/WorkerThread.h:
1098         (WorkerThread):
1099
1100 2012-02-17  Robert Hogan  <robert@webkit.org>
1101
1102         AppleMac Build fix for r108111
1103
1104         Remove variable that is now unused.
1105
1106         Unreviewed, build fix.
1107
1108         * rendering/RenderBlockLineLayout.cpp:
1109         (WebCore::alwaysRequiresLineBox): Remove lineInfo
1110         (WebCore::requiresLineBox): 
1111         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1112
1113 2012-02-17  Michal Mocny  <mmocny@google.com>
1114
1115         [chromium] GL_CHROMIUM_gpu_memory_manager extension
1116         https://bugs.webkit.org/show_bug.cgi?id=77155
1117
1118         Reviewed by James Robinson.
1119
1120         * platform/graphics/chromium/Extensions3DChromium.h:
1121         (GpuMemoryAllocationChangedCallbackCHROMIUM):
1122         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
1123         (Extensions3DChromium):
1124
1125 2012-01-23  Robert Hogan  <robert@webkit.org>
1126
1127         REGRESSION: empty span creates renders with non-zero height
1128         https://bugs.webkit.org/show_bug.cgi?id=76465
1129
1130         Reviewed by David Hyatt.
1131
1132         Tests: fast/css/empty-span.html
1133                fast/css/non-empty-span.html
1134
1135         Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
1136         other content in the line. So only create line boxes for such elements on lines that are not empty.
1137
1138         This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
1139         It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
1140         vertical alignment or font-height of the empty inline.
1141
1142         * rendering/RenderBlockLineLayout.cpp:
1143         (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
1144         (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
1145          will need a linebox if the rest of the line is not empty.
1146         (WebCore):
1147         (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
1148         (WebCore::requiresLineBox):
1149         (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
1150          the line non-empty - otherwise hold off.
1151
1152 2012-02-17  Raymond Toy  <rtoy@google.com>
1153
1154         RealtimeAnalyserNode does not consistently respect .minDecibels
1155         https://bugs.webkit.org/show_bug.cgi?id=78729
1156
1157         Make use of m_minDecibel consistent.  Clean up some style issues
1158         with names of local variables and style issues with float
1159         constants.
1160         
1161         Reviewed by Chris Rogers.
1162
1163         No new tests because the changes are cosmetic for style issues.
1164
1165         * webaudio/RealtimeAnalyser.cpp:
1166         (WebCore):
1167         (WebCore::RealtimeAnalyser::doFFTAnalysis):
1168         (WebCore::RealtimeAnalyser::getFloatFrequencyData):
1169         (WebCore::RealtimeAnalyser::getByteFrequencyData):
1170         (WebCore::RealtimeAnalyser::getByteTimeDomainData):
1171
1172 2012-02-17  Abhishek Arya  <inferno@chromium.org>
1173
1174         :before content incorrectly placed in continuation
1175         when we don't have a first child.
1176         https://bugs.webkit.org/show_bug.cgi?id=78380
1177
1178         Reviewed by David Hyatt.
1179
1180         Test: fast/css-generated-content/before-content-continuation-chain.html
1181
1182         * rendering/RenderObjectChildList.cpp:
1183         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1184
1185 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
1186
1187         CSS regions enabled by default
1188         https://bugs.webkit.org/show_bug.cgi?id=78525
1189
1190         Reviewed by David Hyatt.
1191
1192         Test: fast/regions/css-regions-disabled.html
1193
1194         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
1195         CSSRegions are still enabled by default.
1196         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
1197
1198         * WebCore.xcodeproj/project.pbxproj:
1199         * css/CSSParser.cpp:
1200         (WebCore::CSSParser::parseValue):
1201         (WebCore::CSSParser::cssRegionsEnabled):
1202         (WebCore):
1203         (WebCore::CSSParser::parseFlowThread):
1204         (WebCore::CSSParser::parseRegionThread):
1205         (WebCore::CSSParser::createRegionRule):
1206         * css/CSSParser.h:
1207         * dom/Document.cpp:
1208         (WebCore::Document::cssRegionsEnabled):
1209         (WebCore):
1210         (WebCore::Document::webkitGetFlowByName):
1211         * dom/Document.h:
1212         (Document):
1213         * dom/Element.cpp:
1214         (WebCore::Element::webkitRegionOverflow):
1215         * dom/NodeRenderingContext.cpp:
1216         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1217         * page/Settings.cpp:
1218         (WebCore::Settings::Settings):
1219         * page/Settings.h:
1220         (WebCore::Settings::setCSSRegionsEnabled):
1221         (WebCore::Settings::cssRegionsEnabled):
1222         (Settings):
1223         * rendering/RenderFlowThread.cpp:
1224         (WebCore::RenderFlowThread::RenderFlowThread):
1225         * rendering/RenderObject.cpp:
1226         (WebCore::RenderObject::createObject):
1227         * rendering/RenderRegion.cpp:
1228         (WebCore::RenderRegion::RenderRegion):
1229
1230 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
1231
1232         [CSSRegions]Implement NamedFlow::overflow
1233         https://bugs.webkit.org/show_bug.cgi?id=78880
1234
1235         Reviewed by David Hyatt.
1236
1237         Test: fast/regions/webkit-named-flow-overflow.html
1238
1239         * dom/WebKitNamedFlow.cpp:
1240         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
1241         (WebCore::WebKitNamedFlow::overflow):
1242         (WebCore):
1243         * dom/WebKitNamedFlow.h:
1244         (WebCore):
1245         (WebCore::WebKitNamedFlow::create):
1246         (WebKitNamedFlow):
1247         * dom/WebKitNamedFlow.idl:
1248         * rendering/RenderFlowThread.cpp:
1249         (WebCore::RenderFlowThread::RenderFlowThread):
1250         (WebCore::RenderFlowThread::ensureNamedFlow):
1251         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
1252         * rendering/RenderFlowThread.h:
1253
1254 2012-02-17  Joe Thomas  <joethomas@motorola.com>
1255
1256         flex-wrap:nowrap should be flex-wrap:none
1257         https://bugs.webkit.org/show_bug.cgi?id=78772
1258
1259         As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
1260
1261         Reviewed by Ojan Vafai.
1262
1263         * css/CSSParser.cpp:
1264         (WebCore::CSSParser::parseValue):
1265         * css/CSSPrimitiveValueMappings.h:
1266         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1267         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
1268         * css/CSSValueKeywords.in:
1269         * rendering/style/RenderStyle.h:
1270         * rendering/style/RenderStyleConstants.h:
1271
1272 2012-02-17  Enrica Casucci  <enrica@apple.com>
1273
1274         Refactor DragData class to use PlatformStrategies in the Mac implementation.
1275         https://bugs.webkit.org/show_bug.cgi?id=78768
1276
1277         Reviewed by Darin Adler.
1278
1279         No new tests. No behavior change.
1280
1281         * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
1282         * platform/DragData.h:
1283         (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
1284         * platform/PasteboardStrategy.h: Added color() method.
1285         * platform/PlatformPasteboard.h: Ditto.
1286         * platform/mac/ClipboardMac.mm:
1287         (WebCore::Clipboard::create): Changed to use pasteboardName() method.
1288         * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
1289         and the pasteboardStrategy() methods.
1290         (WebCore::DragData::DragData):
1291         (WebCore::DragData::canSmartReplace):
1292         (WebCore::DragData::containsColor):
1293         (WebCore::DragData::containsFiles):
1294         (WebCore::DragData::numberOfFiles):
1295         (WebCore::DragData::asFilenames):
1296         (WebCore::DragData::containsPlainText):
1297         (WebCore::DragData::asPlainText):
1298         (WebCore::DragData::asColor):
1299         (WebCore::DragData::containsCompatibleContent):
1300         (WebCore::DragData::asURL):
1301         (WebCore::DragData::asFragment):
1302         * platform/mac/PlatformPasteboardMac.mm:
1303         (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
1304
1305 2012-02-17  Nate Chapin  <japhet@chromium.org>
1306
1307         [Chromium mac] Cursors and background images disappear.
1308         https://bugs.webkit.org/show_bug.cgi?id=78834
1309
1310         The issue occurs because a CachedImage sees that it has no clients
1311         and decide it is safe to purge its m_data buffer. However,
1312         StyleCachedImage is holding a CachedResourceHandle to the
1313         CachedImage, and it can still add a client later. If it does so,
1314         the CachedImage says everything is loaded but has no data.
1315
1316         Reviewed by Adam Barth.
1317
1318         No new tests, since the known repros have resisted reduction.
1319         Tested manually with chrome.angrybirds.com, redfin.com and a
1320         couple of other sites.
1321
1322         * rendering/style/StyleCachedImage.cpp:
1323         * rendering/style/StyleCachedImage.h: Ensure the underlying
1324             CachedImage has a client for the lifetime of the
1325             StyleCachedImage and doesn't purge its buffer. Call
1326             addClient(this) in the constructor and removeClient(this) in
1327             the destructor, then ignore all cache callbacks.
1328
1329 2012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
1330
1331         Table cell's anonymous wrappers are left in the tree, impacting our layout
1332         https://bugs.webkit.org/show_bug.cgi?id=7180
1333
1334         Reviewed by David Hyatt.
1335
1336         Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
1337                fast/table/table-switch-cell-position-bad-layout.html
1338
1339         This patch implements cell's anonymous wrapper removal at detach time.
1340
1341         Trimming the render tree when we remove objects from it would be more complex
1342         to generalize as several objects override the behavior to do their own clean-ups.
1343         This would also open more potential for programming errors.
1344
1345         This change is limited to table cells' as a simple step towards fixing bug 52123
1346         and more generally eliminate some anonymous wrappers from the tree at detach time.
1347
1348         * dom/Node.cpp:
1349         (WebCore::Node::detach):
1350         Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
1351         to clean up any anonymous wrappers on detach.
1352
1353         * rendering/RenderObject.cpp:
1354         (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1355         Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
1356         detach in some cases, added a fast path.
1357
1358         * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.
1359
1360 2012-02-17  Rob Buis  <rbuis@rim.com>
1361
1362         ASSERT (and crash) with dynamically moved <font-face>
1363         https://bugs.webkit.org/show_bug.cgi?id=64839
1364
1365         Reviewed by Antti Koivisto.
1366
1367         Reset the style declaration when rmeoving the font-face element from the document.
1368
1369         Test: svg/custom/font-face-move.svg
1370
1371         * svg/SVGFontFaceElement.cpp:
1372         (WebCore::SVGFontFaceElement::removedFromDocument):
1373
1374 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
1375
1376         Fix some warnings encountered during the GTK+ build
1377         https://bugs.webkit.org/show_bug.cgi?id=78911
1378
1379         Reviewed by Xan Lopez.
1380
1381         No new tests. These are just fixes for warnings.
1382
1383         * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
1384         a size_t type. Use size_t for iterating over members of a vector.
1385         * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
1386         (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
1387         * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
1388         (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
1389         (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
1390         (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.
1391
1392 2012-02-17  Tim Dresser  <tdresser@chromium.org>
1393
1394         [chromium] Refactor video drawing to be more data driven
1395         https://bugs.webkit.org/show_bug.cgi?id=76720
1396
1397         Reviewed by James Robinson.
1398
1399         CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
1400         These quads are then drawn by LayerRendererChromium.
1401
1402         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
1403         CCLayerImpl::didDraw() is called directly after all drawing has been completed.
1404         CCLayerImpl::draw has been removed.
1405
1406         willDraw and didDraw are used to handle interaction with the VideoFrameProvider
1407         in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
1408         didDraw returns it.
1409
1410         A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
1411         This test ensures that CCLayerImpl::didDraw() is called on all layers,
1412         including layers on different render surfaces.
1413
1414         As this was a refactor, no other tests were added.
1415
1416         * platform/graphics/chromium/LayerRendererChromium.cpp:
1417         (WebCore::LayerRendererChromium::drawYUV):
1418         (WebCore):
1419         (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
1420         (WebCore::LayerRendererChromium::drawRGBA):
1421         (WebCore::LayerRendererChromium::drawNativeTexture):
1422         (WebCore::LayerRendererChromium::copyFrameToTextures):
1423         (WebCore::LayerRendererChromium::copyPlaneToTexture):
1424         (WebCore::LayerRendererChromium::drawVideoQuad):
1425         * platform/graphics/chromium/LayerRendererChromium.h:
1426         (LayerRendererChromium):
1427         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1428         * platform/graphics/chromium/cc/CCLayerImpl.h:
1429         (WebCore::CCLayerImpl::didDraw):
1430         (CCLayerImpl):
1431         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1432         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1433         (WebCore::CCLayerTreeHostImpl::drawLayers):
1434         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1435         (CCLayerTreeHostImpl):
1436         * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
1437         (WebCore::CCVideoDrawQuad::create):
1438         (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
1439         * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
1440         (CCVideoDrawQuad):
1441         (WebCore::CCVideoDrawQuad::textures):
1442         (WebCore::CCVideoDrawQuad::frame):
1443         (WebCore::CCVideoDrawQuad::format):
1444         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1445         (WebCore::CCVideoLayerImpl::willDraw):
1446         (WebCore::CCVideoLayerImpl::appendQuads):
1447         (WebCore::CCVideoLayerImpl::didDraw):
1448         (WebCore::CCVideoLayerImpl::computeVisibleSize):
1449         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1450         (CCVideoLayerImpl):
1451         (WebCore::CCVideoLayerImpl::providerMutex):
1452         (WebCore::CCVideoLayerImpl::provider):
1453         (Texture):
1454
1455 2012-02-17  Stephen Chenney  <schenney@chromium.org>
1456
1457         Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
1458         https://bugs.webkit.org/show_bug.cgi?id=77639
1459
1460         Reviewed by Nikolas Zimmermann.
1461
1462         Fix a SVG crash in Release builds, although it still crashes in Debug builds.
1463         The crash occurred when an SVG use element attempted to reference a style element while the file
1464         contained an error causing the error banner to display. The fix is to prevent SVGUseElement
1465         from recalculating style during tree building and return immediately when style is recalculated and
1466         the tree is building.
1467
1468         Test: svg/custom/use-referencing-style-crash.svg
1469
1470         * svg/SVGUseElement.cpp:
1471         (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
1472         (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
1473         is being built and we are not yet ready for style update.
1474
1475 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
1476
1477         Unreviewed, rolling out r108077.
1478         http://trac.webkit.org/changeset/108077
1479         https://bugs.webkit.org/show_bug.cgi?id=78390
1480
1481         it broke compilation.
1482
1483         * inspector/CodeGeneratorInspector.py:
1484         * inspector/InjectedScript.cpp:
1485         (WebCore::InjectedScript::evaluateOnCallFrame):
1486         (WebCore::InjectedScript::getFunctionDetails):
1487         (WebCore::InjectedScript::getProperties):
1488         (WebCore::InjectedScript::wrapCallFrames):
1489         * inspector/InjectedScript.h:
1490         (InjectedScript):
1491         * inspector/InspectorDebuggerAgent.cpp:
1492         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1493         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1494         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1495         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1496         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1497         (WebCore::InspectorDebuggerAgent::didParseSource):
1498         * inspector/InspectorDebuggerAgent.h:
1499         (InspectorDebuggerAgent):
1500
1501 2012-02-17  Florin Malita  <fmalita@google.com>
1502
1503         chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
1504         https://bugs.webkit.org/show_bug.cgi?id=74858
1505
1506         Reviewed by Nikolas Zimmermann.
1507
1508         Tests: svg/custom/tref-remove-target-crash-expected.svg
1509                svg/custom/tref-remove-target-crash.svg
1510
1511         Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
1512         cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
1513         at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
1514         the target element to simplify the implementation and reduce the scope.
1515
1516         * svg/SVGTRefElement.cpp:
1517         (WebCore::TargetListener::create):
1518         (WebCore::TargetListener::cast):
1519         (WebCore::TargetListener::clear):
1520         (WebCore::TargetListener::TargetListener):
1521         (WebCore::TargetListener::operator==):
1522         (WebCore::TargetListener::handleEvent):
1523         (WebCore::SVGTRefElement::detachTarget):
1524         (WebCore::SVGTRefElement::buildPendingResource):
1525         * svg/SVGTRefElement.h:
1526
1527 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
1528
1529         Fix the build after r108077.
1530
1531         * inspector/CodeGeneratorInspector.py:
1532         (RawTypes.Any.generate_validate_method):
1533
1534 2012-02-17  Simon Fraser  <simon.fraser@apple.com>
1535
1536         Avoid using a transparency layer for rgba() border drawing when possible
1537         https://bugs.webkit.org/show_bug.cgi?id=63176
1538
1539         Reviewed by Dan Bernstein.
1540         
1541         The non-radiused border drawing code would use a transparency layer
1542         when drawing any one or more borders with alpha colors. However,
1543         we only need to use a transparency layer when there is a corner
1544         join between the borders being rendered with any one color,
1545         so add a utility function includesAdjacentEdges() that can tell us
1546         that, and use it to avoid making extraneous transparency layers.
1547
1548         Optimization only, no new tests.
1549
1550         * rendering/RenderBoxModelObject.cpp:
1551         (WebCore::includesAdjacentEdges):
1552         (WebCore):
1553         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
1554
1555 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1556
1557         Not reviewed: Qt minimal build fix.
1558
1559         * inspector/InjectedScript.h:
1560         (WebCore):
1561
1562 2012-02-17  Peter Rybin  <peter.rybin@gmail.com>
1563
1564         Web Inspector: Switch Debugger agent to TypeBuilder
1565         https://bugs.webkit.org/show_bug.cgi?id=78390
1566
1567         Reviewed by Vsevolod Vlasov.
1568
1569         Client code is switched to TypeBuilder.
1570
1571         * inspector/CodeGeneratorInspector.py:
1572         * inspector/InjectedScript.cpp:
1573         (WebCore::InjectedScript::evaluateOnCallFrame):
1574         (WebCore::InjectedScript::getFunctionDetails):
1575         (WebCore::InjectedScript::getProperties):
1576         (WebCore::InjectedScript::wrapCallFrames):
1577         * inspector/InjectedScript.h:
1578         (InjectedScript):
1579         * inspector/InspectorDebuggerAgent.cpp:
1580         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
1581         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1582         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1583         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1584         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1585         (WebCore::InspectorDebuggerAgent::didParseSource):
1586         * inspector/InspectorDebuggerAgent.h:
1587         (InspectorDebuggerAgent):
1588
1589 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1590
1591         Web Inspector: hide color picker on selected node update.
1592         https://bugs.webkit.org/show_bug.cgi?id=78896
1593
1594         Reviewed by Vsevolod Vlasov.
1595
1596         * inspector/front-end/Spectrum.js:
1597         (WebInspector.Spectrum.prototype.get visible):
1598         (WebInspector.Spectrum.prototype.toggle):
1599         (WebInspector.Spectrum.prototype.show):
1600         * inspector/front-end/StylesSidebarPane.js:
1601         (WebInspector.StylesSidebarPane.prototype.update):
1602         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1603
1604 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1605
1606         Web Inspector: check undo-redo boundaries based on current action index, not history size.
1607         https://bugs.webkit.org/show_bug.cgi?id=78895
1608
1609         Reviewed by Vsevolod Vlasov.
1610
1611         Tests: inspector/elements/perform-undo-undo.html
1612                inspector/styles/perform-undo-perform-of-mergable-action.html
1613
1614         * inspector/InspectorHistory.cpp:
1615         (WebCore::InspectorHistory::perform):
1616
1617 2012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
1618
1619         Unreviewed, rolling out r108071.
1620         http://trac.webkit.org/changeset/108071
1621         https://bugs.webkit.org/show_bug.cgi?id=77155
1622
1623         chromium-mac compilation failed
1624
1625         * platform/graphics/chromium/Extensions3DChromium.h:
1626
1627 2012-02-17  Michal Mocny  <mmocny@google.com>
1628
1629         [chromium] GL_CHROMIUM_gpu_memory_manager extension
1630         https://bugs.webkit.org/show_bug.cgi?id=77155
1631
1632         Reviewed by James Robinson.
1633
1634         * platform/graphics/chromium/Extensions3DChromium.h:
1635         (GpuMemoryAllocationChangedCallbackCHROMIUM):
1636         (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
1637         (Extensions3DChromium):
1638
1639 2012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
1640
1641         [CMake, EFL] Unreviewed, fix the build when building with
1642         SHARED_CORE=ON after r107820.
1643
1644         RunLoopEfl.cpp has not been upstreamed yet, and building only
1645         RunLoop.cpp created an .so with some missing, unimplemented
1646         symbols. The BlackBerry port seems to be in the same situation.
1647
1648         The best solution for now is to build RunLoop.cpp only on the
1649         WinCE port.
1650
1651         * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
1652         * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.
1653
1654 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1655
1656         Web Inspector: a bit of color picker polish
1657         https://bugs.webkit.org/show_bug.cgi?id=78892
1658
1659         - Fixed computed style swatch
1660         - Removed color: caption
1661         - Rendered value as source code, user-selectable
1662         - Removed scroller gap
1663
1664         Reviewed by Yury Semikhatsky.
1665
1666         * English.lproj/localizedStrings.js:
1667         * inspector/front-end/Popover.js:
1668         (WebInspector.Popover.prototype.setCanShrink):
1669         (WebInspector.Popover.prototype._positionElement):
1670         * inspector/front-end/Spectrum.js:
1671         * inspector/front-end/StylesSidebarPane.js:
1672         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
1673         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1674         * inspector/front-end/elementsPanel.css:
1675         (.spectrum-container):
1676         (.spectrum-display-value):
1677         (.spectrum-range-container):
1678         * inspector/front-end/popover.css:
1679         (.popover .content.fixed-height):
1680
1681 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1682
1683         Web Inspector: color picker does not allow changing the color.
1684         https://bugs.webkit.org/show_bug.cgi?id=78886
1685
1686         Reviewed by Vsevolod Vlasov.
1687
1688         * inspector/front-end/ElementsPanel.js:
1689         (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
1690         * inspector/front-end/Popover.js:
1691         (WebInspector.Popover.prototype.setCanShrink):
1692         (WebInspector.Popover.prototype._positionElement):
1693         * inspector/front-end/Settings.js:
1694         * inspector/front-end/Spectrum.js:
1695         * inspector/front-end/StylesSidebarPane.js:
1696         (WebInspector.StylesSidebarPane):
1697         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
1698
1699 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1700
1701         Web Inspector: new image preview has poorly positioned popover arrow.
1702         https://bugs.webkit.org/show_bug.cgi?id=78884
1703
1704         Reviewed by Vsevolod Vlasov.
1705
1706         * inspector/front-end/Popover.js:
1707         (WebInspector.Popover.prototype._positionElement):
1708         * inspector/front-end/utilities.js:
1709         (Element.prototype.boxInWindow):
1710
1711 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1712
1713         Web Inspector: enable "Single click CSS editing" experiment by default.
1714         https://bugs.webkit.org/show_bug.cgi?id=78881
1715
1716         Reviewed by Vsevolod Vlasov.
1717
1718         * inspector/front-end/elementsPanel.css:
1719         (.styles-section .properties .enabled-button):
1720
1721 2012-02-17  Pavel Feldman  <pfeldman@google.com>
1722
1723         Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
1724         https://bugs.webkit.org/show_bug.cgi?id=78827
1725
1726         Reviewed by Vsevolod Vlasov.
1727
1728         * inspector/front-end/StylesSidebarPane.js:
1729         (WebInspector.StylesSidebarPane.prototype.update):
1730         (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
1731         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
1732         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
1733         (WebInspector.StylesSidebarPane.prototype._validateNode):
1734         (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
1735         (WebInspector.StylesSidebarPane.prototype._attributesModified):
1736         (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
1737         (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
1738         (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
1739         (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
1740         (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
1741         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
1742         (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
1743         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
1744         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
1745         (WebInspector.StylePropertyTreeElement.prototype):
1746
1747 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1748
1749         [Qt][WK2] Allow partial updates
1750         https://bugs.webkit.org/show_bug.cgi?id=78824
1751
1752         BitmapTextureGL should not zero-fill the textures when resetting.
1753         This was needed in the previous buffer management system, where texture were not completely
1754         filled by the backing store.
1755
1756         Reviewed by Simon Hausmann.
1757
1758         No new behavior.
1759
1760         * platform/graphics/opengl/TextureMapperGL.cpp:
1761         (BitmapTextureGL):
1762         (WebCore::texSubImage2DResourceSafe):
1763         (WebCore):
1764         (WebCore::BitmapTextureGL::reset):
1765
1766 2012-02-17  Yosifumi Inoue  <yosin@chromium.org>
1767
1768         [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
1769         https://bugs.webkit.org/show_bug.cgi?id=78873
1770
1771         Reviewed by Kent Tamura.
1772
1773         This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
1774         and merge dispatchChangeEventInResponseToSetValue to setValue.
1775
1776         No new tests. No change in behavior.
1777
1778         * html/HTMLInputElement.cpp:
1779         (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
1780         * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
1781         * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
1782         (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
1783         * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
1784         * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
1785         (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
1786         * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.
1787
1788 2012-02-17  Yury Semikhatsky  <yurys@chromium.org>
1789
1790         Unreviewed. Mac build fix after r108047.
1791
1792         * WebCore.xcodeproj/project.pbxproj:
1793
1794 2012-02-16  Andreas Kling  <awesomekling@apple.com>
1795
1796         Removing the last presentation attribute should result in a null attributeStyle().
1797         <http://webkit.org/b/78812>
1798
1799         Reviewed by Antti Koivisto.
1800
1801         If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
1802         respected presentation attributes, set a null attributeStyle() instead of an empty one.
1803
1804         * css/CSSStyleSelector.cpp:
1805         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1806         * dom/StyledElement.cpp:
1807         (WebCore::StyledElement::updateAttributeStyle):
1808
1809 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
1810
1811         Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
1812         https://bugs.webkit.org/show_bug.cgi?id=78825
1813
1814         Introduced static counters of allocated Documents, Nodes and JS EventListeners.
1815         Their values are displayed on the Timeline panel.
1816
1817         Reviewed by Pavel Feldman.
1818
1819         * CMakeLists.txt:
1820         * English.lproj/localizedStrings.js:
1821         * GNUmakefile.list.am:
1822         * Target.pri:
1823         * WebCore.gypi:
1824         * WebCore.vcproj/WebCore.vcproj:
1825         * WebCore.xcodeproj/project.pbxproj:
1826         * bindings/js/JSEventListener.cpp:
1827         (WebCore::JSEventListener::JSEventListener):
1828         (WebCore::JSEventListener::~JSEventListener):
1829         * bindings/v8/V8AbstractEventListener.cpp:
1830         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
1831         (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
1832         * dom/Document.cpp:
1833         (WebCore::Document::Document):
1834         (WebCore::Document::~Document):
1835         * dom/Document.h:
1836         (WebCore::Node::Node):
1837         * dom/Node.cpp:
1838         (WebCore::Node::~Node):
1839         * inspector/InspectorAllInOne.cpp:
1840         * inspector/InspectorController.cpp:
1841         (WebCore::InspectorController::InspectorController):
1842         * inspector/InspectorCounters.cpp: Added.
1843         (WebCore):
1844         (WebCore::InspectorCounters::counterValue):
1845         * inspector/InspectorCounters.h: Added.
1846         (WebCore):
1847         (InspectorCounters):
1848         (WebCore::InspectorCounters::incrementCounter):
1849         (WebCore::InspectorCounters::decrementCounter):
1850         * inspector/InspectorTimelineAgent.cpp:
1851         (WebCore::InspectorTimelineAgent::didCallFunction):
1852         (WebCore::InspectorTimelineAgent::didDispatchEvent):
1853         (WebCore::InspectorTimelineAgent::didWriteHTML):
1854         (WebCore::InspectorTimelineAgent::didFireTimer):
1855         (WebCore::InspectorTimelineAgent::didEvaluateScript):
1856         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
1857         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1858         * inspector/InspectorTimelineAgent.h:
1859         (WebCore):
1860         (WebCore::InspectorTimelineAgent::create):
1861         (InspectorTimelineAgent):
1862         * inspector/front-end/MemoryStatistics.js:
1863         (WebInspector.MemoryStatistics):
1864         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
1865         (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
1866         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
1867         * inspector/front-end/TimelinePanel.js:
1868         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
1869
1870 2012-02-16  Cris Neckar  <cdn@chromium.org>
1871
1872         Correct a misleading comment regarding string delimiters in CSS parsing.
1873         https://bugs.webkit.org/show_bug.cgi?id=78521
1874
1875         Reviewed by Zoltan Herczeg.
1876
1877         * css/CSSParser.cpp:
1878         (WebCore::CSSParser::lex):
1879
1880 2012-02-16  Martin Robinson  <mrobinson@igalia.com>
1881
1882         Fix the TextureMapper build for GTK+.
1883
1884         No new tests. This is just a build fix.
1885
1886         * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.
1887
1888 2012-02-16  Daniel Bates  <dbates@webkit.org>
1889
1890         Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 
1891
1892         The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
1893         referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
1894         guard around its declaration.
1895
1896         * html/HTMLStyleElement.h:
1897         (HTMLStyleElement):
1898
1899 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
1900
1901         [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
1902         https://bugs.webkit.org/show_bug.cgi?id=78875
1903
1904         Reviewed by Kentaro Hara.
1905
1906         Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
1907         was saved in DOMObject storage instead of DOMNode storage.
1908
1909         CodeGenerator should handle with DOMNode correctly to solve the problem.
1910
1911         Test: fast/dom/shadow/shadow-root-new.html
1912
1913         * bindings/scripts/CodeGeneratorV8.pm:
1914         (GenerateConstructorCallback):
1915
1916 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
1917
1918         Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
1919         see http://webkit.org/b/78832
1920
1921         * CMakeLists.txt:
1922         * DerivedSources.cpp:
1923         * DerivedSources.make:
1924         * DerivedSources.pri:
1925         * GNUmakefile.list.am:
1926         * Target.pri:
1927         * WebCore.gypi:
1928         * WebCore.xcodeproj/project.pbxproj:
1929         * dom/DOMAllInOne.cpp:
1930         * dom/EventDispatchMediator.cpp:
1931         (WebCore::FocusEventDispatchMediator::create):
1932         (WebCore):
1933         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1934         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1935         (WebCore::BlurEventDispatchMediator::create):
1936         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1937         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1938         * dom/EventDispatchMediator.h:
1939         (FocusEventDispatchMediator):
1940         (WebCore):
1941         (BlurEventDispatchMediator):
1942         * dom/EventFactory.in:
1943         * dom/FocusEvent.cpp: Removed.
1944         * dom/FocusEvent.h: Removed.
1945         * dom/FocusEvent.idl: Removed.
1946         * dom/Node.cpp:
1947         (WebCore::Node::dispatchFocusInEvent):
1948         (WebCore::Node::dispatchFocusOutEvent):
1949         * dom/UIEvent.cpp:
1950         (WebCore::FocusInEventDispatchMediator::create):
1951         (WebCore):
1952         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
1953         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
1954         (WebCore::FocusOutEventDispatchMediator::create):
1955         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
1956         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
1957         * dom/UIEvent.h:
1958         (FocusInEventDispatchMediator):
1959         (WebCore):
1960         (FocusOutEventDispatchMediator):
1961         * page/DOMWindow.idl:
1962
1963 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1964
1965         Another fix for viewport tests
1966
1967         No new tests.
1968
1969         * dom/ViewportArguments.cpp:
1970         (WebCore::numericPrefix): When we don't parse a number, we could either be 
1971         trying to parse junk, which returns NaN, or we could get an empty string, 
1972         which returns 0, so we need to account for that in the assert.
1973
1974 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
1975
1976         Another build fix for viewport tests
1977
1978         No new tests.
1979
1980         * dom/ViewportArguments.cpp:
1981         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
1982         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
1983         we have NaN rather than 0.
1984
1985 2012-02-16  Alexandre Elias  <aelias@google.com>
1986
1987         [chromium] Bundle page scale factor and limits in CCLayerTreeHost
1988         https://bugs.webkit.org/show_bug.cgi?id=78762
1989
1990         Setting page scale factor and its limits in separate methods
1991         may cause clamping bugs if one of them makes it to the
1992         impl thread before the other.  Change the API to bundle them together,
1993         which matches the existing impl-side interface.
1994
1995         Reviewed by James Robinson.
1996
1997         No new tests (API change will disallow this type of bug).
1998
1999         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2000         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2001         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2002         (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
2003         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2004         (CCLayerTreeHost):
2005
2006 2012-02-16  Kentaro Hara  <haraken@chromium.org>
2007
2008         Unreviewed. Rebaselined run-bindings-tests results.
2009
2010         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2011         (WebCore::JSTestEventConstructorConstructor::finishCreation):
2012         * bindings/scripts/test/JS/JSTestInterface.cpp:
2013         (WebCore::JSTestInterfaceConstructor::finishCreation):
2014         * bindings/scripts/test/JS/JSTestObj.cpp:
2015         (WebCore::JSTestObjConstructor::finishCreation):
2016         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2017         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
2018
2019 2012-02-16  Sami Kyostila  <skyostil@chromium.org>
2020
2021         [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
2022         https://bugs.webkit.org/show_bug.cgi?id=77464
2023
2024         Use bounds() instead of contentBounds() to calculate the region to mark
2025         as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
2026         includes contents scale, while bounds() does not.
2027
2028         Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
2029         given an unscaled rectangle, modify that function to scale the rectangle before
2030         using it to invalidate the underlying tiles.
2031
2032         Reviewed by James Robinson.
2033
2034         Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.
2035
2036         * platform/graphics/chromium/LayerChromium.h:
2037         (WebCore::LayerChromium::setNeedsDisplay):
2038         * platform/graphics/chromium/TiledLayerChromium.cpp:
2039         (WebCore::TiledLayerChromium::setNeedsDisplayRect):
2040
2041 2012-02-16  Raymond Liu  <raymond.liu@intel.com>
2042
2043         Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
2044         https://bugs.webkit.org/show_bug.cgi?id=76509
2045
2046         Reviewed by Eric Seidel.
2047
2048         No new tests required.
2049
2050         * webaudio/AudioDestinationNode.h:
2051         * webaudio/AudioNode.h:
2052         (WebCore::AudioNode::sampleRate):
2053         * webaudio/DefaultAudioDestinationNode.cpp:
2054         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
2055         * webaudio/DefaultAudioDestinationNode.h:
2056         * webaudio/OfflineAudioDestinationNode.cpp:
2057         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
2058         * webaudio/OfflineAudioDestinationNode.h:
2059         (WebCore::OfflineAudioDestinationNode::sampleRate):
2060
2061 2012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
2062
2063         [Refactoring] Remove location from NodeRenderingContext.
2064         https://bugs.webkit.org/show_bug.cgi?id=78796
2065
2066         Reviewed by Hajime Morita.
2067
2068         This is a simple refactoring to remove m_location from NodeRenderingContext.
2069         TreeLocation is merged into AttachPhase like the following.
2070             LocationUndertermined -> Calculating
2071             LocationNotInTree -> AttachingNotInTree
2072             LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
2073             LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback
2074
2075         We have renamed the enum items of AttachPhase, because not only <content> but also
2076         <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
2077         'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.
2078
2079         No new tests, no change in behavior.
2080
2081         * dom/NodeRenderingContext.cpp:
2082         (WebCore::NodeRenderingContext::NodeRenderingContext):
2083         (WebCore::NodeRenderingContext::nextRenderer):
2084         (WebCore::NodeRenderingContext::previousRenderer):
2085         (WebCore::NodeRenderingContext::parentRenderer):
2086         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2087         * dom/NodeRenderingContext.h:
2088         (NodeRenderingContext):
2089         (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
2090
2091 2012-02-16  Kent Tamura  <tkent@chromium.org>
2092
2093         Run sort-Xcode-project-file.
2094
2095         * WebCore.xcodeproj/project.pbxproj: Sorted.
2096
2097 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
2098
2099         Another build fix for viewport tests
2100
2101         No new tests.
2102
2103         * dom/ViewportArguments.cpp:
2104         (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
2105         parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
2106         we have NaN rather than 0.
2107
2108 2012-02-15  Michael Nordman  <michaeln@google.com>
2109
2110         [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
2111         https://bugs.webkit.org/show_bug.cgi?id=78841
2112
2113         WebDatabase now delegates this function entirely to DatabaseTracker,
2114         a new closeDatabasesImmediately() has been added for that purpose. That
2115         method posts tasks to the appropiate context thread for each database
2116         instance that should be closed immediately.
2117
2118         The DatabaseTracker getAllOpenDatabases() method has been removed from
2119         the chromium impl because it's unsafe, refs cannot be safely taken on
2120         AbstractDatabase instances in the tracker's collection of open databases.
2121
2122         Add a message to the console log when a database is forcibly closed.
2123
2124         Transactions initiated on a database instance that has been forcibly
2125         closed complete with a transaction error callback.
2126         
2127         This is part of resolving http://crbug.com/98939
2128
2129         Reviewed by David Levin.
2130
2131         No new layout tests, there is no common code way to closeImmediately.
2132         We have coverage for this in py automation tests.
2133
2134         * platform/sql/SQLiteDatabase.cpp:
2135         The closeImmediately code path can result in the underlying sqlite3 handle being
2136         closed earlier than usual and trip some assertions. Updated the assertions to no
2137         longer trigger in this early close case.
2138         (WebCore::SQLiteDatabase::close):
2139         (WebCore::SQLiteDatabase::setMaximumSize):
2140         * platform/sql/SQLiteDatabase.h:
2141         (WebCore::SQLiteDatabase::sqlite3Handle):
2142
2143         * storage/Database.cpp:
2144         (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
2145         (WebCore::Database::changeVersion): Use the private runTransaction helper method.
2146         (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
2147         (WebCore::Database::readTransaction): Ditto.
2148         (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
2149         (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
2150         to invoke the error callback in that case. This also avoids creating a reference cycle between
2151         a newly created transaction and the database that previously existed due to a transction being
2152         added and never removed from the Q while in this state.
2153         * storage/Database.h:
2154         * storage/DatabaseSync.cpp:
2155         (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
2156         * storage/DatabaseTracker.h:
2157
2158         * storage/chromium/DatabaseTrackerChromium.cpp:
2159         Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
2160         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
2161         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
2162         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
2163         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
2164         (WebCore::DatabaseTracker::closeDatabasesImmediately): 
2165         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
2166
2167 2012-02-16  Dana Jansens  <danakj@chromium.org>
2168
2169         [Chromium] Occlusion tracking with CSS filters
2170         https://bugs.webkit.org/show_bug.cgi?id=77498
2171
2172         Reviewed by James Robinson.
2173
2174         The new CSS filter support within the compositor changes how
2175         occlusion tracking needs to function. A filter can change the
2176         alpha value of pixels, making an otherwise opaque pixel no
2177         longer so. Secondly, a filter may move color values around
2178         on a surface, which can cause otherwise occluded areas to
2179         become visible and require painting.
2180
2181         New unit tests: CCLayerTreeHostTest.cpp
2182
2183         Tests: compositing/culling/filter-occlusion-alpha-large.html
2184                compositing/culling/filter-occlusion-alpha.html
2185                compositing/culling/filter-occlusion-blur-large.html
2186                compositing/culling/filter-occlusion-blur.html
2187
2188         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2189         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2190         * platform/graphics/chromium/RenderSurfaceChromium.h:
2191         (WebCore::RenderSurfaceChromium::setFilters):
2192         (WebCore::RenderSurfaceChromium::filters):
2193         (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
2194         (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
2195         (RenderSurfaceChromium):
2196         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2197         (WebCore::enterTargetRenderSurface):
2198         (WebCore::CCLayerTreeHost::paintLayerContents):
2199         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2200         (WebCore::subtreeShouldRenderToSeparateSurface):
2201         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2202         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
2203         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2204         (WebCore::CCRenderSurface::CCRenderSurface):
2205         * platform/graphics/chromium/cc/CCRenderSurface.h:
2206         (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
2207         (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
2208         (CCRenderSurface):
2209         * platform/graphics/filters/FilterOperation.h:
2210         (FilterOperation):
2211         (WebCore::FilterOperation::affectsOpacity):
2212         (WebCore::FilterOperation::movesPixels):
2213         (WebCore::ReferenceFilterOperation::affectsOpacity):
2214         (WebCore::ReferenceFilterOperation::movesPixels):
2215         (ReferenceFilterOperation):
2216         (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
2217         (BasicComponentTransferFilterOperation):
2218         (WebCore::BlurFilterOperation::affectsOpacity):
2219         (WebCore::BlurFilterOperation::movesPixels):
2220         (BlurFilterOperation):
2221         (WebCore::DropShadowFilterOperation::affectsOpacity):
2222         (DropShadowFilterOperation):
2223         * platform/graphics/filters/FilterOperations.cpp:
2224         (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
2225         (WebCore):
2226         (WebCore::FilterOperations::hasFilterThatMovesPixels):
2227         * platform/graphics/filters/FilterOperations.h:
2228         (WebCore::FilterOperations::isEmpty):
2229         (FilterOperations):
2230
2231 2012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>
2232
2233         [BlackBerry] Adapt to the removal of WebStringIml.h
2234         https://bugs.webkit.org/show_bug.cgi?id=78784
2235
2236         Reviewed by Antonio Gomes.
2237
2238         WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
2239         has been removed internally. We should adapt to this removal for the
2240         upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
2241         because it just inherits from WTF::StringImpl but adding nothing.
2242
2243         No functionalities changed, no new tests.
2244
2245         * platform/text/blackberry/StringBlackBerry.cpp:
2246         (WTF::String::operator WebString):
2247
2248 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
2249
2250         Made Weak<T> single-owner, adding PassWeak<T>
2251         https://bugs.webkit.org/show_bug.cgi?id=78740
2252
2253         Reviewed by Sam Weinig.
2254
2255         * bindings/js/JSDOMBinding.cpp:
2256         (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
2257         hash map API.
2258
2259         * bindings/js/JSDOMBinding.h:
2260         (WebCore::getCachedWrapper):
2261         (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
2262         our new hash map API.
2263
2264         * bindings/js/JSEventListener.h:
2265         (WebCore::JSEventListener::setWrapper):
2266         * bindings/js/ScriptWrappable.h:
2267         (WebCore::ScriptWrappable::setWrapper):
2268         * bridge/jsc/BridgeJSC.cpp:
2269         (JSC::Bindings::Instance::createRuntimeObject):
2270         * bridge/runtime_root.cpp:
2271         (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
2272         required by our new hash map and Weak<T> APIs.
2273
2274 2012-02-16  Ryosuke Niwa  <rniwa@webkit.org>
2275
2276         Crash in visiblePositionForIndex
2277         https://bugs.webkit.org/show_bug.cgi?id=77683
2278
2279         Reviewed by Eric Seidel.
2280
2281         Fixed the crash.
2282
2283         Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
2284
2285         * editing/ApplyBlockElementCommand.cpp:
2286         (WebCore::ApplyBlockElementCommand::doApply):
2287         * editing/InsertListCommand.cpp:
2288         (WebCore::InsertListCommand::doApply):
2289         * editing/htmlediting.cpp:
2290         (WebCore::indexForVisiblePosition):
2291         * editing/htmlediting.h:
2292         (WebCore):
2293
2294 2012-02-16  Matthew Delaney  <mdelaney@apple.com>
2295
2296         ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
2297         https://bugs.webkit.org/show_bug.cgi?id=78765
2298
2299         Reviewed by Simon Fraser.
2300
2301         No new tests due to the flaky nature of reproducing the issue.
2302
2303         * platform/graphics/ShadowBlur.cpp:
2304         (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
2305         when we create a new ImageBuffer in order to invalidate cached values.
2306         (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
2307         of cached values into one method to enforce them being the same.
2308         (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.
2309
2310         Restructure to use new method described above.
2311         (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
2312         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2313         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2314         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2315         (WebCore::ShadowBlur::beginShadowLayer):
2316
2317 2012-02-16  Dana Jansens  <danakj@chromium.org>
2318
2319         [chromium] Empty divs not transforming overflow correctly
2320         https://bugs.webkit.org/show_bug.cgi?id=78850
2321
2322         Reviewed by James Robinson.
2323
2324         Test: compositing/overflow/transform-in-empty-container.html
2325
2326         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2327         (WebCore::GraphicsLayerChromium::setSize):
2328
2329 2012-02-16  Emil A Eklund  <eae@chromium.org>
2330
2331         Fix use of long long in FractionalLayoutUnit::setRawValue
2332         https://bugs.webkit.org/show_bug.cgi?id=78835
2333
2334         Reviewed by Eric Seidel.
2335
2336         Change setRawValue(long long) to compare against int min and max instead
2337         of using abs as not all platforms we support implement a long long
2338         version of abs or llabs.
2339
2340         No new tests.
2341
2342         * platform/FractionalLayoutUnit.h:
2343         (WebCore::FractionalLayoutUnit::setRawValue):
2344         Compare against int min/max instead of just max with abs.
2345         
2346         (WebCore::FractionalLayoutUnit::isInBounds):
2347         Fix type mismatch warning.
2348         
2349         (WebCore::operator==):
2350         Fix typo.
2351         
2352         (WebCore::operator*):
2353         Use long long version of setRawValue.
2354
2355 2012-02-15  Shinya Kawanaka  <shinyak@chromium.org>
2356
2357         Add an internal flag to accept multiple shadow roots for the purpose of tests.
2358         https://bugs.webkit.org/show_bug.cgi?id=78453
2359
2360         Reviewed by Hajime Morita.
2361
2362         This patch introduces a flag to enable multiple shadow subtrees.
2363         This flag is intended to be used for testing purpose for a while.
2364         We will remove it later.
2365
2366         No new tests, no change in behavior.
2367
2368         * WebCore.exp.in:
2369         * bindings/generic/RuntimeEnabledFeatures.cpp:
2370         (WebCore):
2371         * bindings/generic/RuntimeEnabledFeatures.h:
2372         (RuntimeEnabledFeatures):
2373         (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
2374         (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
2375         * dom/ShadowRoot.cpp:
2376         (WebCore::ShadowRoot::create):
2377         * dom/ShadowRootList.cpp:
2378         (WebCore::ShadowRootList::pushShadowRoot):
2379         * testing/Internals.cpp:
2380         (WebCore::Internals::setMultipleShadowSubtreesEnabled):
2381         (WebCore):
2382         * testing/Internals.h:
2383         (Internals):
2384         * testing/Internals.idl:
2385
2386 2012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
2387
2388         Fix the broken viewport tests
2389         https://bugs.webkit.org/show_bug.cgi?id=78774
2390
2391         Reviewed by Kenneth Rohde Christiansen.
2392
2393         No new tests.
2394
2395         * dom/ViewportArguments.cpp:
2396         (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).
2397
2398 2012-02-16  Cris Neckar  <cdn@chromium.org>
2399
2400         Very large strings could cause the new quoted string to wrap.
2401         https://bugs.webkit.org/show_bug.cgi?id=78387
2402
2403         Reviewed by Eric Seidel.
2404
2405         * css/CSSParser.cpp:
2406         (WebCore::quoteCSSString):
2407
2408 2012-02-16  Eric Seidel  <eric@webkit.org>
2409
2410         Add a themeChromiumAndroid.css file for android-specific default styles
2411         https://bugs.webkit.org/show_bug.cgi?id=78547
2412
2413         Reviewed by Adam Barth.
2414
2415         This includes the themeChromiumAndroid.css file from the Chromium-Android port
2416         as well as some addidtional changes they had to html.css.  I believe those
2417         changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS.
2418
2419         * WebCore.gyp/WebCore.gyp:
2420         * css/themeChromiumAndroid.css: Added.
2421         (select[size][multiple]):
2422         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
2423         * rendering/RenderThemeChromiumAndroid.cpp:
2424         (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet):
2425         (WebCore):
2426         * rendering/RenderThemeChromiumAndroid.h:
2427         (RenderThemeChromiumAndroid):
2428         (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering):
2429         (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor):
2430
2431 2012-02-16  Brady Eidson  <beidson@apple.com>
2432
2433         <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
2434         REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages
2435
2436         Reviewed by Sam Weinig.
2437
2438         No new tests. (Subtle API change attached to a specific application)
2439
2440         * loader/DocumentLoader.cpp:
2441         (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk
2442         and there are outstanding subresource loads.
2443
2444         * page/Settings.cpp:
2445         (WebCore::Settings::Settings):
2446         * page/Settings.h:
2447         (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk):
2448         (WebCore::Settings::needsIsLoadingInAPISenseQuirk):
2449         (Settings):
2450
2451 2012-02-16  Kentaro Hara  <haraken@chromium.org>
2452
2453         Remove [ConvertScriptString] from FileReaderSync.idl
2454         https://bugs.webkit.org/show_bug.cgi?id=78335
2455
2456         Reviewed by Eric Seidel.
2457
2458         The spec says that FileReadSync should throw NOT_FOUND_ERR
2459         if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync
2460
2461         By this fix, we can completely remove [ConvertScriptString] from WebKit.
2462
2463         Tests: fast/files/workers/worker-read-blob-sync.html
2464                fast/files/workers/worker-read-file-sync.html
2465
2466         * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid.
2467         (WebCore::FileReaderSync::readAsArrayBuffer):
2468         (WebCore::FileReaderSync::readAsBinaryString):
2469         (WebCore::FileReaderSync::readAsText):
2470         (WebCore::FileReaderSync::readAsDataURL):
2471         * fileapi/FileReaderSync.idl:
2472
2473         * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString]
2474         since no one is using it.
2475         (NativeToJSValue):
2476         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2477         (NativeToJSValue):
2478
2479         * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString].
2480
2481         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2482         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2483         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2484         (webkit_dom_test_obj_get_property):
2485         (webkit_dom_test_obj_class_init):
2486         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2487         * bindings/scripts/test/JS/JSTestObj.cpp:
2488         (WebCore):
2489         * bindings/scripts/test/JS/JSTestObj.h:
2490         (WebCore):
2491         * bindings/scripts/test/ObjC/DOMTestObj.h:
2492         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2493         * bindings/scripts/test/V8/V8TestObj.cpp:
2494         (WebCore):
2495
2496
2497 2012-02-16  Dana Jansens  <danakj@chromium.org>
2498
2499         [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking
2500         https://bugs.webkit.org/show_bug.cgi?id=78775
2501
2502         Reviewed by Stephen White.
2503
2504         The clip was being applied in device coordinates, before transforming the painted
2505         rect into device coordinates. This made any translations get doubly represented,
2506         and gave incorrect paint tracking results.
2507
2508         Test: compositing/culling/unscrolled-within-boxshadow.html
2509
2510         Unit test: PlatformContextSkiaTest.cpp
2511
2512         * platform/graphics/skia/OpaqueRegionSkia.cpp:
2513         (WebCore::OpaqueRegionSkia::didDraw):
2514
2515 2012-02-16  Abhishek Arya  <inferno@chromium.org>
2516
2517         Crash with tables in multi-column layout.
2518         https://bugs.webkit.org/show_bug.cgi?id=78415
2519
2520         Reviewed by Julien Chaffraix.
2521
2522         Multi-column code creates anonymous column blocks directly
2523         under RenderTable, thereby violating table layout assumption.
2524         E.g. Captions in this testcase gets reparented to these anonymous
2525         column blocks and when they go away, they are not able to clear
2526         themselves from table's m_captions list (since RenderTable::removeChild
2527         is not called).
2528
2529         Test: fast/multicol/span/table-multi-column-crash.html
2530
2531         * rendering/RenderBlock.cpp:
2532         (WebCore::RenderBlock::containingColumnsBlock):
2533
2534 2012-02-16  ChangSeok Oh  <shivamidow@gmail.com>
2535
2536         [GTK] File system api build is broken
2537         https://bugs.webkit.org/show_bug.cgi?id=78479
2538
2539         Reviewed by Philippe Normand.
2540
2541         This patch is a small step to support FileSystem API for GTK port.
2542         As I know, bug58443 also dealt with it, but it looks like the submitted patch
2543         needs to be updated. To do that, I think I need to discuss with the original author.
2544         So, I hope to just fix build break issue in this bug.
2545
2546         No new tests. Implementing the feature is not done yet.
2547
2548         * GNUmakefile.list.am: Added some missing files.
2549         * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API.
2550         * platform/AsyncFileSystem.cpp:
2551         (WebCore):
2552         (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h.
2553         * platform/gtk/AsyncFileSystemGtk.cpp: Added.
2554         (WebCore):
2555         (WebCore::AsyncFileSystem::isAvailable):
2556         (WebCore::AsyncFileSystem::isValidType):
2557         (WebCore::AsyncFileSystem::create):
2558         (WebCore::AsyncFileSystem::openFileSystem):
2559         (WebCore::AsyncFileSystem::crackFileSystemURL):
2560         (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
2561         (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk):
2562         (WebCore::AsyncFileSystemGtk::toURL):
2563         (WebCore::AsyncFileSystemGtk::move):
2564         (WebCore::AsyncFileSystemGtk::copy):
2565         (WebCore::AsyncFileSystemGtk::remove):
2566         (WebCore::AsyncFileSystemGtk::removeRecursively):
2567         (WebCore::AsyncFileSystemGtk::readMetadata):
2568         (WebCore::AsyncFileSystemGtk::createFile):
2569         (WebCore::AsyncFileSystemGtk::createDirectory):
2570         (WebCore::AsyncFileSystemGtk::fileExists):
2571         (WebCore::AsyncFileSystemGtk::directoryExists):
2572         (WebCore::AsyncFileSystemGtk::readDirectory):
2573         (WebCore::AsyncFileSystemGtk::createWriter):
2574         * platform/gtk/AsyncFileSystemGtk.h: Added.
2575         (WebCore):
2576         (AsyncFileSystemGtk):
2577
2578 2012-02-16  Adrienne Walker  <enne@google.com>
2579
2580         Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll
2581         https://bugs.webkit.org/show_bug.cgi?id=78286
2582
2583         Reviewed by Julien Chaffraix.
2584
2585         This is an unfortunate bandaid over a corner case where sometimes the
2586         visible descendant status dirty flag is true when this function is
2587         called from FrameView::repaintFixedElementsAfterScrolling. As it
2588         should be cheap to refresh this flag when dirty in most cases (as it
2589         early outs after finding any visible descendant), just lazily update
2590         the dirty flag here to ensure correctness.
2591
2592         * rendering/RenderLayer.cpp:
2593         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
2594
2595 2012-02-16  Adam Barth  <abarth@webkit.org>
2596
2597         Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed
2598         https://bugs.webkit.org/show_bug.cgi?id=78844
2599
2600         Reviewed by Eric Seidel.
2601
2602         These function serve no useful purpose and should be removed.
2603
2604         * page/Chrome.cpp:
2605         (WebCore):
2606         * page/Chrome.h:
2607         (Chrome):
2608         * page/Geolocation.cpp:
2609         (WebCore::Geolocation::reset):
2610         (WebCore::Geolocation::requestPermission):
2611
2612 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
2613
2614         [soup] Move important SoupSession feature initialization to WebCore
2615         https://bugs.webkit.org/show_bug.cgi?id=68602
2616
2617         Reviewed by Martin Robinson.
2618
2619         Moved content sniffer and decoder initialization from WebKit to
2620         WebCore because network stuff will not work as expected without
2621         them. Added also out-of-the-box proxy support to WebCore.
2622
2623         No new tests required as we're just moving stuff from WebKit to
2624         WebCore.
2625
2626         * platform/network/soup/ResourceHandleSoup.cpp:
2627         (WebCore::ResourceHandle::defaultSession):
2628
2629 2012-02-16  Julien Chaffraix  <jchaffraix@webkit.org>
2630
2631         thead in table without tbody causes table height doubling
2632         https://bugs.webkit.org/show_bug.cgi?id=37244
2633
2634         Reviewed by Ojan Vafai.
2635
2636         Tests: fast/table/double-height-table-no-tbody-expected.html
2637                fast/table/double-height-table-no-tbody.html
2638
2639         The bug is caused by the layout code would wrongly assuming that a
2640         table without a <tbody> is an empty table. We would set the logical
2641         height to the style's logical height wrongly before inflating the
2642         logical height to account for the section(s). This would cause us
2643         to increase past our needed size thus the bug.
2644
2645         * rendering/RenderTable.cpp:
2646         (WebCore::RenderTable::layout):
2647         A table is empty if it does not have any top section, not just a <tbody>.
2648         The test uncovered an issue with height distribution in layoutRows where we
2649         would distribute the extra height to the first <tbody> not section.
2650
2651 2012-02-07  Robert Hogan  <robert@webkit.org>
2652
2653         CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
2654         https://bugs.webkit.org/show_bug.cgi?id=78027
2655
2656         Reviewed by Julien Chaffraix.
2657
2658         Both of these test the (slightly implicit) rule that width set on column-groups cannot
2659         affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
2660         FF, Opera and IE all pass these two tests.
2661
2662         Tests: css2.1/20110323/fixed-table-layout-013.htm
2663                css2.1/20110323/fixed-table-layout-015.htm
2664
2665         * rendering/FixedTableLayout.cpp:
2666         (WebCore::nextCol): A helper function for finding the next column along.
2667         (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
2668         * rendering/RenderTableCol.h:
2669         (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
2670
2671 2012-02-16  Philippe Normand  <pnormand@igalia.com>
2672
2673         Unreviewed, rolling out r107941.
2674         http://trac.webkit.org/changeset/107941
2675         https://bugs.webkit.org/show_bug.cgi?id=68602
2676
2677         Broke 23 http tests on GTK
2678
2679         * platform/network/soup/ResourceHandleSoup.cpp:
2680         (WebCore::ResourceHandle::defaultSession):
2681
2682 2012-02-16  Tom Sepez  <tsepez@chromium.org>
2683
2684         XSS Auditor bypass with U+2028/2029
2685         https://bugs.webkit.org/show_bug.cgi?id=78732
2686
2687         Reviewed by Adam Barth.
2688
2689         Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html
2690
2691         * html/parser/XSSAuditor.cpp:
2692         (WebCore::isJSNewline):
2693         (WebCore::XSSAuditor::snippetForJavaScript):
2694
2695 2012-02-15  Mark Rowe  <mrowe@apple.com>
2696
2697         NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC
2698         <http://webkit.org/b/78766> / <rdar://problem/10729283>
2699
2700         Reviewed by Anders Carlsson.
2701
2702         * platform/network/cf/ProxyServerCFNet.cpp:
2703         (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process
2704         the results that we received.
2705         (WebCore::processProxyServers): Processing of array of proxy configuration information
2706         moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled
2707         by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result
2708         callback. Doing this synchronously is not great, but it's the best we can do without a lot
2709         of restructuring of the code that calls this. We arbitrarily time out the execution after five
2710         seconds to avoid permanently hanging.
2711         (WebCore::addProxyServersForURL): Call in to our helper function.
2712
2713 2012-02-16  Abhishek Arya  <inferno@chromium.org>
2714
2715         Fix clone() function to handle descendant classes of RenderBlock.
2716         https://bugs.webkit.org/show_bug.cgi?id=78273
2717
2718         Reviewed by Eric Seidel.
2719
2720         Test: fast/multicol/span/clone-flexbox-crash.html
2721
2722         * rendering/RenderBlock.cpp:
2723         (WebCore::RenderBlock::clone):
2724
2725 2012-02-16  Raul Hudea  <rhudea@adobe.com>
2726
2727         [CSSRegions]overflowRegion tests are flaky
2728         https://bugs.webkit.org/show_bug.cgi?id=78761
2729
2730         Reviewed by Tony Chang.
2731
2732         The overflowRegion tests were updated.
2733
2734         * dom/Element.cpp:
2735         (WebCore::Element::webkitRegionOverflow):
2736
2737 2012-02-16  Raul Hudea  <rhudea@adobe.com>
2738
2739         [CSS Regions] Repaint issues when changing innerHTML of content
2740         https://bugs.webkit.org/show_bug.cgi?id=78787
2741
2742         Reviewed by David Hyatt.
2743
2744         The calculation of the clipping rectangle is based on the repaint rectangle,
2745         so it needs to be clipped to the current region, because it might spread over multiple ones.
2746
2747         Test: fast/repaint/region-painting-invalidation.html
2748
2749         * rendering/RenderFlowThread.cpp:
2750         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2751
2752 2012-02-16  Adam Roben  <aroben@apple.com>
2753
2754         Roll out r107887
2755
2756         It broke 32-bit builds due to truncation from "long long" to "int".
2757
2758         Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for
2759         sub-pixel layout
2760
2761         * CMakeLists.txt:
2762         * GNUmakefile.list.am:
2763         * WebCore.gypi:
2764         * WebCore.order:
2765         * WebCore.vcproj/WebCore.vcproj:
2766         * WebCore.xcodeproj/project.pbxproj:
2767         * platform/FractionalLayoutUnit.h:
2768         (WebCore::FractionalLayoutUnit::isInBounds):
2769         (WebCore::operator==):
2770         (WebCore::operator*):
2771         * platform/graphics/FloatPoint.cpp:
2772         * platform/graphics/FloatPoint.h:
2773         (WebCore):
2774         (FloatPoint):
2775         (WebCore::FloatPoint::move):
2776         (WebCore::FloatPoint::moveBy):
2777         * platform/graphics/FloatRect.cpp:
2778         * platform/graphics/FloatRect.h:
2779         (WebCore):
2780         * platform/graphics/FloatSize.cpp:
2781         * platform/graphics/FloatSize.h:
2782         (WebCore):
2783         * platform/graphics/FractionalLayoutPoint.h: Removed.
2784         * platform/graphics/FractionalLayoutRect.cpp: Removed.
2785         * platform/graphics/FractionalLayoutRect.h: Removed.
2786         * platform/graphics/FractionalLayoutSize.cpp: Removed.
2787         * platform/graphics/FractionalLayoutSize.h: Removed.
2788         * platform/graphics/IntRect.cpp:
2789         * platform/graphics/IntRect.h:
2790         (WebCore):
2791         (IntRect):
2792
2793 2012-02-16  Pavel Feldman  <pfeldman@google.com>
2794
2795         Web Inspector: cache settings values
2796         https://bugs.webkit.org/show_bug.cgi?id=78815
2797
2798         Reviewed by Vsevolod Vlasov.
2799
2800         * inspector/front-end/Settings.js:
2801         (WebInspector.Setting.prototype.get if):
2802         (WebInspector.Setting.prototype):
2803         (WebInspector.Setting.prototype.):
2804         (WebInspector.Setting.prototype.set this):
2805
2806 2012-02-16  Terry Anderson  <tdanderson@chromium.org>
2807
2808         WebKit does not support DOM 3 Events FocusEvent
2809         https://bugs.webkit.org/show_bug.cgi?id=76216
2810
2811         Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
2812         the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
2813         focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
2814         attribute set accordingly.  No other logic changes have been made besides adding the
2815         FocusEvent class.
2816
2817         Reviewed by Eric Seidel.
2818
2819         Test: fast/events/related-target-focusevent.html
2820
2821         * CMakeLists.txt:
2822         * DerivedSources.cpp:
2823         * DerivedSources.make:
2824         * DerivedSources.pri:
2825         * GNUmakefile.list.am:
2826         * Target.pri:
2827         * WebCore.gypi:
2828         * WebCore.xcodeproj/project.pbxproj:
2829         * dom/DOMAllInOne.cpp:
2830             - Included mention of FocusEvent / JSFocusEvent in the above files to
2831               allow the patch to build on the different platforms
2832         * dom/EventDispatchMediator.cpp:
2833         * dom/EventDispatchMediator.h:
2834         * dom/EventFactory.in:
2835         * dom/FocusEvent.cpp: Added.
2836         (WebCore):
2837         (WebCore::FocusEvent::FocusEvent):
2838         (WebCore::FocusEvent::~FocusEvent):
2839         (WebCore::FocusEvent::initFocusEvent):
2840         (WebCore::FocusEvent::interfaceName):
2841         (WebCore::FocusInEventDispatchMediator::create):
2842         (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
2843         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2844         (WebCore::FocusInEventDispatchMediator::event):
2845         (WebCore::FocusOutEventDispatchMediator::create):
2846         (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
2847         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2848         (WebCore::FocusOutEventDispatchMediator::event):
2849         (WebCore::FocusEventDispatchMediator::create):
2850         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
2851         (WebCore::FocusEventDispatchMediator::dispatchEvent):
2852         (WebCore::BlurEventDispatchMediator::create):
2853         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
2854         (WebCore::BlurEventDispatchMediator::dispatchEvent):
2855         * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h.
2856         (WebCore):
2857         (FocusEvent):
2858         (WebCore::FocusEvent::create):
2859         (WebCore::FocusEvent::relatedTarget):
2860         (WebCore::FocusEvent::setRelatedTarget):
2861         (FocusInEventDispatchMediator):
2862         (FocusOutEventDispatchMediator):
2863         (FocusEventDispatchMediator):
2864         (BlurEventDispatchMediator):
2865         * dom/FocusEvent.idl: Added.
2866         * dom/Node.cpp:
2867         (WebCore::Node::dispatchFocusInEvent):
2868         (WebCore::Node::dispatchFocusOutEvent):
2869         * dom/UIEvent.cpp:
2870         * dom/UIEvent.h:
2871         * page/DOMWindow.idl:
2872
2873 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2874
2875         [Texmap] Improve the way we deal with BGRA extension
2876         https://bugs.webkit.org/show_bug.cgi?id=78822
2877
2878         Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available.
2879         Pass the pixel-format of the images when updating TextureMapperTiledBackingStore.
2880
2881         Reviewed by Kenneth Rohde Christiansen.
2882
2883         No new behavior.
2884
2885         * platform/graphics/opengl/TextureMapperGL.cpp:
2886         (WebCore):
2887         (WebCore::hasExtension):
2888         (WebCore::hasBgraExtension):
2889         (WebCore::BitmapTextureGL::updateContents):
2890         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2891         (WebCore::TextureMapperTile::updateContents):
2892         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
2893         (WebCore::TextureMapperTiledBackingStore::updateContents):
2894         * platform/graphics/texmap/TextureMapperBackingStore.h:
2895         (TextureMapperTile):
2896         (TextureMapperTiledBackingStore):
2897         (WebCore::TextureMapperTiledBackingStore::updateContents):
2898         * platform/graphics/texmap/TextureMapperLayer.cpp:
2899         (WebCore::TextureMapperLayer::updateBackingStore):
2900
2901 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
2902
2903         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
2904         https://bugs.webkit.org/show_bug.cgi?id=78800
2905
2906         Reviewed by Kenneth Rohde Christiansen.
2907
2908         The file is not specific to Cairo and used in other ports. Move it into
2909         common space.
2910
2911         * GNUmakefile.list.am:
2912         * PlatformEfl.cmake:
2913         * Target.pri:
2914         * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp.
2915         (WebCore):
2916         (WebCore::openGLFunctionTable):
2917         (WebCore::getProcAddress):
2918         (WebCore::lookupOpenGLFunctionAddress):
2919         (WebCore::initializeOpenGLShims):
2920         * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h.
2921         (WebCore):
2922         (_OpenGLFunctionTable):
2923         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2924         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2925         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2926         * platform/graphics/opengl/TextureMapperGL.cpp:
2927         * platform/graphics/qt/Extensions3DQt.cpp:
2928         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2929
2930 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2931
2932         [Qt][WK2] Allow opaque tiles
2933         https://bugs.webkit.org/show_bug.cgi?id=78809
2934
2935         Add a supportsAlpha property to TiledBackingStore.
2936         We invalidate all the tiles if that property changes, because the buffers need to be
2937         recreated in a different format.
2938
2939         Reviewed by Kenneth Rohde Christiansen.
2940
2941         No behavior changes.
2942
2943         * platform/graphics/TiledBackingStore.cpp:
2944         (WebCore::TiledBackingStore::TiledBackingStore):
2945         (WebCore::TiledBackingStore::setSupportsAlpha):
2946         (WebCore):
2947         * platform/graphics/TiledBackingStore.h:
2948         (TiledBackingStore):
2949         (WebCore::TiledBackingStore::supportsAlpha):
2950
2951 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
2952
2953         [soup] Move important SoupSession feature initialization to WebCore
2954         https://bugs.webkit.org/show_bug.cgi?id=68602
2955
2956         Reviewed by Martin Robinson.
2957
2958         Moved content sniffer and decoder initialization from WebKit to
2959         WebCore because network stuff will not work as expected without
2960         them. Added also out-of-the-box proxy support to WebCore.
2961
2962         No new tests required as we're just moving stuff from WebKit to
2963         WebCore.
2964
2965         * platform/network/soup/ResourceHandleSoup.cpp:
2966         (WebCore::ResourceHandle::defaultSession):
2967
2968 2012-02-16  Pavel Feldman  <pfeldman@google.com>
2969
2970         Web Inspector: remove free flow DOM editing experiment.
2971         https://bugs.webkit.org/show_bug.cgi?id=78813
2972
2973         Reviewed by Yury Semikhatsky.
2974
2975         * inspector/front-end/DOMAgent.js:
2976         (WebInspector.DOMAgent.prototype._markRevision):
2977
2978 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
2979
2980         WinCE build fix after r107453.
2981
2982         * platform/FractionalLayoutUnit.h:
2983         (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs().
2984
2985 2012-02-15  Pavel Feldman  <pfeldman@google.com>
2986
2987         Web Inspector: explicitly mark undoable state from the front-end.
2988         https://bugs.webkit.org/show_bug.cgi?id=78716
2989
2990         Reviewed by Vsevolod Vlasov.
2991
2992         * inspector/InspectorCSSAgent.cpp:
2993         (WebCore::InspectorCSSAgent::toggleProperty):
2994         (WebCore::InspectorCSSAgent::setRuleSelector):
2995         (WebCore::InspectorCSSAgent::addRule):
2996         * inspector/InspectorDOMAgent.cpp:
2997         (WebCore::InspectorDOMAgent::setAttributeValue):
2998         (WebCore::InspectorDOMAgent::setAttributesAsText):
2999         (WebCore::InspectorDOMAgent::removeAttribute):
3000         (WebCore::InspectorDOMAgent::removeNode):
3001         (WebCore::InspectorDOMAgent::setNodeName):
3002         (WebCore::InspectorDOMAgent::setOuterHTML):
3003         (WebCore::InspectorDOMAgent::setNodeValue):
3004         (WebCore::InspectorDOMAgent::moveTo):
3005         * inspector/InspectorHistory.cpp:
3006         (WebCore::InspectorHistory::redo):
3007         * inspector/InspectorHistory.h:
3008         (InspectorHistory):
3009         * inspector/front-end/CSSStyleModel.js:
3010         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
3011         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3012         (WebInspector.CSSStyleModel.prototype.addRule.callback):
3013         (WebInspector.CSSStyleModel.prototype.addRule):
3014         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
3015         (WebInspector.CSSProperty.prototype.setText.callback):
3016         (WebInspector.CSSProperty.prototype.setText):
3017         (WebInspector.CSSProperty.prototype.setDisabled.callback):
3018         (WebInspector.CSSProperty.prototype.setDisabled):
3019         (WebInspector.CSSStyleSheet.prototype.setText):
3020         * inspector/front-end/DOMAgent.js:
3021         (WebInspector.DOMAgent.prototype._markRevision):
3022         (WebInspector.DOMAgent.prototype.get markUndoableState):
3023
3024 2012-02-15  Pavel Feldman  <pfeldman@google.com>
3025
3026         Web Inspector: revert 'modification of DOM upon single click for selected nodes'.
3027         https://bugs.webkit.org/show_bug.cgi?id=78717
3028
3029         Reviewed by Vsevolod Vlasov.
3030
3031         * inspector/front-end/ElementsTreeOutline.js:
3032         (WebInspector.ElementsTreeElement.prototype.onattach):
3033
3034 2012-02-16  Pavel Feldman  <pfeldman@google.com>
3035
3036         Web Inspector: move style disable checkboxes to the left
3037         https://bugs.webkit.org/show_bug.cgi?id=78780
3038
3039         Reviewed by Vsevolod Vlasov.
3040
3041         * inspector/front-end/StylesSidebarPane.js:
3042         (WebInspector.StylePropertiesSection):
3043         (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
3044         (WebInspector.StylePropertyTreeElement.prototype):
3045         * inspector/front-end/elementsPanel.css:
3046         (.styles-section.matched-styles .properties):
3047         (.styles-section.matched-styles .properties li):
3048         (.styles-section .properties li.parent::before):
3049         (.styles-section .properties li.parent.expanded::before):
3050         (.styles-section.matched-styles .properties li.parent .expand-element):
3051         (.styles-section.matched-styles .properties li.parent.expanded .expand-element):
3052         (.styles-section.computed-style .properties li.parent::before):
3053         (.styles-section.computed-style .properties li.parent.expanded::before):
3054         (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button):
3055         (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button):
3056         (.styles-section .properties .enabled-button):
3057         (.styles-section.matched-styles .properties ol.expanded):
3058         * inspector/front-end/treeoutline.js:
3059         (TreeElement.treeElementDoubleClicked):
3060
3061 2012-02-16  Yury Semikhatsky  <yurys@chromium.org>
3062
3063         Web Inspector: show memory counter graphics when switching to memory view
3064         https://bugs.webkit.org/show_bug.cgi?id=78808
3065
3066         Switching to memory view in timeline will display memory counters. Counter
3067         graphics know show fair data without approximations between sampling points.
3068
3069         Reviewed by Pavel Feldman.
3070
3071         * English.lproj/localizedStrings.js:
3072         * inspector/front-end/MemoryStatistics.js:
3073         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
3074         (WebInspector.MemoryStatistics.prototype._calculateXValues):
3075         (WebInspector.MemoryStatistics.prototype._drawPolyline):
3076         * inspector/front-end/TimelinePanel.js:
3077         (WebInspector.TimelinePanel.prototype.get statusBarItems):
3078         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3079         (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
3080         (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
3081
3082 2012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
3083
3084         Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console.
3085         https://bugs.webkit.org/show_bug.cgi?id=78496
3086
3087         Reviewed by Yury Semikhatsky.
3088
3089        * bindings/js/JSInjectedScriptHostCustom.cpp:
3090         (WebCore::JSInjectedScriptHost::inspectedObject):
3091         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3092         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
3093         * inspector/InjectedScriptHost.cpp:
3094         (WebCore::InjectedScriptHost::InjectedScriptHost):
3095         (WebCore::InjectedScriptHost::InspectableObject::get):
3096         (WebCore):
3097         (WebCore::InjectedScriptHost::addInspectedObject):
3098         (WebCore::InjectedScriptHost::clearInspectedObjects):
3099         (WebCore::InjectedScriptHost::inspectedObject):
3100         * inspector/InjectedScriptHost.h:
3101         (InspectableObject):
3102         (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject):
3103         (InjectedScriptHost):
3104         * inspector/InjectedScriptHost.idl:
3105         * inspector/InjectedScriptSource.js:
3106         (.):
3107         * inspector/Inspector.json:
3108         * inspector/InspectorAgent.cpp:
3109         (WebCore::InspectorAgent::domContentLoadedEventFired):
3110         * inspector/InspectorConsoleAgent.cpp:
3111         (InspectableHeapObject):
3112         (WebCore::InspectableHeapObject::InspectableHeapObject):
3113         (WebCore::InspectableHeapObject::get):
3114         (WebCore):
3115         (WebCore::InspectorConsoleAgent::addInspectedHeapObject):
3116         * inspector/InspectorConsoleAgent.h:
3117         (InspectorConsoleAgent):
3118         * inspector/InspectorProfilerAgent.cpp:
3119         (WebCore::InspectorProfilerAgent::resetState):
3120         * inspector/PageConsoleAgent.cpp:
3121         (InspectableNode):
3122         (WebCore::InspectableNode::InspectableNode):
3123         (WebCore::InspectableNode::get):
3124         (WebCore):
3125         (WebCore::PageConsoleAgent::addInspectedNode):
3126         * inspector/front-end/DetailedHeapshotView.js:
3127         (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
3128         (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):
3129
3130 2012-02-16  Kihong Kwon  <kihong.kwon@samsung.com>
3131
3132         Add support for unsigned long[] to idl bindings to JSC.
3133         https://bugs.webkit.org/show_bug.cgi?id=78210
3134
3135         Reviewed by Kentaro Hara.
3136
3137         Add support for unsigned long[] parameter type in idl.
3138         This patch adds support just for unsigned long[] parameter type.
3139         (support for other types of array should be done in another patch.)
3140
3141         tests added to TestObj.idl.
3142
3143         * bindings/js/JSDOMBinding.h:
3144         (WebCore::jsUnsignedLongArrayToVector):
3145         * bindings/scripts/CodeGeneratorJS.pm:
3146         (AddIncludesForType):
3147         (JSValueToNative):
3148         (NativeToJSValue):
3149         * bindings/scripts/test/JS/JSTestObj.cpp:
3150         (WebCore):
3151         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
3152         * bindings/scripts/test/JS/JSTestObj.h:
3153         (WebCore):
3154         * bindings/scripts/test/TestObj.idl:
3155
3156 2012-02-16  Vsevolod Vlasov  <vsevik@chromium.org>
3157
3158         Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel.
3159         https://bugs.webkit.org/show_bug.cgi?id=78609
3160
3161         Reviewed by Yury Semikhatsky.
3162
3163         Added IndexedDB tree element to resources panel (behind experimental setting).
3164         Test is currently disabled, since we don't run tests with experiments enabled.
3165
3166         * English.lproj/localizedStrings.js:
3167         * WebCore.gypi:
3168         * inspector/front-end/Images/indexedDB.png: Added.
3169         * inspector/front-end/Images/indexedDBIndex.png: Added.
3170         * inspector/front-end/Images/indexedDBObjectStore.png: Added.
3171         * inspector/front-end/IndexedDBModel.js:
3172         (WebInspector.IndexedDBModel):
3173         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
3174         (WebInspector.IndexedDBModel.prototype.refreshDatabase):
3175         (WebInspector.IndexedDBModel.prototype._reset):
3176         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
3177         (WebInspector.IndexedDBModel.prototype._originRemoved):
3178         (WebInspector.IndexedDBModel.prototype._databaseAdded):
3179         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
3180         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
3181         (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
3182         (WebInspector.IndexedDBModel.prototype._loadDatabase):
3183         (WebInspector.IndexedDBModel.Frame):
3184         (WebInspector.IndexedDBModel.DatabaseId):
3185         (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
3186         (WebInspector.IndexedDBModel.Database):
3187         (WebInspector.IndexedDBModel.Index):
3188         * inspector/front-end/ResourcesPanel.js:
3189         (WebInspector.IndexedDBTreeElement):
3190         (WebInspector.IndexedDBTreeElement.prototype.onexpand):
3191         (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel):
3192         (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
3193         (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
3194         (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
3195         (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded):
3196         (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
3197         (WebInspector.IDBDatabaseTreeElement):
3198         (WebInspector.IDBDatabaseTreeElement.prototype.update):
3199         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
3200         (WebInspector.IDBObjectStoreTreeElement):
3201         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
3202         (WebInspector.IDBIndexTreeElement):
3203         (WebInspector.IDBIndexTreeElement.prototype.update):
3204         * inspector/front-end/Settings.js:
3205         (WebInspector.ExperimentsSettings):
3206         * inspector/front-end/WebKit.qrc:
3207         * inspector/front-end/resourcesPanel.css:
3208         (.indexed-db-storage-tree-item .icon):
3209         (.indexed-db-object-store-storage-tree-item .icon):
3210         (.indexed-db-index-storage-tree-item .icon):
3211
3212 2012-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3213
3214         REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml
3215         https://bugs.webkit.org/show_bug.cgi?id=65072
3216
3217         Reviewed by Zoltan Herczeg.
3218
3219         Fix EMS/EXS length resolving, when the target context has no renderer, eg.
3220         <text display="none" dy="1em">ABC</text>, myText.dy.baseVal.getItem(0).value()
3221         currently throws, even if <text> has a parent, we could use to resolve the length.
3222
3223         Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it.
3224         The current behaviour stays the same, if the target element is not in the document,
3225         then we really can't resolve lengths like this.
3226
3227         Tests: svg/text/ems-display-none.svg
3228                svg/text/exs-display-none.svg
3229
3230         * svg/SVGLengthContext.cpp:
3231         (WebCore::renderStyleForLengthResolving):
3232         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
3233         (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
3234         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
3235         (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
3236
3237 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
3238
3239         Build fix for Qt 5 without QtWidgets.
3240
3241         Reviewed by Tor Arne Vestbø.
3242
3243         The reason why QGLContext is included in Extensions3DQt.cpp is to
3244         achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch
3245         replaces the inclusion with the OpenGLShims.h inclusions, which has
3246         the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets.
3247
3248         * platform/graphics/qt/Extensions3DQt.cpp:
3249
3250 2012-02-16  Shawn Singh  <shawnsingh@chromium.org>
3251
3252         [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition
3253         https://bugs.webkit.org/show_bug.cgi?id=78539
3254
3255         Reviewed by James Robinson.
3256
3257         This change should introduce no change in behavior, and its
3258         expected behavior is already covered by existing tests.
3259
3260         In calculateDrawTransformsAndVisibility, there is a complex
3261         boolean condition that indicates whether we should create a
3262         RenderSurface or not. This patch pulls out that boolean logic,
3263         and wraps it in a helper function for much better readability.
3264
3265         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3266         (WebCore::layerShouldBeSkipped):
3267         (WebCore):
3268         (WebCore::subtreeShouldRenderToSeparateSurface):
3269         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3270
3271 2012-02-16  Andrey Kosyakov  <caseq@chromium.org>
3272
3273         Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane
3274         https://bugs.webkit.org/show_bug.cgi?id=78782
3275
3276         Reviewed by Vsevolod Vlasov.
3277
3278         * inspector/front-end/TimelineOverviewPane.js:
3279         (WebInspector.TimelineOverviewPane):
3280         (WebInspector.TimelineOverviewPane.prototype.showTimelines):
3281         (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
3282         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
3283         * inspector/front-end/TimelinePanel.js:
3284         (WebInspector.TimelinePanel):
3285         (WebInspector.TimelinePanel.prototype.sidebarResized):
3286
3287 2012-02-15  Andreas Kling  <awesomekling@apple.com>
3288
3289         Share font-family CSS values through CSSValuePool.
3290         <http://webkit.org/b/78604>
3291
3292         Reviewed by Darin Adler.
3293
3294         Cache and share FontFamilyValue instances in the per-document CSSValuePool.
3295         This reduces memory consumption by 248 kB on the Moz page cycler (64-bit)
3296         and avoids a bunch of extra work.
3297
3298         This is a regression from the recent attribute style refactoring; previously
3299         the mapped attribute declaration table would ensure that multiple 'font'
3300         elements with the same 'face' value would share the same FontFamilyValue.
3301
3302         We're not yet sharing the entire CSSValueList returned by parseFontFamily()
3303         but this is a step on the way there.
3304
3305         * css/FontFamilyValue.cpp:
3306         * css/FontFamilyValue.h:
3307
3308             Removed appendSpaceSeparated(), making FontFamilyValue immutable.
3309
3310         * css/CSSParser.cpp:
3311         (FontFamilyValueBuilder):
3312         (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
3313         (WebCore::FontFamilyValueBuilder::add):
3314         (WebCore::FontFamilyValueBuilder::commit):
3315         (WebCore::CSSParser::parseFontFamily):
3316
3317             Refactor parseFontFamily() to defer creation of FontFamilyValue until
3318             the whole family name is known. Added a little helper class to avoid
3319             code duplication.
3320
3321         * css/CSSValuePool.h:
3322         * css/CSSValuePool.cpp:
3323         (WebCore::CSSValuePool::createFontFamilyValue):
3324
3325             Added a FontFamilyValue cache to CSSValuePool. All values are tied to
3326             the lifetime of the pool.
3327
3328 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
3329
3330         [Qt] Move event conversion functions from WebCore to WebKit
3331         https://bugs.webkit.org/show_bug.cgi?id=78788
3332
3333         Reviewed by Kenneth Rohde Christiansen.
3334
3335         Move QtWidgets dependent mouse event constructors out of WebCore
3336         into WebKit, similar to the web event conversions of WebKit2.
3337
3338         * Target.pri:
3339         * platform/PlatformMouseEvent.h:
3340         (PlatformMouseEvent):
3341         * platform/PlatformWheelEvent.h:
3342         (PlatformWheelEvent):
3343
3344 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
3345
3346         Unreviewed prospective Qt 4.8/Mac build fix.
3347
3348         Cast the PlatformWidget from QObject* to QWidget* to gain access
3349         to QWidget methods.
3350
3351         * plugins/mac/PluginViewMac.mm:
3352         (WebCore::nativeWindowFor):
3353         (WebCore::cgHandleFor):
3354         (WebCore::topLevelOffsetFor):
3355         (WebCore::PluginView::setFocus):
3356         (WebCore::PluginView::invalidateRect):
3357
3358 2012-02-16  Roland Steiner  <rolandsteiner@chromium.org>
3359
3360         <style scoped>: Implement scoped selector matching in the slow path
3361         https://bugs.webkit.org/show_bug.cgi?id=77528
3362
3363         Added scope information to SelectorCheckingContext, SelectorChecker methods and CSSStyleSelector methods.
3364         Added matchOptions struct to CSSStyleSelector similar to SelectorCheckingContext in SelectorChecker.
3365         Adapted the calling sites.
3366
3367         Reviewed by Antti Koivisto.
3368
3369         No new tests. (extended existing tests)
3370
3371         * css/CSSStyleSelector.cpp:
3372         (RuleData):
3373         (RuleSet):
3374         (WebCore::CSSStyleSelector::determineScopingElement):
3375         (WebCore::CSSStyleSelector::collectMatchingRules):
3376         (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
3377         (WebCore::CSSStyleSelector::matchScopedAuthorRules):
3378         (WebCore::CSSStyleSelector::matchAuthorRules):
3379         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3380         * css/CSSStyleSelector.h:
3381         (CSSStyleSelector):
3382         (MatchOptions):
3383         (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
3384         * css/SelectorChecker.cpp:
3385         (WebCore::SelectorChecker::checkSelector):
3386         * css/SelectorChecker.h:
3387         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
3388         (SelectorCheckingContext):
3389         (SelectorChecker):
3390
3391 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
3392
3393         Windows build fix for !ENABLE(CSS_FILTERS) after r106593.
3394
3395         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3396
3397 2012-02-15  Antti Koivisto  <antti@apple.com>
3398
3399         Move the context invalidation code out from StylePropertySet
3400         https://bugs.webkit.org/show_bug.cgi?id=78589
3401
3402         Reviewed by Ryosuke Niwa.
3403
3404         StylePropertySet should be independent of its context so that they can in the future
3405         be shared between documents. The context invalidation code should move to the CSSOM wrapper.
3406         
3407         Parent rule and parent element pointers move to the CSSOM wrapper classes. 
3408         
3409         The wrapper is responsible of invalidating the element or document style on mutation.
3410         In case of internal mutation of style attribute, StyledElement takes care of the 
3411         invalidation.
3412         
3413         The StylePropertySet will still have a pointer to the context stylesheet so the patch
3414         doesn't actually reduce memory usage. That pointer will be factored out later.
3415
3416         * css/CSSFontFaceRule.cpp:
3417         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
3418         * css/CSSFontFaceRule.h:
3419         (WebCore::CSSFontFaceRule::style):
3420         * css/CSSPageRule.cpp:
3421         (WebCore::CSSPageRule::~CSSPageRule):
3422         * css/CSSPageRule.h:
3423         (WebCore::CSSPageRule::style):
3424         (WebCore::CSSPageRule::setDeclaration):
3425         * css/CSSParser.cpp:
3426         (WebCore::CSSParser::createStyleRule):
3427         (WebCore::CSSParser::createFontFaceRule):
3428         (WebCore::CSSParser::createPageRule):
3429         (WebCore::CSSParser::createKeyframeRule):
3430         * css/CSSStyleRule.cpp:
3431         (WebCore::CSSStyleRule::~CSSStyleRule):
3432         * css/CSSStyleRule.h:
3433         (WebCore::CSSStyleRule::style):
3434         (WebCore::CSSStyleRule::setDeclaration):
3435         * css/StylePropertySet.cpp:
3436         (PropertySetCSSStyleDeclaration):
3437         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
3438         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
3439         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
3440         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
3441         (RuleCSSStyleDeclaration):
3442         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
3443         (WebCore::RuleCSSStyleDeclaration::parentRule):
3444         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
3445         (WebCore):
3446         (InlineCSSStyleDeclaration):
3447         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
3448         (WebCore::InlineCSSStyleDeclaration::parentElement):
3449         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
3450         (WebCore::StylePropertySet::StylePropertySet):
3451         (WebCore::StylePropertySet::removeShorthandProperty):
3452         (WebCore::StylePropertySet::removeProperty):
3453         (WebCore::StylePropertySet::setProperty):
3454         (WebCore::StylePropertySet::parseDeclaration):
3455         (WebCore::StylePropertySet::addParsedProperties):
3456         (WebCore::StylePropertySet::addParsedProperty):
3457         (WebCore::StylePropertySet::merge):
3458         (WebCore::StylePropertySet::removePropertiesInSet):
3459         (WebCore::StylePropertySet::copy):
3460         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
3461         (WebCore::StylePropertySet::ensureRuleCSSStyleDeclaration):
3462         (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
3463         (WebCore::StylePropertySet::clearParentRule):
3464         (WebCore::StylePropertySet::clearParentElement):
3465         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
3466         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
3467         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
3468         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
3469         (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
3470         (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
3471         * css/StylePropertySet.h:
3472         (WebCore::StylePropertySet::create):
3473         (StylePropertySet):
3474         (WebCore::StylePropertySet::useStrictParsing):
3475         (WebCore::StylePropertySet::contextStyleSheet):
3476         (WebCore::StylePropertySet::setContextStyleSheet):
3477         * css/WebKitCSSKeyframeRule.cpp:
3478         (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
3479         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
3480         * css/WebKitCSSKeyframeRule.h:
3481         (WebCore::WebKitCSSKeyframeRule::style):
3482         * dom/ElementAttributeData.cpp:
3483         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
3484         (WebCore::ElementAttributeData::destroyInlineStyleDecl):
3485         * dom/ElementAttributeData.h:
3486         (ElementAttributeData):
3487         * dom/StyledElement.cpp:
3488         (WebCore::StyledElement::insertedIntoDocument):
3489         (WebCore):
3490         (WebCore::StyledElement::removedFromDocument):
3491         (WebCore::StyledElement::parseAttribute):
3492         (WebCore::StyledElement::inlineStyleChanged):
3493         (WebCore::StyledElement::setInlineStyleProperty):
3494         (WebCore::StyledElement::removeInlineStyleProperty):
3495         (WebCore::StyledElement::updateAttributeStyle):
3496         * dom/StyledElement.h:
3497         (StyledElement):
3498         (WebCore::StyledElement::destroyInlineStyleDecl):
3499         * editing/ApplyStyleCommand.cpp:
3500         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3501         * editing/DeleteButtonController.cpp:
3502         (WebCore::DeleteButtonController::createDeletionUI):
3503         (WebCore::DeleteButtonController::show):
3504         (WebCore::DeleteButtonController::hide):
3505         * editing/Editor.cpp:
3506         (WebCore::Editor::applyEditingStyleToElement):
3507         * editing/RemoveCSSPropertyCommand.cpp:
3508         (WebCore::RemoveCSSPropertyCommand::doApply):
3509         (WebCore::RemoveCSSPropertyCommand::doUnapply):
3510         * editing/ReplaceSelectionCommand.cpp:
3511         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3512         * html/ColorInputType.cpp:
3513         (WebCore::ColorInputType::updateColorSwatch):
3514         * html/HTMLTextFormControlElement.cpp:
3515         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
3516         * html/ImageDocument.cpp:
3517         (WebCore::ImageDocument::resizeImageToFit):
3518         (WebCore::ImageDocument::restoreImageSize):
3519         (WebCore::ImageDocument::windowSizeChanged):
3520         * html/ValidationMessage.cpp:
3521         (WebCore::adjustBubblePosition):
3522         (WebCore::ValidationMessage::buildBubbleTree):
3523         * html/shadow/MediaControlElements.cpp:
3524         (WebCore::MediaControlElement::show):
3525         (WebCore::MediaControlElement::hide):
3526         (WebCore::MediaControlPanelElement::setPosition):
3527         (WebCore::MediaControlPanelElement::resetPosition):
3528         (WebCore::MediaControlPanelElement::makeOpaque):
3529         (WebCore::MediaControlPanelElement::makeTransparent):
3530         (WebCore::MediaControlInputElement::show):
3531         (WebCore::MediaControlInputElement::hide):
3532         (WebCore::MediaControlTextTrackContainerElement::updateSizes):
3533         * html/shadow/MeterShadowElement.cpp:
3534         (WebCore::MeterValueElement::setWidthPercentage):
3535         * html/shadow/ProgressShadowElement.cpp:
3536         (WebCore::ProgressValueElement::setWidthPercentage):
3537         * html/shadow/SliderThumbElement.cpp:
3538         (WebCore::TrackLimiterElement::create):
3539         * rendering/RenderLayer.cpp:
3540         (WebCore::RenderLayer::resize):
3541         * rendering/RenderTextControlSingleLine.cpp:
3542         (WebCore::RenderTextControlSingleLine::styleDidChange):
3543         * svg/SVGFontFaceElement.cpp:
3544         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3545         (WebCore::SVGFontFaceElement::insertedIntoDocument):
3546         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
3547
3548 2012-02-15  Daniel Cheng  <dcheng@chromium.org>
3549
3550         dataTransfer.types (HTML5 drag & drop) should return DOMStringList
3551         https://bugs.webkit.org/show_bug.cgi?id=30416
3552
3553         Reviewed by Eric Seidel.
3554
3555         This change breaks backwards compatibility; however, since Firefox only supported
3556         event.dataTransfer.types.contains, sites already needed to check whether to use contains or
3557         indexOf. Therefore, the net compatibility effect of this change should be minimal.
3558
3559         Test: fast/events/drag-dataTransfer-live-attributes.html
3560
3561         * bindings/js/JSClipboardCustom.cpp:
3562         (WebCore):
3563         * bindings/v8/custom/V8ClipboardCustom.cpp:
3564         * dom/Clipboard.cpp:
3565         (WebCore::Clipboard::hasStringOfType):
3566         * dom/Clipboard.h:
3567         (WebCore):
3568         (Clipboard):
3569         * dom/Clipboard.idl:
3570         * platform/blackberry/ClipboardBlackBerry.cpp:
3571         (WebCore::ClipboardBlackBerry::types):
3572         * platform/blackberry/ClipboardBlackBerry.h:
3573         (ClipboardBlackBerry):
3574         * platform/chromium/ChromiumDataObject.cpp:
3575         (WebCore::ChromiumDataObject::types):
3576         * platform/chromium/ChromiumDataObject.h:
3577         (ChromiumDataObject):
3578         * platform/chromium/ClipboardChromium.cpp:
3579         (WebCore::ClipboardChromium::types):
3580         (WebCore::ClipboardChromium::mayUpdateItems):
3581         * platform/chromium/ClipboardChromium.h:
3582         (ClipboardChromium):
3583         * platform/chromium/DragDataChromium.cpp:
3584         (WebCore::containsHTML):
3585         (WebCore::DragData::containsURL):
3586         (WebCore::DragData::asURL):
3587         (WebCore::DragData::containsPlainText):
3588         (WebCore::DragData::canSmartReplace):
3589         (WebCore::DragData::asFragment):
3590         * platform/efl/ClipboardEfl.cpp:
3591         (WebCore::ClipboardEfl::types):
3592         * platform/efl/ClipboardEfl.h:
3593         (ClipboardEfl):
3594         * platform/gtk/ClipboardGtk.cpp:
3595         (WebCore::ClipboardGtk::types):
3596         * platform/gtk/ClipboardGtk.h:
3597         (ClipboardGtk):
3598         * platform/mac/ClipboardMac.h:
3599         (ClipboardMac):
3600         * platform/mac/ClipboardMac.mm:
3601         (WebCore::addHTMLClipboardTypesForCocoaType):
3602         (WebCore::ClipboardMac::types):
3603         * platform/qt/ClipboardQt.cpp:
3604         (WebCore::ClipboardQt::types):
3605         * platform/qt/ClipboardQt.h:
3606         (ClipboardQt):
3607         * platform/win/ClipboardWin.cpp:
3608         (WebCore::addMimeTypesForFormat):
3609         (WebCore::ClipboardWin::types):
3610         * platform/win/ClipboardWin.h:
3611         (ClipboardWin):
3612         * platform/wx/ClipboardWx.cpp:
3613         (WebCore::ClipboardWx::types):
3614         * platform/wx/ClipboardWx.h:
3615         (ClipboardWx):
3616
3617 2012-02-15  Bear Travis  <betravis@adobe.com>
3618
3619         Repaint issues on changing 'viewBox' of inner SVG
3620         https://bugs.webkit.org/show_bug.cgi?id=77903
3621
3622         Reviewed by Nikolas Zimmermann.
3623
3624         Do not update the child viewbox/viewport transform to its parent
3625         coordinate system until after layout has stored the old bounds for
3626         repainting purposes.
3627         
3628         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
3629
3630         * rendering/svg/RenderSVGViewportContainer.cpp:
3631         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
3632         (WebCore::RenderSVGViewportContainer::calcViewport):
3633         (WebCore):
3634         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
3635         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3636         * rendering/svg/RenderSVGViewportContainer.h:
3637         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
3638         (RenderSVGViewportContainer):
3639         * svg/SVGSVGElement.cpp:
3640         (WebCore::SVGSVGElement::svgAttributeChanged):
3641
3642 2012-02-15  Bear Travis  <betravis@adobe.com>
3643
3644         Repaint issues on changing 'viewBox' of inner SVG
3645         https://bugs.webkit.org/show_bug.cgi?id=77903
3646
3647         Reviewed by Nikolas Zimmermann.
3648
3649         Do not update the child viewbox/viewport transform to its parent
3650         coordinate system until after layout has stored the old bounds for
3651         repainting purposes.
3652         
3653         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
3654
3655         * rendering/svg/RenderSVGViewportContainer.cpp:
3656         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
3657         (WebCore::RenderSVGViewportContainer::calcViewport):
3658         (WebCore):
3659         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
3660         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3661         * rendering/svg/RenderSVGViewportContainer.h:
3662         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
3663         (RenderSVGViewportContainer):
3664         * svg/SVGSVGElement.cpp:
3665         (WebCore::SVGSVGElement::svgAttributeChanged):
3666
3667 2012-02-15  Daniel Cheng  <dcheng@chromium.org>
3668
3669         dataTransfer.types (HTML5 drag & drop) should return DOMStringList
3670         https://bugs.webkit.org/show_bug.cgi?id=30416
3671
3672         Reviewed by Eric Seidel.
3673
3674         This change breaks backwards compatibility; however, since Firefox only supported
3675         event.dataTransfer.types.contains, sites already needed to check whether to use contains or
3676         indexOf. Therefore, the net compatibility effect of this change should be minimal.
3677
3678         Test: fast/events/drag-dataTransfer-live-attributes.html
3679
3680         * bindings/js/JSClipboardCustom.cpp:
3681         (WebCore):
3682         * bindings/v8/custom/V8ClipboardCustom.cpp:
3683         * dom/Clipboard.cpp:
3684         (WebCore::Clipboard::hasStringOfType):
3685         * dom/Clipboard.h:
3686         (WebCore):
3687         (Clipboard):
3688         * dom/Clipboard.idl:
3689         * platform/blackberry/ClipboardBlackBerry.cpp:
3690         (WebCore::ClipboardBlackBerry::types):
3691         * platform/blackberry/ClipboardBlackBerry.h:
3692         (ClipboardBlackBerry):
3693         * platform/chromium/ChromiumDataObject.cpp:
3694         (WebCore::ChromiumDataObject::types):
3695         * platform/chromium/ChromiumDataObject.h:
3696         (ChromiumDataObject):
3697         * platform/chromium/ClipboardChromium.cpp:
3698         (WebCore::ClipboardChromium::types):
3699         (WebCore::ClipboardChromium::mayUpdateItems):
3700         * platform/chromium/ClipboardChromium.h:
3701         (ClipboardChromium):
3702         * platform/chromium/DragDataChromium.cpp:
3703         (WebCore::containsHTML):
3704         (WebCore::DragData::containsURL):
3705         (WebCore::DragData::asURL):
3706         (WebCore::DragData::containsPlainText):
3707         (WebCore::DragData::canSmartReplace):
3708         (WebCore::DragData::asFragment):
3709         * platform/efl/ClipboardEfl.cpp:
3710         (WebCore::ClipboardEfl::types):
3711         * platform/efl/ClipboardEfl.h:
3712         (ClipboardEfl):
3713         * platform/gtk/ClipboardGtk.cpp:
3714         (WebCore::ClipboardGtk::types):
3715         * platform/gtk/ClipboardGtk.h:
3716         (ClipboardGtk):
3717         * platform/mac/ClipboardMac.h:
3718         (ClipboardMac):
3719         * platform/mac/ClipboardMac.mm:
3720         (WebCore::addHTMLClipboardTypesForCocoaType):
3721         (WebCore::ClipboardMac::types):
3722         * platform/qt/ClipboardQt.cpp:
3723         (WebCore::ClipboardQt::types):
3724         * platform/qt/ClipboardQt.h:
3725         (ClipboardQt):
3726         * platform/win/ClipboardWin.cpp:
3727         (WebCore::addMimeTypesForFormat):
3728         (WebCore::ClipboardWin::types):
3729         * platform/win/ClipboardWin.h:
3730         (ClipboardWin):
3731         * platform/wx/ClipboardWx.cpp:
3732         (WebCore::ClipboardWx::types):
3733         * platform/wx/ClipboardWx.h:
3734         (ClipboardWx):
3735
3736 2012-02-15  Bear Travis  <betravis@adobe.com>
3737
3738         Repaint issues on changing 'viewBox' of inner SVG
3739         https://bugs.webkit.org/show_bug.cgi?id=77903
3740
3741         Reviewed by Nikolas Zimmermann.
3742
3743         Do not update the child viewbox/viewport transform to its parent
3744         coordinate system until after layout has stored the old bounds for
3745         repainting purposes.
3746         
3747         Test: svg/repaint/inner-svg-change-viewBox-contract.svg
3748
3749         * rendering/svg/RenderSVGViewportContainer.cpp:
3750         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
3751         (WebCore::RenderSVGViewportContainer::calcViewport):
3752         (WebCore):
3753         (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
3754         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3755         * rendering/svg/RenderSVGViewportContainer.h:
3756         (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
3757         (RenderSVGViewportContainer):
3758         * svg/SVGSVGElement.cpp:
3759         (WebCore::SVGSVGElement::svgAttributeChanged):
3760
3761 2012-02-15  Anders Carlsson  <andersca@apple.com>
3762
3763         Fix unused parameter warnings.
3764
3765         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3766         (-[WebTileCacheLayer setContentsScale:]):
3767
3768 2012-02-15  Emil A Eklund  <eae@chromium.org>
3769
3770         Convert RenderFrameSet to LayoutUnits in preparation for turning on subpixel layout
3771         https://bugs.webkit.org/show_bug.cgi?id=78526
3772
3773         Reviewed by Eric Seidel.
3774
3775         Revert paintColumnBorder and paintRowBorder to IntRect and pixel snap in
3776         paint before calling them. This way the rounding logic is contained in a
3777         single place (in paint).
3778
3779         No new tests, no new functionality.
3780
3781         * rendering/RenderFrameSet.cpp:
3782         (WebCore::RenderFrameSet::paintColumnBorder):
3783         (WebCore::RenderFrameSet::paintRowBorder):
3784         (WebCore::RenderFrameSet::paint):
3785         (WebCore::RenderFrameSet::getCursor):
3786         * rendering/RenderFrameSet.h:
3787         (RenderFrameSet):
3788
3789 2012-02-15  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
3790
3791         Add FractionalLayoutPoint/Size/Rect for sub-pixel layout
3792         https://bugs.webkit.org/show_bug.cgi?id=76571
3793
3794         Reviewed by Eric Seidel.
3795
3796         Add fixed point versions of the Point, Size and Rect classes using
3797         the new FractionalLayoutPoint type and.
3798
3799         FractionalLayoutPoint, FractionalLayoutSize and FractionalLayoutRect are
3800         Point, Size and Rect implementations respectively using this new type.
3801
3802         No new tests.
3803
3804         * CMakeLists.txt:
3805         * GNUmakefile.list.am:
3806         * WebCore.gypi:
3807         * WebCore.order:
3808         * WebCore.vcproj/WebCore.vcproj:
3809         * WebCore.xcodeproj/project.pbxproj:
3810         * platform/FractionalLayoutUnit.h:
3811         Fixed a couple of typos and signed/unsigned bugs.
3812
3813         * platform/graphics/FloatPoint.cpp:
3814         (WebCore::FloatPoint::FloatPoint):
3815         Add explicit FloatPoint(FractionalLayoutPoint) constructor.
3816         
3817         (WebCore::FloatPoint::move):
3818         Add move(FractionalLayoutSize) implementation.
3819         
3820         (WebCore::FloatPoint::moveBy):
3821         Add moveBy(FractionalLayoutPoint) implementation.
3822
3823         * platform/graphics/FloatPoint.h:
3824         * platform/graphics/FloatRect.cpp:
3825         (WebCore::FloatRect::FloatRect):
3826         Add explicit FloatRectFractionalLayoutRect) constructor.
3827         
3828         * platform/graphics/FloatRect.h:
3829         (WebCore):
3830         (FloatRect):
3831         * platform/graphics/FloatSize.cpp:
3832         (WebCore::FloatSize::FloatSize):
3833         Add explicit FloatSize(FractionalLayoutSize) constructor.
3834
3835         * platform/graphics/FloatSize.h:
3836         * platform/graphics/FractionalLayoutPoint.h: Added.
3837         * platform/graphics/FractionalLayoutRect.cpp: Added.
3838         * platform/graphics/FractionalLayoutRect.h: Added.
3839         * platform/graphics/FractionalLayoutSize.cpp: Added.
3840         * platform/graphics/FractionalLayoutSize.h: Added.
3841         * platform/graphics/IntRect.cpp:
3842         (WebCore::IntRect::IntRect):
3843         Add explicit IntRect(FractionalLayoutRect) constructor.
3844
3845         * platform/graphics/IntRect.h:
3846
3847 2012-02-15  Kentaro Hara  <haraken@chromium.org>
3848
3849         [Mac] PasteboardMac.mm build fails
3850         https://bugs.webkit.org/show_bug.cgi?id=78655
3851
3852         Reviewed by Enrica Casucci.
3853
3854         This patch fixes the code to make a plain text for pasted file names.
3855         The code should return a string of concatenated file names.
3856
3857         Test: editing/pasteboard/drag-files-to-editable-element.html
3858
3859         * platform/mac/PasteboardMac.mm:
3860         (WebCore::Pasteboard::plainText):
3861
3862 2012-02-15  Anders Carlsson  <andersca@apple.com>
3863
3864         Another attempt at fixing the Snow Leopard build.
3865
3866         * platform/graphics/ca/mac/TileCache.mm:
3867         (WebCore::TileCache::setContentsScale):
3868
3869 2012-02-15  Pablo Flouret  <pablof@motorola.com>
3870
3871         Add support for the translate attribute in html elements.
3872         https://bugs.webkit.org/show_bug.cgi?id=78751
3873
3874         Reviewed by Adam Barth.
3875
3876         The translate attribute is used to specify whether an element's
3877         attribute values and the values of its Text node children are to be
3878         translated when the page is localized, or whether to leave them
3879         unchanged.
3880
3881         Details at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-translate
3882
3883         Test: fast/dom/HTMLElement/translate.html
3884
3885         * html/HTMLAttributeNames.in:
3886         * html/HTMLElement.cpp:
3887         (WebCore::HTMLElement::translateAttributeMode):
3888         (WebCore):
3889         (WebCore::HTMLElement::translate):
3890         (WebCore::HTMLElement::setTranslate):
3891         * html/HTMLElement.h:
3892         (HTMLElement):
3893         * html/HTMLElement.idl:
3894
3895 2012-02-15  Sami Kyostila  <skyostil@google.com>
3896
3897         Add -webkit-overflow-scrolling CSS property
3898         https://bugs.webkit.org/show_bug.cgi?id=78664
3899
3900         Reviewed by Eric Seidel.
3901
3902         Add a CSS property indicating that an element with overflow scrolling
3903         should follow the platform's behavior for touch scrollable user
3904         interface objects. For instance, this property could enable momentum
3905         scrolling for the element if that is the platform convention.
3906
3907         The property has two possible values: auto (default) and touch. The
3908         former does not alter overflow scrolling behavior, while the latter
3909         activates touch scrolling.
3910
3911         As a side effect, enabling touch scrolling also causes an element to
3912         gain a stacking context. This is to allow the implementation to promote
3913         the scrolling contents into a render layer, which can be translated more
3914         efficiently.
3915
3916         This property was introduced with iOS 5 WebKit. Another implementation
3917         is in Chrome for Android.
3918
3919         Test: platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html
3920
3921         * css/CSSComputedStyleDeclaration.cpp:
3922         (WebCore):
3923         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3924         * css/CSSParser.cpp:
3925         (WebCore::CSSParser::parseValue):
3926         * css/CSSProperty.cpp:
3927         (WebCore::CSSProperty::isInheritedProperty):
3928         * css/CSSPropertyNames.in:
3929         * css/CSSStyleSelector.cpp:
3930         (WebCore::CSSStyleSelector::adjustRenderStyle):
3931         (WebCore::CSSStyleSelector::applyProperty):
3932         * css/CSSValueKeywords.in:
3933         * rendering/style/RenderStyle.h:
3934         * rendering/style/StyleRareInheritedData.cpp:
3935         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3936         (WebCore::StyleRareInheritedData::operator==):
3937         * rendering/style/StyleRareInheritedData.h:
3938         (StyleRareInheritedData):
3939
3940 2012-02-15  Levi Weintraub  <leviw@chromium.org>
3941
3942         Add zeroLayoutUnit constant.
3943         https://bugs.webkit.org/show_bug.cgi?id=78747
3944
3945         Reviewed by Eric Seidel.
3946
3947         Converting call sites where LayoutUnits and raw zeros are in ternary operations
3948         and templatized function calls (like std::max and min) to use a new zeroLayoutUnit
3949         constant instead of the raw zero.
3950
3951         No new tests. No change in behavior.
3952
3953         * rendering/InlineFlowBox.cpp:
3954         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3955         (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
3956         (WebCore::InlineFlowBox::paintFillLayer):
3957         (WebCore::InlineFlowBox::paintBoxDecorations):
3958         (WebCore::InlineFlowBox::paintMask):
3959         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
3960         * rendering/LayoutTypes.h:
3961         (WebCore):
3962         * rendering/RenderBlock.cpp:
3963         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3964         (WebCore::RenderBlock::adjustFloatingBlock):
3965         (WebCore::RenderBlock::paintColumnRules):
3966         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
3967         (WebCore::RenderBlock::getClearDelta):
3968         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3969         (WebCore::getHeightForLineCount):
3970         (WebCore::RenderBlock::adjustForUnsplittableChild):
3971         * rendering/RenderBlock.h:
3972         (WebCore::RenderBlock::paginationStrut):
3973         (WebCore::RenderBlock::pageLogicalOffset):
3974         * rendering/RenderBlockLineLayout.cpp:
3975         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
3976         (WebCore::RenderBlock::addOverflowFromInlineChildren):
3977         * rendering/RenderBox.cpp:
3978         (WebCore::RenderBox::positionForPoint):
3979         * rendering/RenderBox.h:
3980         (WebCore::RenderBox::minYVisualOverflow):
3981         (WebCore::RenderBox::minXVisualOverflow):
3982         (RenderBox):
3983         * rendering/RenderBoxModelObject.cpp:
3984         (WebCore::RenderBoxModelObject::offsetLeft):
3985         (WebCore::RenderBoxModelObject::offsetTop):
3986         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3987         * rendering/RenderFieldset.cpp:
3988         (WebCore::RenderFieldset::paintBoxDecorations):
3989         * rendering/RenderFileUploadControl.cpp:
3990         (WebCore::nodeWidth):
3991         * rendering/RenderFlowThread.cpp:
3992         (WebCore::RenderFlowThread::layout):
3993         (WebCore::RenderFlowThread::computeLogicalWidth):
3994         * rendering/RenderInline.cpp:
3995         (WebCore::RenderInline::paintOutlineForLine):
3996         * rendering/RenderLayer.cpp:
3997         (WebCore::RenderLayer::resize):
3998         * rendering/RenderListBox.cpp:
3999         (WebCore::RenderListBox::listIndexAtOffset):
4000         (WebCore::RenderListBox::verticalScrollbarWidth):
4001         * rendering/RenderMarquee.cpp:
4002         (WebCore::RenderMarquee::computePosition):
4003         * rendering/RenderObject.cpp:
4004         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
4005         * rendering/RenderReplaced.cpp:
4006         (WebCore::RenderReplaced::computePreferredLogicalWidths):
4007         * rendering/RenderTable.cpp:
4008         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
4009         (WebCore::RenderTable::layout):
4010         * rendering/RenderTable.h:
4011         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
4012         * rendering/mathml/RenderMathMLSubSup.cpp:
4013         (WebCore::RenderMathMLSubSup::layout):
4014
4015 2012-02-15  Alexey Proskuryakov  <ap@apple.com>
4016
4017         Crash after trying to use FileReader in a document with null origin string
4018         https://bugs.webkit.org/show_bug.cgi?id=78649
4019
4020         Reviewed by Enrica Casucci.
4021
4022         Test: fast/files/null-origin-string.html
4023
4024         * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::~FileReaderLoader):
4025         HashMaps don't like empty keys, and they don't like removing keys that have never been added.
4026
4027 2012-02-15  Anders Carlsson  <andersca@apple.com>
4028
4029         Attempt to fix the Snow Leopard build.
4030
4031         * platform/graphics/ca/mac/TileCache.mm:
4032         (WebCore::TileCache::createTileLayer):
4033         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
4034         (-[WebTileCacheLayer setContentsScale:]):
4035
4036 2012-02-15  Dan Bernstein  <mitz@apple.com>
4037
4038         REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing
4039         https://bugs.webkit.org/show_bug.cgi?id=78759
4040
4041         Reviewed by Simon Fraser.
4042
4043         * rendering/InlineFlowBox.cpp:
4044         (WebCore::InlineFlowBox::boxShadowCanBeAppliedToBackground): Added. Returns false if
4045         paintFillLayer() would push a clip before painting the layer, thus preventing it from casting
4046         its own shadow.
4047         (WebCore::InlineFlowBox::paintBoxDecorations): Pass this as an additional parameter to
4048         boxShadowShouldBeAppliedToBackground().
4049         * rendering/InlineFlowBox.h:
4050         * rendering/RenderBoxModelObject.cpp:
4051         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the InlineFlowBox along to
4052         boxShadowShouldBeAppliedToBackground().
4053         (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added an InlineFlowBox
4054         parameter. If non-0, check boxShadowCanBeAppliedToBackground(). Also check for shadow spread,
4055         and for the case of border radius with a background image, in which paintFillLayerExtended uses
4056         clipping. Finally, fixed a bug in the for() loop for finding the last background layer which
4057         was noticed by Tony Chang.
4058         * rendering/RenderBoxModelObject.h:
4059         * rendering/RenderTableCell.cpp:
4060         (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground):
4061         * rendering/RenderTableCell.h:
4062
4063 2012-02-15  Erik Arvidsson  <arv@chromium.org>
4064
4065         Expose Window constructor
4066         https://bugs.webkit.org/show_bug.cgi?id=78722
4067
4068         Reviewed by Adam Barth.
4069
4070         Test: fast/dom/Window/window-constructor-presence.html
4071
4072         * page/DOMWindow.idl:
4073
4074 2012-02-15  Kelly Norton  <knorton@google.com>
4075
4076         fill-opacity does not render properly only on Chromium Mac.
4077         https://bugs.webkit.org/show_bug.cgi?id=78624
4078
4079         Reviewed by Stephen White.
4080
4081         Test: svg/text/text-fill-opacity.svg
4082
4083         * platform/graphics/skia/FontSkia.cpp:
4084         (WebCore::Font::drawGlyphs):
4085
4086 2012-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>
4087
4088         [BlackBerry] Upstream WebPageClient.h
4089         https://bugs.webkit.org/show_bug.cgi?id=78660
4090
4091         Reviewed by Antonio Gomes.
4092
4093         Header inclusion fix, no new test.
4094
4095         * plugins/blackberry/PluginViewPrivateBlackBerry.h:
4096         Add #include <BlackBerryPlatformIntRectRegion.h>
4097         and #include <BlackBerryPlatformGraphics.h> because they
4098         are being removed from WebKit/blackberry/Api/WebPageClient.h.
4099
4100 2012-02-15  Tim Horton  <timothy_horton@apple.com>
4101
4102         REGRESSION(r105057): Dynamically changing <tspan> offsets is broken
4103         https://bugs.webkit.org/show_bug.cgi?id=78385
4104         <rdar://problem/10832932>
4105
4106         Reviewed by Simon Fraser.
4107
4108         Don't short-circuit buildLayoutAttributesIfNeeded if m_textPositions is already full;
4109         we can't skip rebuilding the layout attributes, just walking the tree to acquire the
4110         positioning lists (invalidation of positioning lists is already covered by textDOMChanged).
4111
4112         Test: svg/text/tspan-dynamic-positioning.svg
4113
4114         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
4115         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
4116
4117 2012-02-15  Tommy Widenflycht  <tommyw@google.com>
4118
4119         MediaStream API: Removing SecurityContext from the embedder API
4120         https://bugs.webkit.org/show_bug.cgi?id=73816
4121
4122         Reviewed by Darin Fisher.
4123
4124         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
4125