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