Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
4         https://bugs.webkit.org/show_bug.cgi?id=76989
5
6         Reviewed by Pavel Feldman.
7
8         * English.lproj/localizedStrings.js:
9         * inspector/front-end/DetailedHeapshotGridNodes.js:
10         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
11         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
12         (WebInspector.HeapSnapshotObjectNode):
13         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
14         (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
15         * inspector/front-end/HeapSnapshot.js:
16         (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
17
18 2012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
19
20         Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
21         https://bugs.webkit.org/show_bug.cgi?id=76711
22
23         Reviewed by Yury Semikhatsky.
24
25         * inspector/Inspector.json:
26         * inspector/InspectorIndexedDBAgent.cpp:
27         (WebCore):
28         (WebCore::assertDocument):
29         (WebCore::assertIDBFactory):
30         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
31         (WebCore::InspectorIndexedDBAgent::requestDatabase):
32         * inspector/InspectorIndexedDBAgent.h:
33         (InspectorIndexedDBAgent):
34         * inspector/front-end/IndexedDBModel.js:
35         (WebInspector.IndexedDBModel):
36         (WebInspector.IndexedDBModel.prototype._frameDetached):
37         (WebInspector.IndexedDBModel.prototype._reset):
38         (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
39         (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
40         (WebInspector.IndexedDBModel.prototype._originRemoved):
41         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
42         (WebInspector.IndexedDBModel.prototype._databaseRemoved):
43         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
44         (WebInspector.IndexedDBModel.prototype._loadDatabase):
45         (WebInspector.IndexedDBModel.Frame):
46         (WebInspector.IndexedDBModel.Database):
47         (WebInspector.IndexedDBModel.ObjectStore):
48         (WebInspector.IndexedDBModel.ObjectStoreIndex):
49         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
50         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
51         (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
52         (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
53         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
54         (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
55         (WebInspector.IndexedDBRequestManager.prototype._reset):
56         (WebInspector.IndexedDBRequestManager.DatabaseRequest):
57         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
58         (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
59
60 2012-01-25  Peter Rybin  <peter.rybin@gmail.com>
61
62         Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
63         https://bugs.webkit.org/show_bug.cgi?id=76676
64
65         Reviewed by Yury Semikhatsky.
66
67         Generator algorithm is redone significantly.
68
69         * inspector/CodeGeneratorInspector.py:
70         (RawTypes.BaseType):
71         (RawTypes.BaseType.request_raw_internal_runtime_cast):
72         (RawTypes.BaseType.generate_validate_method_impl):
73         (RawTypes):
74         (RawTypes.generate_validate_methods):
75         (RawTypes.String):
76         (RawTypes.String.generate_validate_method):
77         (RawTypes.String.get_raw_validator_call_text):
78         (RawTypes.Int):
79         (RawTypes.Int.generate_validate_method):
80         (RawTypes.Int.get_raw_validator_call_text):
81         (RawTypes.Number):
82         (RawTypes.Number.generate_validate_method):
83         (RawTypes.Number.get_raw_validator_call_text):
84         (RawTypes.Bool):
85         (RawTypes.Bool.generate_validate_method):
86         (RawTypes.Bool.get_raw_validator_call_text):
87         (RawTypes.Object):
88         (RawTypes.Object.generate_validate_method):
89         (RawTypes.Object.get_raw_validator_call_text):
90         (RawTypes.Any):
91         (RawTypes.Any.generate_validate_method):
92         (RawTypes.Any.get_raw_validator_call_text):
93         (RawTypes.Array):
94         (RawTypes.Array.generate_validate_method):
95         (RawTypes.Array.get_raw_validator_call_text):
96         (TypeBindings.create_named_type_declaration.Helper):
97         (TypeBindings.create_ad_hoc_type_declaration.Helper):
98         (TypeBindings.create_type_declaration_.EnumBinding):
99         (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
100         (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
101         (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
102         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
103         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
104         (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
105         (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
106         (TypeBindings.create_type_declaration_.PlainString):
107         (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
108         (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
109         (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
110         (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
111         (TypeBindings.create_type_declaration_.TypedefString):
112         (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
113         (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
114         (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
115         (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
116         (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
117         (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
118         (TypeBindings.create_type_declaration_.ClassBinding):
119         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
120         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
121         (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
122         (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
123         (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
124         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
125         (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
126         (get_validator_call_text):
127         (get_in_c_type_text):
128         (AdHocTypeContextImpl):
129         (AdHocTypeContextImpl.__init__):
130         (AdHocTypeContextImpl.get_type_name_fix):
131         (AdHocTypeContextImpl.get_type_name_fix.NameFix):
132         (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
133         (AdHocTypeContextImpl.add_type):
134         (PlainObjectBinding):
135         (PlainObjectBinding.resolve_inner):
136         (PlainObjectBinding.request_user_runtime_cast):
137         (PlainObjectBinding.request_internal_runtime_cast):
138         (PlainObjectBinding.get_validator_call_text):
139         (ArrayBinding):
140         (ArrayBinding.resolve_inner):
141         (ArrayBinding.resolve_inner.AdHocTypeContext):
142         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
143         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
144         (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
145         (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
146         (ArrayBinding.resolve_inner.ResolveData):
147         (ArrayBinding.request_user_runtime_cast):
148         (ArrayBinding.request_internal_runtime_cast):
149         (ArrayBinding.get_code_generator):
150         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
151         (ArrayBinding.get_validator_call_text):
152         (ArrayBinding.get_in_c_type_text):
153         (RawTypeBinding.resolve_inner):
154         (RawTypeBinding):
155         (RawTypeBinding.request_user_runtime_cast):
156         (RawTypeBinding.request_internal_runtime_cast):
157         (RawTypeBinding.get_validator_call_text):
158         (TypeData.get_name):
159         (TypeData):
160         (TypeData.get_domain_name):
161         (resolve_param_type):
162         (NeedRuntimeCastRequest):
163         (NeedRuntimeCastRequest.__init__):
164         (NeedRuntimeCastRequest.acknowledge):
165         (NeedRuntimeCastRequest.is_acknowledged):
166         (resolve_all_types):
167         (resolve_all_types.ForwardListener):
168         (resolve_all_types.ForwardListener.add_type_data):
169         (resolve_all_types.ResolveContext):
170         (Generator):
171         (Generator.go):
172         (Generator.process_event):
173         (Generator.process_event.AdHocTypeContext):
174         (Generator.process_event.AdHocTypeContext.add_type):
175         (Generator.process_event.EventForwardListener):
176         (Generator.process_event.EventForwardListener.add_type_data):
177         (Generator.process_event.EventResolveContext):
178         (Generator.process_event.EventGenerateContext):
179         (Generator.process_types.GenerateContext):
180         (Generator.process_types.create_type_builder_caller.call_type_builder):
181         (Generator.process_types.generate_forward_callback):
182         * inspector/InspectorValues.h:
183         (WebCore::InspectorObject::size):
184
185 2012-01-25  Anton Muhin  <antonm@chromium.org>
186
187         Unreview manual revert of r105843.
188
189         * fileapi/EntryBase.cpp:
190         (WebCore::EntryBase::toURL):
191         * page/SecurityOrigin.cpp:
192         (WebCore::extractInnerURL):
193         * platform/KURL.h:
194         (KURL):
195         * platform/KURLGoogle.cpp:
196         (WebCore):
197         (WebCore::KURLGooglePrivate::setUtf8):
198         (WebCore::KURLGooglePrivate::setAscii):
199         (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
200         (WebCore::KURLGooglePrivate::copyTo):
201         (WebCore::encodeWithURLEscapeSequences):
202         * platform/KURLGooglePrivate.h:
203         (KURLGooglePrivate):
204
205 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
206
207         Use maximum image dimension definition from libwebp
208         https://bugs.webkit.org/show_bug.cgi?id=76980
209
210         Reviewed by Kent Tamura.
211
212         No new tests, no change in behavior.
213
214         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
215         (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
216         * platform/image-encoders/skia/WEBPImageEncoder.h:
217         (): Remove local definition of the maximum webp image dimension
218
219 2012-01-25  Noel Gordon  <noel.gordon@gmail.com>
220
221         JPEGDecoder should use imageDecoder colorProfile helpers
222         https://bugs.webkit.org/show_bug.cgi?id=76968
223         
224         Reviewed by Adam Barth.
225
226         No new tests. Cover by existing tests, in particular:
227           fast/images/ycbcr-with-cmyk-color-profile.html
228           fast/images/gray-scale-jpeg-with-color-profile.html
229           fast/images/cmyk-jpeg-with-color-profile.html
230           fast/images/color-jpeg-with-color-profile.html
231
232         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
233         (WebCore::readColorProfile):  Use ImageDecoder.h color profile helper routines.
234         (WebCore::JPEGImageReader::JPEGImageReader):
235         (WebCore::JPEGImageReader::decode):
236
237 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
238
239         [Texmap] Divide TextureMapperNode.cpp to 3 files.
240         https://bugs.webkit.org/show_bug.cgi?id=76660
241
242         Reviewed by Kenneth Rohde Christiansen.
243
244         Split the animation part of TextureMapperNode out to a separate file, called
245         TextureMapperAnimation.
246         Provide a clean interface for that class, that allows separating the internals of the scene
247         painting from the internals of the animation interpolation.
248
249         No new tests. Existing animation tests cover this.
250
251         * GNUmakefile.list.am: Added new TextureMapper-related files.
252         * Target.pri: Added new TextureMapper-related files.
253         * WebCore.gypi: Added new TextureMapper-related files.
254         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
255         (WebCore::GraphicsLayerTextureMapper::addAnimation):
256         (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
257         (WebCore::GraphicsLayerTextureMapper::removeAnimation):
258         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
259         * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
260         * platform/graphics/texmap/TextureMapperAnimation.h: Added.
261         * platform/graphics/texmap/TextureMapperNode.cpp:
262         (WebCore::TextureMapperNode::syncCompositingStateSelf):
263         (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
264         (WebCore::TextureMapperNode::syncAnimations):
265         (WebCore::TextureMapperNode::syncAnimationsRecursively):
266         (WebCore::TextureMapperNode::syncCompositingState):
267         * platform/graphics/texmap/TextureMapperNode.h:
268
269 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
270
271         <style scoped>: Implement registering of <style scoped> with the scoping element
272         https://bugs.webkit.org/show_bug.cgi?id=67790
273
274         Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
275         Update the registration whenever the 'scoped' attribute is changed,
276         or the <style> element eneters or leaves the tree.
277
278         Also, extend windows.internals to allow for testing of the registration ref-counting.
279
280         Reviewed by Dimitri Glazkov.
281
282         Test: fast/css/style-scoped/registering.html
283
284         * WebCore.exp.in:
285         * dom/Element.cpp:
286         (WebCore::Element::hasScopedHTMLStyleChild):
287         (WebCore::Element::numberOfScopedHTMLStyleChildren):
288         (WebCore::Element::registerScopedHTMLStyleChild):
289         (WebCore::Element::unregisterScopedHTMLStyleChild):
290         * dom/Element.h:
291         * dom/ElementRareData.h:
292         (WebCore::ElementRareData::ElementRareData):
293         (WebCore::ElementRareData::registerScopedHTMLStyleChild):
294         (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
295         (WebCore::ElementRareData::hasScopedHTMLStyleChild):
296         (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
297         * html/HTMLStyleElement.cpp:
298         (WebCore::HTMLStyleElement::HTMLStyleElement):
299         (WebCore::HTMLStyleElement::~HTMLStyleElement):
300         (WebCore::HTMLStyleElement::parseMappedAttribute):
301         (WebCore::HTMLStyleElement::registerWithScopingNode):
302         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
303         (WebCore::HTMLStyleElement::insertedIntoDocument):
304         (WebCore::HTMLStyleElement::removedFromDocument):
305         (WebCore::HTMLStyleElement::willRemove):
306         * html/HTMLStyleElement.h:
307         * testing/Internals.cpp:
308         (WebCore::Internals::numberOfScopedHTMLStyleChildren):
309         * testing/Internals.h:
310         * testing/Internals.idl:
311
312 2012-01-24  Daniel Bates  <dbates@webkit.org>
313
314         Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
315         (https://bugs.webkit.org/show_bug.cgi?id=75049)
316
317         Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
318         LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
319         WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
320
321         * platform/KURL.h:
322         (WebCore::KURL::innerURL):
323
324 2012-01-24  Vangelis Kokkevis  <vangelis@chromium.org>
325
326         [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
327         https://bugs.webkit.org/show_bug.cgi?id=76735
328
329         This is to add skipped layers to their RenderSurface's layer list so that they
330         are considered in the next update. Without this change, m_skipsDraw = false sticks
331         with the layer for the remainder of its lifetime.
332
333         Reviewed by James Robinson.
334
335         Tests: Unit test (TiledLayerChromiumTest.cpp)
336
337         * platform/graphics/chromium/TiledLayerChromium.cpp:
338         (WebCore::TiledLayerChromium::drawsContent):
339         * platform/graphics/chromium/TiledLayerChromium.h:
340         (WebCore::TiledLayerChromium::skipsDraw):
341
342 2012-01-24  Kentaro Hara  <haraken@chromium.org>
343
344         Invalidate r105697, r105766, r105809 and r105805
345         https://bugs.webkit.org/show_bug.cgi?id=76970
346
347         Reviewed by Adam Barth.
348
349         I've been trying to stop rebuilding .h/.cpp files generated by
350         unchanged IDLs (bug 76836), but the approach was wrong.
351         This patch invalidates patches committed in r105697, r105766,
352         r105809 and r105805.
353
354         In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
355         so that they overwrite .h/.cpp files only when the bytes differ.
356         By this fix, we were able to stop rebuilding .h/.cpp files that are not
357         changed. However, the fix has made generate-bindings.pl run for almost
358         all IDLs every time. The reason is as follows:
359
360         (0) Assume that there are A.idl, B.idl and C.idl.
361
362         (1) Modify A.idl.
363         (2) First build.
364         (3) supplemental_dependency.tmp is updated.
365         (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
366         (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.
367
368         (6) Second build.
369         (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
370         (8) B.h, B.cpp, C.h and C.cpp are not updated.
371
372         (9) Third build.
373         (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
374         (11) B.h, B.cpp, C.h and C.cpp are not updated.
375         ...
376
377         We should fix the bug somehow, but how to fix it is not obvious.
378         For the time being, this patch invalidates r105697, r105766, r105809
379         and r105805.
380
381         No tests. No change in behavior.
382
383         * bindings/scripts/CodeGenerator.pm:
384         (UpdateFile):
385         * bindings/scripts/CodeGeneratorCPP.pm:
386         (WriteData):
387         * bindings/scripts/CodeGeneratorJS.pm:
388         (WriteData):
389         * bindings/scripts/CodeGeneratorObjC.pm:
390         (WriteData):
391         * bindings/scripts/CodeGeneratorV8.pm:
392         (WriteData):
393
394 2012-01-24  Eric Uhrhane  <ericu@chromium.org>
395
396         Add full support for filesystem URLs.
397         https://bugs.webkit.org/show_bug.cgi?id=75049
398
399         Reviewed by Adam Barth.
400
401         No new tests; existing layout tests cover the basic functionality, and
402         the new functionality won't be there until Chromium adds it.  This patch
403         merely enables that, without changing behavior.
404
405         * fileapi/EntryBase.cpp:
406         (WebCore::EntryBase::toURL): Add missing escaping of URL path.
407
408         * page/SecurityOrigin.cpp:
409         (WebCore::extractInnerURL): Use innerURL member, if it's populated.
410
411         * platform/KURL.h:
412         (WebCore::KURL::innerURL): Add innerURL member.
413
414         * platform/KURLGoogle.cpp:
415         (WebCore::KURLGooglePrivate::KURLGooglePrivate):
416         (WebCore::KURLGooglePrivate::operator=):
417         Add copy constructor and operator=, which are now needed since
418         m_innerURL needs special handling.
419         (WebCore::KURLGooglePrivate::setUtf8):
420         (WebCore::KURLGooglePrivate::setAscii):
421         Add calls to initInnerURL.
422         (WebCore::KURLGooglePrivate::initInnerURL):
423         Add method to init/copy m_innerURL.
424         (WebCore::KURLGooglePrivate::copyTo):
425         Handle m_innerURL during copies.
426         (WebCore::encodeWithURLEscapeSequences):
427         Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
428
429         * platform/KURLGooglePrivate.h:
430         (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
431
432 2012-01-24  Ken Buchanan  <kenrb@chromium.org>
433
434         Crash in updateFirstLetter() from unnecessary anonymous block
435         https://bugs.webkit.org/show_bug.cgi?id=72675
436
437         Reviewed by David Hyatt.
438
439         There was a problem with anonymous blocks not getting removed when
440         their only block flow siblings are removed if they also have non-block
441         flow first-letter siblings (i.e. floats). This patch modifies
442         RenderBlock::removeChild() to look for this situation and strip out
443         unnecessary anonymous container blocks if it occurs.
444
445         * rendering/RenderBlock.cpp:
446         (WebCore::RenderBlock::removeChild):
447         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
448         * rendering/RenderBlock.h:
449         (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
450
451 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
452
453         [chromium] event.dataTransfer.types should not return "Text" or "URL"
454         https://bugs.webkit.org/show_bug.cgi?id=76218
455
456         Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
457         dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
458         elsewhere.
459
460         Reviewed by Tony Chang.
461
462         Test: fast/events/dropzone-005.html
463
464         * platform/chromium/ChromiumDataObject.cpp:
465         (WebCore::ChromiumDataObject::types):
466         (WebCore::ChromiumDataObject::getData):
467         * platform/chromium/DragDataChromium.cpp:
468         (WebCore::DragData::containsURL):
469         (WebCore::DragData::asURL):
470         (WebCore::DragData::canSmartReplace):
471
472 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
473
474         Make DataTransferItemList::length() const.
475         https://bugs.webkit.org/show_bug.cgi?id=76946
476
477         Just a const-correctness change.
478
479         Reviewed by Tony Chang.
480
481         No new tests since no functionality changed.
482
483         * dom/DataTransferItemList.h:
484         (DataTransferItemList):
485         * platform/chromium/DataTransferItemListChromium.cpp:
486         (WebCore::DataTransferItemListChromium::length):
487         * platform/chromium/DataTransferItemListChromium.h:
488         (DataTransferItemListChromium):
489         * platform/qt/DataTransferItemListQt.cpp:
490         (WebCore::DataTransferItemListQt::length):
491         * platform/qt/DataTransferItemListQt.h:
492         (DataTransferItemListQt):
493
494 2012-01-24  Tony Chang  <tony@chromium.org>
495
496         REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
497         https://bugs.webkit.org/show_bug.cgi?id=76317
498
499         Reviewed by Darin Adler.
500
501         Test: scrollbars/scroll-rtl-or-bt-layer.html
502
503         * rendering/RenderLayer.cpp:
504         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
505         scrolling to the just computed offset.
506
507 2012-01-24  Mark Rowe  <mrowe@apple.com>
508
509         Fix all of the builds after r105812.
510
511         * loader/EmptyClients.h: Move the #include in to the correct #if.
512
513 2012-01-24  Dmitry Lomov  <dslomov@google.com>
514
515         [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
516         https://bugs.webkit.org/show_bug.cgi?id=76944.
517
518         Reviewed by David Levin.
519
520         * bindings/v8/V8Proxy.cpp:
521         (WebCore::V8Proxy::retrieveWindowForCallingContext):
522         * bindings/v8/V8Proxy.h:
523         * bindings/v8/custom/V8DOMWindowCustom.cpp:
524         (WebCore::handlePostMessageCallback):
525
526 2012-01-24  Geoffrey Garen  <ggaren@apple.com>
527
528         Updated bindings test expectations after my last patch.
529
530         Not reviewed.
531
532         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
533         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
534         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
535         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
536         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
537         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
538         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
539         * bindings/scripts/test/JS/JSTestInterface.cpp:
540         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
541         (WebCore::setJSTestInterfaceSupplementalStr2):
542         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
543         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
544         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
545         * bindings/scripts/test/JS/JSTestObj.cpp:
546         (WebCore::setJSTestObjStringAttr):
547         (WebCore::setJSTestObjStringAttrWithGetterException):
548         (WebCore::setJSTestObjStringAttrWithSetterException):
549         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
550         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
551         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
552         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
553         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
554         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
555         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
556         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
557         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
558         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
559         * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
560         (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
561         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
562         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
563
564 2012-01-24  Greg Billock  <gbillock@google.com>
565
566         Change dispatchIntent API to pure virtual in FrameLoaderClient.
567
568         The Windows compiler needs this to deal with the forward declaration
569         of WebCore::IntentRequest.
570         https://bugs.webkit.org/show_bug.cgi?id=76940
571
572         Reviewed by Adam Barth.
573
574         * loader/EmptyClients.h:
575         (WebCore::EmptyFrameLoaderClient::dispatchIntent):
576         * loader/FrameLoaderClient.h:
577
578 2012-01-24  Kentaro Hara  <haraken@chromium.org>
579
580         CodeGeneratorJS.pm should overwrite the output .h/.cpp
581         only if the bytes differ
582         https://bugs.webkit.org/show_bug.cgi?id=76922
583
584         Reviewed by Darin Adler.
585
586         This is one of steps to stop rebuilding .h/.cpp files
587         generated by unchanged IDLs (bug 76836).
588         This patch makes a change on CodeGeneratorJS.pm so that
589         it overwrites the output .h/.cpp only if the bytes differ.
590
591         No tests. No change in behavior.
592         I manually confirmed that when I add a new attribute to Element.idl,
593         the time-stamps of unrelated JS*.h and JS*.cpp do not change.
594
595         * bindings/scripts/CodeGeneratorJS.pm:
596         (WriteData): Used UpdateFileIfChanged().
597
598 2012-01-24  Kentaro Hara  <haraken@chromium.org>
599
600         CodeGeneratorCPP.pm should overwrite the output .h/.cpp
601         only if the bytes differ
602         https://bugs.webkit.org/show_bug.cgi?id=76926
603
604         Reviewed by Adam Barth.
605
606         This is one of steps to stop rebuilding .h/.cpp files
607         generated by unchanged IDLs (bug 76836).
608         This patch makes a change on CodeGeneratorCPP.pm so that
609         it overwrites the output .h/.cpp only if the bytes differ.
610
611         No tests. No change in behavior.
612         Manually confirm that when you add a new attribute to Element.idl,
613         the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.
614
615         * bindings/scripts/CodeGeneratorCPP.pm:
616         (WriteData): Used UpdateFileIfChanged().
617
618 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
619
620         Unreviewed, rolling out r105238.
621         http://trac.webkit.org/changeset/105238
622         https://bugs.webkit.org/show_bug.cgi?id=76943
623
624         Remove the assert text hack as it served its purpose.
625         (Requested by dave_levin on #webkit).
626
627         * dom/ActiveDOMObject.cpp:
628         (WebCore::ContextDestructionObserver::ContextDestructionObserver):
629         (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
630         (WebCore::ActiveDOMObject::ActiveDOMObject):
631         (WebCore::ActiveDOMObject::~ActiveDOMObject):
632         * storage/DatabaseSync.cpp:
633         (WebCore::DatabaseSync::openDatabaseSync):
634         (WebCore::DatabaseSync::~DatabaseSync):
635         (WebCore::DatabaseSync::changeVersion):
636         (WebCore::DatabaseSync::runTransaction):
637
638 2012-01-24  Kentaro Hara  <haraken@chromium.org>
639
640         [Refactoring] In CodeGeneratorGObject.pm, merge
641         GeneratePrivateHeader() into WriteData()
642         https://bugs.webkit.org/show_bug.cgi?id=76923
643
644         Reviewed by Adam Barth.
645
646         This patch merges GeneratePrivateHeader() into WriteData(),
647         so that all code to output .h/.cpp is managed by WriteData(),
648         just like other CodeGenerator*.pm does.
649
650         No tests. No change in behavior.
651         Confirm that GTK/GObject build passes.
652
653         * bindings/scripts/CodeGeneratorGObject.pm:
654         (Generate):
655         (WriteData): Copied GeneratePrivateHeader() to here.
656         Removed $hasLegacyParen, $hasRealParent and $hasParent
657         since they are not used.
658         (GenerateInterface):
659
660 2012-01-24  Daniel Cheng  <dcheng@chromium.org>
661
662         dropzone does not normalize type strings
663         https://bugs.webkit.org/show_bug.cgi?id=76925
664
665         Per the HTML spec, we are supposed to normalize types during dropzone processing by
666         lowercasing them.
667
668         Reviewed by Tony Chang.
669
670         Tests: fast/events/dropzone-002.html
671
672         * dom/Clipboard.cpp:
673         (WebCore::Clipboard::hasDropZoneType):
674
675 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
676
677         [GTK] Refactor GTK's accessibilitity code to be more modular
678         https://bugs.webkit.org/show_bug.cgi?id=76783
679
680         Reviewed by Martin Robinson.
681
682         Don't expose functions for the ATK interfaces in header files.
683
684         Expose only the initialization function for each interface, and
685         use the generic functions from ATK interfaces where needed.
686
687         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
688         (webkitAccessibleActionDoAction): Made this function static.
689         (webkitAccessibleActionGetNActions): Ditto.
690         (webkitAccessibleActionGetDescription): Ditto.
691         (webkitAccessibleActionGetKeybinding): Ditto.
692         (webkitAccessibleActionGetName): Ditto.
693         (webkitAccessibleActionInterfaceInit): Moved to the bottom.
694         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
695         functions but the one for initializing the interface from here.
696
697         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
698         (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
699         (webkitAccessibleComponentGetExtents): Ditto.
700         (webkitAccessibleComponentGrabFocus): Ditto.
701         (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
702         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
703         functions but the one for initializing the interface from here.
704
705         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
706         (webkitAccessibleDocumentGetAttributeValue): Made this function static.
707         (webkitAccessibleDocumentGetAttributes): Ditto.
708         (webkitAccessibleDocumentGetLocale): Ditto.
709         (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
710         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
711         functions but the one for initializing the interface from here.
712
713         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
714         (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
715         (webkitAccessibleEditableTextSetTextContents): Ditto.
716         (webkitAccessibleEditableTextInsertText): Ditto.
717         (webkitAccessibleEditableTextCopyText): Ditto.
718         (webkitAccessibleEditableTextCutText): Ditto.
719         (webkitAccessibleEditableTextDeleteText): Ditto.
720         (webkitAccessibleEditableTextPasteText): Ditto.
721         (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
722         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
723         functions but the one for initializing the interface from here.
724
725         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
726         (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
727         (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
728         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
729         functions but the one for initializing the interface from here.
730
731         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
732         (webkitAccessibleHypertextGetLink): Made this function static.
733         (webkitAccessibleHypertextGetNLinks): Ditto.
734         (webkitAccessibleHypertextGetLinkIndex): Ditto.
735         (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
736         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
737         functions but the one for initializing the interface from here.
738
739         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
740         (webkitAccessibleImageGetImagePosition): Made this function static.
741         (webkitAccessibleImageGetImageDescription): Ditto.
742         (webkitAccessibleImageGetImageSize): Ditto.
743         (webkitAccessibleImageInterfaceInit): Moved to the bottom.
744         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
745         functions but the one for initializing the interface from here.
746
747         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
748         (webkitAccessibleSelectionAddSelection): Made this function static.
749         (webkitAccessibleSelectionClearSelection): Ditto.
750         (webkitAccessibleSelectionRefSelection): Ditto.
751         (webkitAccessibleSelectionGetSelectionCount): Ditto.
752         (webkitAccessibleSelectionIsChildSelected): Ditto.
753         (webkitAccessibleSelectionRemoveSelection): Ditto.
754         (webkitAccessibleSelectionSelectAllSelection): Ditto.
755         (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
756         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
757         functions but the one for initializing the interface from here.
758
759         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
760         (webkitAccessibleTableRefAt): Made this function static.
761         (webkitAccessibleTableGetIndexAt): Ditto.
762         (webkitAccessibleTableGetColumnAtIndex): Ditto.
763         (webkitAccessibleTableGetRowAtIndex): Ditto.
764         (webkitAccessibleTableGetNColumns): Ditto.
765         (webkitAccessibleTableGetNRows): Ditto.
766         (webkitAccessibleTableGetColumnExtentAt): Ditto.
767         (webkitAccessibleTableGetRowExtentAt): Ditto.
768         (webkitAccessibleTableGetColumnHeader): Ditto.
769         (webkitAccessibleTableGetRowHeader): Ditto.
770         (webkitAccessibleTableGetCaption): Ditto.
771         (webkitAccessibleTableGetColumnDescription): Ditto.
772         (webkitAccessibleTableGetRowDescription): Ditto.
773         (webkitAccessibleTableInterfaceInit): Moved to the bottom.
774         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
775         functions but the one for initializing the interface from here.
776
777         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
778         (textForRenderer): Made this function static.
779         (textForObject): Ditto.
780         (webkitAccessibleTextGetText): Ditto.
781         (webkitAccessibleTextGetTextAfterOffset): Ditto.
782         (webkitAccessibleTextGetTextAtOffset): Ditto.
783         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
784         (webkitAccessibleTextGetCharacterAtOffset): Ditto.
785         (webkitAccessibleTextGetCaretOffset): Ditto.
786         (webkitAccessibleTextGetRunAttributes): Ditto.
787         (webkitAccessibleTextGetDefaultAttributes): Ditto.
788         (webkitAccessibleTextGetCharacterExtents): Ditto.
789         (webkitAccessibleTextGetRangeExtents): Ditto.
790         (webkitAccessibleTextGetCharacterCount): Ditto.
791         (webkitAccessibleTextGetOffsetAtPoint): Ditto.
792         (webkitAccessibleTextGetNSelections): Ditto.
793         (webkitAccessibleTextGetSelection): Ditto.
794         (webkitAccessibleTextAddSelection): Ditto.
795         (webkitAccessibleTextSetSelection): Ditto.
796         (webkitAccessibleTextRemoveSelection): Ditto.
797         (webkitAccessibleTextSetCaretOffset): Ditto.
798         (webkitAccessibleTextInterfaceInit): Moved to the bottom.
799         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
800         functions but the one for initializing the interface from here.
801
802         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
803         (webkitAccessibleValueGetCurrentValue): Made this function static.
804         (webkitAccessibleValueGetMaximumValue): Ditto.
805         (webkitAccessibleValueGetMinimumValue): Ditto.
806         (webkitAccessibleValueSetCurrentValue): Ditto.
807         (webkitAccessibleValueGetMinimumIncrement): Ditto.
808         (webkitAccessibleValueInterfaceInit): Moved to the bottom.
809         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
810         functions but the one for initializing the interface from here.
811
812         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
813         (webkitAccessibleGetName): Replace call to
814         webkitAccessibleTextGetText with atk_text_get_text.
815
816 2012-01-24  James Robinson  <jamesr@chromium.org>
817
818         [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
819         https://bugs.webkit.org/show_bug.cgi?id=76887
820
821         Reviewed by Dimitri Glazkov.
822
823         A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
824         It's possible in some circumstances for this to happen during painting. The null check for this pointer was
825         erroneously removed from the base class TiledLayerChromium in r105460.
826
827         No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
828         trying!). Fix based on crash reports from the field.
829
830         * platform/graphics/chromium/ContentLayerChromium.cpp:
831         (WebCore::ContentLayerChromium::drawsContent):
832         * platform/graphics/chromium/ContentLayerChromium.h:
833
834 2012-01-16  Robert Hogan  <robert@webkit.org>
835
836         REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
837         https://bugs.webkit.org/show_bug.cgi?id=74874
838
839         Reviewed by Julien Chaffraix.
840
841         Tests: fast/css/min-width-with-spanned-cell-fixed.html
842                fast/css/min-width-with-spanned-cell.html
843
844         A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
845         columns are all percent and the width of the span cell is wider than the cells it spans in any other 
846         row then it will squeeze those cells beyond the width required to display their contents.
847
848         To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
849         their contents. The squeezing remains for fixed layout tables as per FF and Opera.
850
851         * rendering/AutoTableLayout.cpp:
852         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
853
854 2012-01-24  Tommy Widenflycht  <tommyw@google.com>
855
856         MediaStream API: Split the MediaStream track list into audio/video specific ones.
857         https://bugs.webkit.org/show_bug.cgi?id=76614
858
859         The latest draft of the WebRTC standard have split the MediaStream combined track list
860         into audio/video specific ones.
861
862         Reviewed by Darin Fisher.
863
864         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
865
866         * mediastream/LocalMediaStream.cpp:
867         (WebCore::LocalMediaStream::create):
868         (WebCore::LocalMediaStream::LocalMediaStream):
869         * mediastream/LocalMediaStream.h:
870         * mediastream/MediaStream.cpp:
871         (WebCore::processTrackList):
872         (WebCore::MediaStream::create):
873         (WebCore::MediaStream::MediaStream):
874         * mediastream/MediaStream.h:
875         (WebCore::MediaStream::audioTracks):
876         (WebCore::MediaStream::videoTracks):
877         * mediastream/MediaStream.idl:
878         * mediastream/MediaStreamTrack.cpp:
879         (WebCore::MediaStreamTrack::create):
880         (WebCore::MediaStreamTrack::MediaStreamTrack):
881         (WebCore::MediaStreamTrack::kind):
882         (WebCore::MediaStreamTrack::label):
883         (WebCore::MediaStreamTrack::enabled):
884         (WebCore::MediaStreamTrack::setEnabled):
885         (WebCore::MediaStreamTrack::component):
886         * mediastream/MediaStreamTrack.h:
887         * mediastream/UserMediaClient.h:
888         * mediastream/UserMediaRequest.cpp:
889         (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
890         (WebCore::UserMediaRequest::succeed):
891         * mediastream/UserMediaRequest.h:
892         * platform/mediastream/MediaStreamCenter.cpp:
893         (WebCore::MediaStreamCenter::queryMediaStreamSources):
894         (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
895         * platform/mediastream/MediaStreamCenter.h:
896         * platform/mediastream/MediaStreamDescriptor.h:
897         (WebCore::MediaStreamDescriptor::create):
898         (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
899         (WebCore::MediaStreamDescriptor::audioComponent):
900         (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
901         (WebCore::MediaStreamDescriptor::videoComponent):
902         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
903
904 2012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
905
906         Unreviewed, rolling out r105738.
907         http://trac.webkit.org/changeset/105738
908         https://bugs.webkit.org/show_bug.cgi?id=76930
909
910         caused fast/css/getComputedStyle/computed-style-border-
911         image.html to crash (Requested by kling on #webkit).
912
913         * dom/NamedNodeMap.cpp:
914         * dom/NamedNodeMap.h:
915         * dom/StyledElement.cpp:
916         (WebCore::StyledElement::updateStyleAttribute):
917         (WebCore::StyledElement::createInlineStyleDecl):
918         (WebCore::StyledElement::destroyInlineStyleDecl):
919         (WebCore::StyledElement::ensureInlineStyleDecl):
920         (WebCore::StyledElement::style):
921         (WebCore::StyledElement::addSubresourceAttributeURLs):
922         * dom/StyledElement.h:
923         (WebCore::StyledElement::inlineStyleDecl):
924
925 2012-01-24  Parag Radke  <nrqv63@motorola.com>
926
927         REGRESSION (r73385): Marquee with behavior="alternate" is not working
928         https://bugs.webkit.org/show_bug.cgi?id=64230
929
930         Reviewed by Simon Fraser.
931
932         This patch gives correct content width for marquee, which computes
933         correct start position to scroll marquee.
934
935         Test: fast/html/marquee-alternate.html
936
937         * rendering/RenderBlock.cpp:
938         (WebCore::RenderBlock::computePreferredLogicalWidths):
939         We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's 
940         actual content width to compute the initial/end position in case of 'MALTERNATE'.
941         So we need to calculate the logical width in Alternate case even if fixed width is specified
942         as content has to animate between renderBox().right().x() - contentWidth() and 
943         renderBox().left().x() + contentWidth().
944         
945         * rendering/RenderMarquee.cpp:
946         (WebCore::RenderMarquee::computePosition):
947         Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.
948
949 2012-01-24  Andreas Kling  <awesomekling@apple.com>
950
951         RenderInline: Skip caching the computed line height.
952         <http://webkit.org/b/76929>
953
954         Reviewed by David Hyatt.
955
956         Stop caching the computed line height on RenderInline and make retrieving it from
957         RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
958         This appears to be mostly performance neutral, I don't get more than the occasional
959         sample hit when instrumenting heavier web pages.
960
961         This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
962         HTML5 spec at <http://whatwg.org/c>.
963
964         * rendering/RenderInline.cpp:
965         (WebCore::RenderInline::RenderInline):
966         (WebCore::RenderInline::styleDidChange):
967         (WebCore::RenderInline::lineHeight):
968         * rendering/RenderInline.h:
969         * rendering/style/RenderStyle.h:
970         (WebCore::RenderStyle::computedLineHeight):
971
972             Optimize computedLineHeight() to mitigate some of the damage of calling
973             it more often.
974
975 2012-01-24  Abhishek Arya  <inferno@chromium.org>
976
977         Crash when rendering -webkit-column-span.
978         https://bugs.webkit.org/show_bug.cgi?id=73265
979
980         Reviewed by David Hyatt.
981
982         This patch addresses 2 problems causing crashes in multi-column layout
983         1. Trying to render -webkit-column-span for :before, :after caused
984            re-entrancy in updateBeforeAfterContent while working on splitFlow.
985         2. Cloning a block which has its :before, :after content not added yet,
986            caused issues because cloneBlock will definitely have its :before,
987            :after content created when setStyle() is called. So, we would
988            overwrite cloneBlock with a wrong childrenInline value.
989
990         Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
991                fast/multicol/span/generated-child-split-flow-crash.html
992
993         * rendering/RenderBlock.cpp:
994         (WebCore::RenderBlock::clone):
995         (WebCore::RenderBlock::columnsBlockForSpanningElement):
996
997 2012-01-22  Robert Hogan  <robert@webkit.org>
998
999         Incorrect positioning of floating pseudo-elements in table captions
1000         https://bugs.webkit.org/show_bug.cgi?id=76664
1001
1002         Reviewed by Julien Chaffraix.
1003
1004         Tests: fast/table/caption-encloses-overhanging-float-expected.html
1005                fast/table/caption-encloses-overhanging-float.html
1006
1007         Allow table captions to expand and enclose overhanging floats. When performing
1008         layout on a caption ensure that its logical top is set so that it does not mistakenly
1009         conclude that floats in a previous sibling are intruding into it when they're not.
1010
1011         Mostly diagnosed by Abhishek Arya.
1012
1013         * rendering/RenderBlock.cpp:
1014         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
1015          that can enclosed overhanging floats.
1016         * rendering/RenderTable.cpp:
1017         (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
1018          top offset before laying it out.
1019         (WebCore::RenderTable::layout):
1020         * rendering/RenderTable.h:
1021
1022 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1023
1024         In CodeGeneratorV8.pm, overwrite the output .h/.cpp
1025         only if the bytes differ
1026         https://bugs.webkit.org/show_bug.cgi?id=76920
1027
1028         Reviewed by Darin Adler.
1029
1030         This is one of steps to stop rebuilding .h/.cpp files
1031         generated by unchanged IDLs (bug 76836).
1032         This patch makes a change on CodeGeneratorV8.pm so that
1033         it overwrites the output .h/.cpp only if the bytes differ.
1034
1035         No tests. No change in behavior.
1036         I manually confirmed that when I add a new attribute to Element.idl,
1037         the time-stamps of unrelated V8*.h and V8*.cpp do not change.
1038
1039         * bindings/scripts/CodeGeneratorV8.pm:
1040         (WriteData): Used UpdateFileIfChanged().
1041
1042 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1043
1044         [Refactoring] Remove finish() from all CodeGenerator*.pm
1045         https://bugs.webkit.org/show_bug.cgi?id=76918
1046
1047         Reviewed by Darin Adler.
1048
1049         Now finish() is empty in all CodeGenerator*.pm. This patch removes them.
1050
1051         No tests. No change in behavior.
1052
1053         * bindings/scripts/CodeGenerator.pm:
1054         (ProcessDocument):
1055         * bindings/scripts/CodeGeneratorCPP.pm:
1056         * bindings/scripts/CodeGeneratorGObject.pm:
1057         * bindings/scripts/CodeGeneratorJS.pm:
1058         * bindings/scripts/CodeGeneratorObjC.pm:
1059         * bindings/scripts/CodeGeneratorV8.pm:
1060
1061 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1062
1063         Web Inspector: incorrect highlight position when searching in console
1064         https://bugs.webkit.org/show_bug.cgi?id=76837
1065
1066         Reviewed by Yury Semikhatsky.
1067
1068         * inspector/front-end/ConsoleMessage.js:
1069         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
1070         (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
1071         (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
1072         (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
1073         (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):
1074
1075 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
1076
1077         Show layer borders for scrollbar layers
1078         https://bugs.webkit.org/show_bug.cgi?id=76888
1079
1080         Reviewed by Beth Dakin.
1081         
1082         When compositing layer borders are showing, show the borders
1083         for scrollbars layers. This reduces confusion about whether scrollbars
1084         are rendering into their own layers.
1085         
1086         Requires a new parameter to two GraphicsLayerClient methods.
1087
1088         * platform/graphics/GraphicsLayer.h:
1089         (WebCore::GraphicsLayer::showDebugBorders):
1090         (WebCore::GraphicsLayer::showRepaintCounter):
1091         * platform/graphics/GraphicsLayerClient.h:
1092         * rendering/RenderLayerBacking.cpp:
1093         (WebCore::RenderLayerBacking::showDebugBorders):
1094         (WebCore::RenderLayerBacking::showRepaintCounter):
1095         * rendering/RenderLayerBacking.h:
1096         * rendering/RenderLayerCompositor.cpp:
1097         (WebCore::RenderLayerCompositor::showDebugBorders):
1098         (WebCore::RenderLayerCompositor::showRepaintCounter):
1099         * rendering/RenderLayerCompositor.h:
1100
1101 2012-01-24  David Levin  <levin@chromium.org>
1102
1103         [windows] Convert usage of GetDC to HWndDC Part 3.
1104         https://bugs.webkit.org/show_bug.cgi?id=76889
1105
1106         Reviewed by Adam Roben.
1107
1108         No new functionality so no new tests.
1109
1110         * platform/graphics/win/UniscribeController.cpp:
1111         (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
1112         (WebCore::UniscribeController::shape): Use the delayed allocation.
1113         * platform/win/PopupMenuWin.cpp:
1114         (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.
1115
1116 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1117
1118         [GTK] Refactor GTK's accessibilitity code to be more modular
1119         https://bugs.webkit.org/show_bug.cgi?id=76783
1120
1121         Reviewed by Martin Robinson.
1122
1123         Fix coding style in the ATK AccessibilityObject wrapper.
1124
1125         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1126         (webkitAccessibleGetName):
1127         (webkitAccessibleGetDescription):
1128         (webkitAccessibleGetParent):
1129         (webkitAccessibleGetNChildren):
1130         (webkitAccessibleRefChild):
1131         (webkitAccessibleGetIndexInParent):
1132         (webkitAccessibleGetAttributes):
1133         (atkRole):
1134         (webkitAccessibleGetRole):
1135         (setAtkStateSetFromCoreObject):
1136         (webkitAccessibleRefStateSet):
1137         (webkitAccessibleRefRelationSet):
1138         (webkitAccessibleInit):
1139         (webkitAccessibleFinalize):
1140         (webkit_accessible_class_init):
1141
1142 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1143
1144         [GTK] Refactor GTK's accessibilitity code to be more modular
1145         https://bugs.webkit.org/show_bug.cgi?id=76783
1146
1147         Reviewed by Martin Robinson.
1148
1149         Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.
1150
1151         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
1152         'include' lines that are no longer needed after the refactor.
1153
1154 2012-01-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
1155
1156         [EFL] Remove CookieJarEfl.cpp
1157         https://bugs.webkit.org/show_bug.cgi?id=76916
1158
1159         Reviewed by Gustavo Noronha Silva.
1160
1161         CookieJarEfl.cpp has not been used for years -- we either need
1162         CookieJarCurl or CookieJarSoup depending on the chosen network
1163         backend.
1164
1165         No new tests, just an unused file being removed.
1166
1167         * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
1168         * platform/efl/CookieJarEfl.cpp: Removed.
1169
1170 2012-01-24  Abhishek Arya  <inferno@chromium.org>
1171
1172         Crash when accessing removed parent in InlineTextBox.
1173         https://bugs.webkit.org/show_bug.cgi?id=72982
1174
1175         Reviewed by James Robinson.
1176
1177         The crash happens because:
1178         1. We add heading element(h1) before the span element(span1),
1179            causing splitflow on the anonymous block containing BeforeText,
1180            span1(and SpanText) and AfterText.
1181         2. span1 moves to the cloneBlock (continuation).
1182         3. Our anonymous block and cloneBlock are both marked for layout,
1183            however we still have a copy of our lineboxes with its childs
1184            as the textboxes belonging to SpanText.
1185         4. Our anonymous block only child BeforeText is getting removed,
1186            so we dont have any children anymore and we delete our lineboxes,
1187            leaving behind the children textboxes belonging to SpanText.
1188         5. SpanText is getting destroyed, so it tries to inform removed
1189            parent lineboxes causing the crash.
1190
1191         Test: fast/block/block-remove-child-delete-line-box-crash.html
1192
1193         * rendering/RenderBlock.cpp:
1194         (WebCore::RenderBlock::removeChild):
1195
1196 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1197
1198         [GTK] Refactor GTK's accessibilitity code to be more modular
1199         https://bugs.webkit.org/show_bug.cgi?id=76783
1200
1201         Reviewed by Martin Robinson.
1202
1203         New files for the implementation of the AtkTable interface,
1204         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1205
1206         * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
1207         (core):
1208         (cell):
1209         (cellIndex):
1210         (cellAtIndex):
1211         (webkitAccessibleTableInterfaceInit):
1212         (webkitAccessibleTableRefAt):
1213         (webkitAccessibleTableGetIndexAt):
1214         (webkitAccessibleTableGetColumnAtIndex):
1215         (webkitAccessibleTableGetRowAtIndex):
1216         (webkitAccessibleTableGetNColumns):
1217         (webkitAccessibleTableGetNRows):
1218         (webkitAccessibleTableGetColumnExtentAt):
1219         (webkitAccessibleTableGetRowExtentAt):
1220         (webkitAccessibleTableGetColumnHeader):
1221         (webkitAccessibleTableGetRowHeader):
1222         (webkitAccessibleTableGetCaption):
1223         (webkitAccessibleTableGetColumnDescription):
1224         (webkitAccessibleTableGetRowDescription):
1225         * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
1226         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1227         related to the implementation of the AtkTable interface.
1228
1229         Add new files to build files.
1230
1231         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
1232         * WebCore.gypi: Ditto.
1233
1234 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1235
1236         Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
1237         https://bugs.webkit.org/show_bug.cgi?id=76903
1238
1239         Reviewed by Yury Semikhatsky.
1240
1241         * inspector/front-end/TabbedPane.js:
1242         (WebInspector.TabbedPane.prototype._updateTabElements):
1243         * inspector/front-end/tabbedPane.css:
1244         (.tabbed-pane-content.has-no-tabs):
1245
1246 2012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
1247
1248         Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
1249         https://bugs.webkit.org/show_bug.cgi?id=76907
1250
1251         Reviewed by Yury Semikhatsky.
1252
1253         * inspector/front-end/FilteredItemSelectionDialog.js:
1254         (WebInspector.OpenResourceDialog.install):
1255         * inspector/front-end/ScriptsPanel.js:
1256
1257 2012-01-24  Peter Rybin  <peter.rybin@gmail.com>
1258
1259         Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
1260         https://bugs.webkit.org/show_bug.cgi?id=76868
1261
1262         Reviewed by Yury Semikhatsky.
1263
1264         Configurations of (hopefully) all build systems are fixed.
1265
1266         * CMakeLists.txt:
1267         * DerivedSources.make:
1268         * DerivedSources.pri:
1269         * GNUmakefile.am:
1270         * GNUmakefile.list.am:
1271         * WebCore.gyp/WebCore.gyp:
1272         * WebCore.gypi:
1273         * WebCore.vcproj/WebCore.vcproj:
1274         * WebCore.xcodeproj/project.pbxproj:
1275         * inspector/CodeGeneratorInspector.py:
1276         (dash_to_camelcase):
1277         (InspectorFrontend_h):
1278         (InspectorBackendDispatcher_h):
1279
1280 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1281
1282         [GTK] Refactor GTK's accessibilitity code to be more modular
1283         https://bugs.webkit.org/show_bug.cgi?id=76783
1284
1285         Reviewed by Martin Robinson.
1286
1287         New files for the implementation of the AtkText interface,
1288         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1289
1290         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
1291         (core):
1292         (textForRenderer):
1293         (textForObject):
1294         (getGailTextUtilForAtk):
1295         (getPangoLayoutForAtk):
1296         (baselinePositionForRenderObject):
1297         (getAttributeSetForAccessibilityObject):
1298         (compareAttribute):
1299         (attributeSetDifference):
1300         (accessibilityObjectLength):
1301         (getAccessibilityObjectForOffset):
1302         (getRunAttributesFromAccesibilityObject):
1303         (textExtents):
1304         (getSelectionOffsetsForObject):
1305         (webkitAccessibleTextInterfaceInit):
1306         (webkitAccessibleTextGetText):
1307         (webkitAccessibleTextGetTextAfterOffset):
1308         (webkitAccessibleTextGetTextAtOffset):
1309         (webkitAccessibleTextGetTextBeforeOffset):
1310         (webkitAccessibleTextGetCharacterAtOffset):
1311         (webkitAccessibleTextGetCaretOffset):
1312         (webkitAccessibleTextGetRunAttributes):
1313         (webkitAccessibleTextGetDefaultAttributes):
1314         (webkitAccessibleTextGetCharacterExtents):
1315         (webkitAccessibleTextGetRangeExtents):
1316         (webkitAccessibleTextGetCharacterCount):
1317         (webkitAccessibleTextGetOffsetAtPoint):
1318         (webkitAccessibleTextGetNSelections):
1319         (webkitAccessibleTextGetSelection):
1320         (webkitAccessibleTextAddSelection):
1321         (webkitAccessibleTextRemoveSelection):
1322         (webkitAccessibleTextSetSelection):
1323         (webkitAccessibleTextSetCaretOffset):
1324         * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.
1325
1326         Move common function selectionBelongsToObject out from the wrapper
1327         to the utility file, used from WebKitAccessibleInterfaceText.cpp.
1328
1329         * accessibility/gtk/WebKitAccessibleUtil.cpp:
1330         (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
1331         * accessibility/gtk/WebKitAccessibleUtil.h:
1332         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
1333         implementation of selectionBelongsToObject, and the code related
1334         to the implementation of the AtkText interface.
1335         (webkit_accessible_get_name): Update call to the former function
1336         webkit_accessible_text_get_text and use the new function name.
1337         (webkit_accessible_table_get_column_description): Ditto.
1338         (webkit_accessible_table_get_row_description): Ditto.
1339
1340         Add new files to build files.
1341
1342         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
1343         * WebCore.gypi: Ditto.
1344
1345 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1346
1347         [GTK] Refactor GTK's accessibilitity code to be more modular
1348         https://bugs.webkit.org/show_bug.cgi?id=76783
1349
1350         Reviewed by Martin Robinson.
1351
1352         New files for the implementation of the AtkValue interface,
1353         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1354
1355         * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
1356         (core):
1357         (webkitAccessibleValueInterfaceInit):
1358         (webkitAccessibleValueGetCurrentValue):
1359         (webkitAccessibleValueGetMaximumValue):
1360         (webkitAccessibleValueGetMinimumValue):
1361         (webkitAccessibleValueSetCurrentValue):
1362         (webkitAccessibleValueGetMinimumIncrement):
1363         * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
1364         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1365         related to the implementation of the AtkValue interface.
1366
1367         Add new files to build files.
1368
1369         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceValue.[h|cpp].
1370         * WebCore.gypi: Ditto.
1371
1372 2012-01-24  Antti Koivisto  <antti@apple.com>
1373
1374         Reduce internal use of CSSStyleDeclaration base class
1375         https://bugs.webkit.org/show_bug.cgi?id=76904
1376
1377         Reviewed by Andreas Kling.
1378
1379         Internally WebCore should use the more specific CSSMutableStyleDeclaration and CSSComputedStyleDeclaration types.
1380         The CSSStyleDeclaration base should be used in the DOM API functions only. This will make it easier to separate 
1381         internal style sheet implementation from the DOM in the future.
1382         
1383         - Switch CSSStyleDeclaration -> CSSMutableStyleDeclaration where feasible
1384         - Use StyledElement::ensureInlineStyleDecl() instead of Element::style() (which is a DOM API function)
1385         - Remove Attribute::style() which looks like a DOM API function but is not exposed.
1386
1387         * css/CSSMutableStyleDeclaration.h:
1388         (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
1389         * dom/Attr.h:
1390         (WebCore::Attr::style):
1391         * dom/Attribute.h:
1392         * editing/EditingStyle.cpp:
1393         (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
1394         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
1395         (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
1396         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
1397         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
1398         * editing/Editor.cpp:
1399         (WebCore::Editor::applyEditingStyleToElement):
1400         * editing/markup.cpp:
1401         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
1402         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1403         (WebCore::propertyMissingOrEqualToNone):
1404         * inspector/InspectorCSSAgent.cpp:
1405         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1406         * page/DragController.cpp:
1407         (WebCore::DragController::concludeEditDrag):
1408         * page/PageSerializer.cpp:
1409         (WebCore::PageSerializer::serializeFrame):
1410         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
1411         * page/PageSerializer.h:
1412         * rendering/RenderLayer.cpp:
1413         (WebCore::RenderLayer::resize):
1414         * svg/SVGStyledElement.cpp:
1415         (WebCore::SVGStyledElement::getPresentationAttribute):
1416
1417 2012-01-23  Andreas Kling  <awesomekling@apple.com>
1418
1419         Make elements that don't have attributes smaller.
1420         <http://webkit.org/b/76876>
1421
1422         Reviewed by Antti Koivisto.
1423
1424         Move the inline style declaration from StyledElement to NamedNodeMap, since having
1425         an inline style declaration also implies having a style attribute on the element.
1426         This saves one CPU word per element that has no attributes.
1427
1428         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
1429         HTML5 spec at <http://whatwg.org/c>.
1430
1431         * dom/NamedNodeMap.cpp:
1432         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
1433         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
1434         (WebCore::NamedNodeMap::createInlineStyleDecl):
1435         * dom/NamedNodeMap.h:
1436         (WebCore::NamedNodeMap::inlineStyleDecl):
1437         * dom/StyledElement.cpp:
1438         (WebCore::StyledElement::updateStyleAttribute):
1439         (WebCore::StyledElement::addSubresourceAttributeURLs):
1440         * dom/StyledElement.h:
1441         (WebCore::StyledElement::inlineStyleDecl):
1442         (WebCore::StyledElement::ensureInlineStyleDecl):
1443         (WebCore::StyledElement::destroyInlineStyleDecl):
1444
1445 2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
1446
1447         [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
1448         https://bugs.webkit.org/show_bug.cgi?id=76877
1449
1450         Reviewed by Kenneth Rohde Christiansen.
1451
1452         Add BitmapTexture::updateRawContents(), which allows uploading image data to a texture
1453         without changing its format or swizzling RGB. The data has to be in the texture's native
1454         format.
1455
1456         No new tests, this affects performance on all existing tests.
1457
1458         * platform/graphics/opengl/TextureMapperGL.cpp:
1459         (WebCore::BitmapTextureGL::updateRawContents):
1460         * platform/graphics/qt/TextureMapperQt.cpp:
1461         * platform/graphics/texmap/TextureMapper.h:
1462         (WebCore::BitmapTexture::updateRawContents):
1463         * platform/graphics/texmap/TextureMapperNode.cpp:
1464         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
1465         * platform/graphics/texmap/TextureMapperNode.h:
1466
1467 2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
1468
1469         Web Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
1470         https://bugs.webkit.org/show_bug.cgi?id=76908
1471
1472         Reviewed by Yury Semikhatsky.
1473
1474         * css/CSSMutableStyleDeclaration.cpp:
1475
1476 2012-01-24  Csaba Osztrogonác  <ossy@webkit.org>
1477
1478         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
1479         https://bugs.webkit.org/show_bug.cgi?id=76846
1480
1481         Reviewed by Tor Arne Vestbø.
1482
1483         * bindings/scripts/CodeGeneratorJS.pm: Warning fix after r105683.
1484         (WriteData):
1485
1486 2012-01-24  Andras Becsi  <andras.becsi@nokia.com>
1487
1488         [Qt] Fix the build with the newes Qt5 hashes
1489         https://bugs.webkit.org/show_bug.cgi?id=76657
1490
1491         Reviewed by Simon Hausmann.
1492
1493         No new tests needed.
1494
1495         * platform/graphics/cairo/OpenGLShims.cpp:
1496         (WebCore::getProcAddress): Adopt API changes.
1497
1498 2012-01-24  Ádám Kallai  <Kallai.Adam@stud.u-szeged.hu>
1499
1500         [Qt] Incremental build problem.
1501         https://bugs.webkit.org/show_bug.cgi?id=74687
1502
1503         It is necessary to set mathattrs.in dependency for generating MathMLNames.cpp file.
1504
1505         Reviewed by Csaba Osztrogonác.
1506
1507         * DerivedSources.pri:
1508         I added missing depend.
1509
1510 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1511
1512         [GTK] Refactor GTK's accessibilitity code to be more modular
1513         https://bugs.webkit.org/show_bug.cgi?id=76783
1514
1515         Reviewed by Martin Robinson.
1516
1517         New files for the implementation of the AtkSelection interface,
1518         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1519
1520         * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: Added.
1521         (core):
1522         (listObjectForSelection):
1523         (optionFromList):
1524         (optionFromSelection):
1525         (webkitAccessibleSelectionInterfaceInit):
1526         (webkitAccessibleSelectionAddSelection):
1527         (webkitAccessibleSelectionClearSelection):
1528         (webkitAccessibleSelectionRefSelection):
1529         (webkitAccessibleSelectionGetSelectionCount):
1530         (webkitAccessibleSelectionIsChildSelected):
1531         (webkitAccessibleSelectionRemoveSelection):
1532         (webkitAccessibleSelectionSelectAllSelection):
1533         * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Added.
1534         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1535         related to the implementation of the AtkSelection interface.
1536
1537         Add new files to build files.
1538
1539         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceSelection.[h|cpp].
1540         * WebCore.gypi: Ditto.
1541
1542 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1543
1544         [GTK] Refactor GTK's accessibilitity code to be more modular
1545         https://bugs.webkit.org/show_bug.cgi?id=76783
1546
1547         Reviewed by Martin Robinson.
1548
1549         New files for the implementation of the AtkImage interface,
1550         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1551
1552         * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: Added.
1553         (core):
1554         (webkitAccessibleImageInterfaceInit):
1555         (webkitAccessibleImageGetImagePosition):
1556         (webkitAccessibleImageGetImageDescription):
1557         (webkitAccessibleImageGetImageSize):
1558         * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Added.
1559         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1560         related to the implementation of the AtkImage interface.
1561
1562         Add new files to build files.
1563
1564         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceImage.[h|cpp].
1565         * WebCore.gypi: Ditto.
1566
1567 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1568
1569         [GTK] Refactor GTK's accessibilitity code to be more modular
1570         https://bugs.webkit.org/show_bug.cgi?id=76783
1571
1572         Reviewed by Martin Robinson.
1573
1574         New files for the implementation of the AtkHypertext interface,
1575         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1576
1577         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: Added.
1578         (core):
1579         (webkitAccessibleHypertextInterfaceInit):
1580         (webkitAccessibleHypertextGetLink):
1581         (webkitAccessibleHypertextGetNLinks):
1582         (webkitAccessibleHypertextGetLinkIndex):
1583         * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Added.
1584         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1585         related to the implementation of the AtkHypertext interface.
1586
1587         Add new files to build files.
1588
1589         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHypertext.[h|cpp].
1590         * WebCore.gypi: Ditto.
1591
1592 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1593
1594         [GTK] Refactor GTK's accessibilitity code to be more modular
1595         https://bugs.webkit.org/show_bug.cgi?id=76783
1596
1597         Reviewed by Martin Robinson.
1598
1599         New files for the implementation of the AtkHyperlinkImpl interface,
1600         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1601
1602         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: Added.
1603         (webkitAccessibleHyperlinkImplInterfaceInit):
1604         (webkitAccessibleHyperlinkImplGetHyperlink):
1605         * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Added.
1606         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1607         related to the implementation of the AtkHyperlinkImpl interface.
1608         (webkit_accessible_class_init):
1609
1610         Add new files to build files.
1611
1612         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHyperlinkImpl.[h|cpp].
1613         * WebCore.gypi: Ditto.
1614
1615 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1616
1617         [GTK] Refactor GTK's accessibilitity code to be more modular
1618         https://bugs.webkit.org/show_bug.cgi?id=76783
1619
1620         Reviewed by Martin Robinson.
1621
1622         New files for the implementation of the AtkEditableText interface,
1623         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1624
1625         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.
1626         (core):
1627         (webkitAccessibleEditableTextInterfaceInit):
1628         (webkitAccessibleEditableTextSetRunAttributes):
1629         (webkitAccessibleEditableTextSetTextContents):
1630         (webkitAccessibleEditableTextInsertText):
1631         (webkitAccessibleEditableTextCopyText):
1632         (webkitAccessibleEditableTextCutText):
1633         (webkitAccessibleEditableTextDeleteText):
1634         (webkitAccessibleEditableTextPasteText):
1635         * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
1636         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
1637         related to the implementation of the AtkEditableText interface.
1638
1639         Add new files to build files.
1640
1641         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
1642         * WebCore.gypi: Ditto.
1643
1644 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1645
1646         [GTK] Refactor GTK's accessibilitity code to be more modular
1647         https://bugs.webkit.org/show_bug.cgi?id=76783
1648
1649         Reviewed by Martin Robinson.
1650
1651         New files for the implementation of the AtkDocument interface,
1652         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1653
1654         * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: Added.
1655         (core):
1656         (documentAttributeValue):
1657         (webkitAccessibleDocumentInterfaceInit):
1658         (webkitAccessibleDocumentGetAttributeValue):
1659         (webkitAccessibleDocumentGetAttributes):
1660         (webkitAccessibleDocumentGetLocale):
1661         * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Added.
1662
1663         Move common function addAttributeToSet() out from the wrapper to
1664         the utility file, used from WebKitAccessibleInterfaceDocument.cpp.
1665
1666         * accessibility/gtk/WebKitAccessibleUtil.cpp:
1667         (addToAtkAttributeSet): Taken from WebKitAccessibleWrapperAtk.cpp.
1668         * accessibility/gtk/WebKitAccessibleUtil.h:
1669         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
1670         implementation of addAttributeToSet, as well as all the code related
1671         to the implementation of the AtkDocument interface.
1672
1673         Add new files to build files.
1674
1675         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceDocument.[h|cpp].
1676         * WebCore.gypi: Ditto.
1677
1678 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1679
1680         [GTK] Refactor GTK's accessibilitity code to be more modular
1681         https://bugs.webkit.org/show_bug.cgi?id=76783
1682
1683         Reviewed by Martin Robinson.
1684
1685         New files for the implementation of the AtkComponent interface,
1686         containing the related code from WebKitAccessibleWrapperAtk.cpp.
1687
1688         * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: Added.
1689         (core):
1690         (atkToContents):
1691         (webkitAccessibleComponentInterfaceInit):
1692         (webkitAccessibleComponentRefAccessibleAtPoint):
1693         (webkitAccessibleComponentGetExtents):
1694         (webkitAccessibleComponentGrabFocus):
1695         * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Added.
1696
1697         Move common function contentsToAtk() out from the wrapper to the
1698         utility file, used from WebKitAccessibleInterfaceComponent.cpp.
1699
1700         * accessibility/gtk/WebKitAccessibleUtil.cpp:
1701         (contentsRelativeToAtkCoordinateType): Taken from WebKitAccessibleWrapperAtk.cpp.
1702         * accessibility/gtk/WebKitAccessibleUtil.h:
1703         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
1704         implementation of contentsToAtk, as well as all the code related
1705         to the implementation of the AtkComponent interface.
1706
1707         Add new files to build files.
1708
1709         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceComponent.[h|cpp].
1710         * WebCore.gypi: Ditto.
1711
1712 2012-01-24  Kentaro Hara  <haraken@chromium.org>
1713
1714         [Refactoring] Makes finish() of CodeGeneratorV8.pm empty
1715         https://bugs.webkit.org/show_bug.cgi?id=76841
1716
1717         Reviewed by Adam Barth.
1718
1719         This is one of steps to stop rebuilding .h/.cpp files
1720         generated by unchanged IDLs (bug 76836).
1721
1722         As refactoring, we are planning to remove finish() from
1723         all CodeGenerators. This patch makes finish() of
1724         CodeGeneratorV8.pm empty.
1725
1726         No new tests. No change in behavior.
1727
1728         * bindings/scripts/CodeGeneratorV8.pm:
1729         (finish): Made it empty. We will remove finish() after
1730         making finish() of all CodeGenerators empty.
1731         (GenerateInterface): Modified to call WriteData().
1732         (WriteData): Simple code refactoring.
1733         Removed if(defined $IMPL).
1734         Removed if(defined $HEADER).
1735         $IMPL -> IMPL.
1736         $HEADER -> HEADER.
1737
1738 2012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
1739
1740         Unreviewed build fix for GTK after r105698.
1741
1742         * bindings/js/JSPeerConnectionCustom.cpp:
1743         (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
1744
1745 2012-01-24  Kent Tamura  <tkent@chromium.org>
1746
1747         Fix build erros on Mac by r105706.
1748         https://bugs.webkit.org/show_bug.cgi?id=76763
1749
1750         * html/canvas/WebGLRenderingContext.cpp:
1751         (WebCore::WebGLRenderingContext::compressedTexImage2D): Removed unused argument names.
1752         (WebCore::WebGLRenderingContext::compressedTexSubImage2D): ditto.
1753
1754 2012-01-23  Kent Tamura  <tkent@chromium.org>
1755
1756         Introduce RadioButtonGroup class to keep track of the group members and required state
1757         https://bugs.webkit.org/show_bug.cgi?id=74909
1758
1759         Reviewed by Darin Adler.
1760
1761         RadioButtonGroup contains a set of member radio buttons in the group,
1762         and "required" status of the group. This helps implementing correct
1763         radio button validity, and improving performance of updating validity
1764         status of radio buttons.
1765
1766         This change fixes the following bugs:
1767         - A radio button should be "required" if one of a member of the same
1768           group has the "required" attribute.
1769           https://bugs.webkit.org/show_bug.cgi?id=76365
1770         - :invalid style is not applied when a checked radio button is removed
1771           from its radio group
1772           https://bugs.webkit.org/show_bug.cgi?id=74914
1773         - Loading a page with N radio buttons in a group takes O(N^2) time.
1774
1775         Tests: fast/forms/radio/radio-live-validation-style.html
1776                perf/adding-radio-buttons.html
1777
1778         * dom/CheckedRadioButtons.cpp:
1779         (WebCore::RadioButtonGroup::isEmpty):
1780         (WebCore::RadioButtonGroup::isRequired):
1781         (WebCore::RadioButtonGroup::checkedButton):
1782         (WebCore::RadioButtonGroup::RadioButtonGroup):
1783         (WebCore::RadioButtonGroup::create):
1784         (WebCore::RadioButtonGroup::isValid):
1785         (WebCore::RadioButtonGroup::setCheckedButton):
1786         (WebCore::RadioButtonGroup::add):
1787         (WebCore::RadioButtonGroup::updateCheckedState):
1788         (WebCore::RadioButtonGroup::requiredAttributeChanged):
1789         (WebCore::RadioButtonGroup::remove):
1790         (WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons):
1791         Add RadioButtonGroup class. It keeps track of pointers to member radio
1792         buttons and required status of the group in addition to the checked
1793         radio button pointer.
1794
1795         (WebCore::CheckedRadioButtons::CheckedRadioButtons):
1796         (WebCore::CheckedRadioButtons::~CheckedRadioButtons):
1797         Define empty constructor and destructor in order to avoid exposing
1798         RadioButtonGroup class.
1799
1800         (WebCore::CheckedRadioButtons::addButton):
1801         (WebCore::CheckedRadioButtons::updateCheckedState):
1802         (WebCore::CheckedRadioButtons::requiredAttributeChanged):
1803         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
1804         (WebCore::CheckedRadioButtons::isInRequiredGroup):
1805         (WebCore::CheckedRadioButtons::removeButton):
1806         Change the HashMap member of this class so that it maps a group name to
1807         a RadioButtonGroup object. These functions just get a RadioButtonGroup
1808         object and call a corresponding member function of RadioButtonGroup.
1809
1810         * dom/CheckedRadioButtons.h: Update declarations.
1811
1812         * html/HTMLFormControlElement.cpp:
1813         (WebCore::HTMLFormControlElement::parseMappedAttribute):
1814         (WebCore::HTMLFormControlElement::requiredAttributeChanged):
1815         Move a part of parseMappedAttribute() into requiredAttributeChanged().
1816         * html/HTMLFormControlElement.h: Add requiredAttributeChanged().
1817         * html/HTMLInputElement.cpp:
1818         (WebCore::HTMLInputElement::valueMissing):
1819         Move required check code to InputType::valueMissing implementations.
1820         RadioInputType needs special handling for checking required state.
1821         readOnly() and disabled() are unnecessary because willValidate() checks them.
1822         (WebCore::HTMLInputElement::setChecked):
1823         Call new function CheckedRadioButtons::updateCheckedState() instead of
1824         removeButton() and updateCheckedRadioButtons().
1825         (WebCore::HTMLInputElement::requiredAttributeChanged):
1826         Override this to call CheckedRadioButtons::requiredAttributeChanged().
1827         * html/HTMLInputElement.h: Add requiredAttributeChanged().
1828         * html/RadioInputType.cpp:
1829         (WebCore::RadioInputType::valueMissing):
1830         Check required state by CheckedRadioButtons::isInRequiredGroup().
1831         * html/RadioInputType.h: Remove attach().
1832
1833         * html/CheckboxInputType.cpp:
1834         (WebCore::CheckboxInputType::valueMissing):
1835           Move required check from HTMLInputElement::valueMissing().
1836         * html/FileInputType.cpp:
1837         (WebCore::FileInputType::valueMissing): ditto.
1838         * html/TextFieldInputType.cpp:
1839         (WebCore::TextFieldInputType::valueMissing): ditto.
1840
1841 2012-01-24  Noel Gordon  <noel.gordon@gmail.com>
1842
1843         [chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
1844         https://bugs.webkit.org/show_bug.cgi?id=76804
1845
1846         Reviewed by Adam Barth.
1847
1848         Use color profiles for PNG images only if their embedded color profile is from an RGB
1849         color space input device.
1850
1851         Test: fast/images/rgb-png-with-cmyk-color-profile.html
1852
1853         * platform/image-decoders/ImageDecoder.h:
1854         (WebCore::ImageDecoder::rgbColorProfile): Return true if the profile has an RGB color space.
1855         (WebCore::ImageDecoder::inputDeviceColorProfile): Return true if the profile is from an input device.
1856         * platform/image-decoders/png/PNGImageDecoder.cpp:
1857         (WebCore::readColorProfile): Ignore PNG image embedded color profile unless the profile
1858         comes from an RGB color space input device.
1859         (WebCore::PNGImageDecoder::headerAvailable): Minor white-space removals courtesy Xcode.
1860
1861 2012-01-23  Pavel Podivilov  <podivilov@chromium.org>
1862
1863         Web Inspector: fix sticky DOM breakpoints.
1864         https://bugs.webkit.org/show_bug.cgi?id=64437
1865
1866         Reviewed by Yury Semikhatsky.
1867
1868         * inspector/front-end/DOMBreakpointsSidebarPane.js:
1869         (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
1870
1871 2012-01-24  Gregg Tavares  <gman@google.com>
1872
1873         Expose WebGL texture compression methods on WebGLRenderingContext
1874         https://bugs.webkit.org/show_bug.cgi?id=76763
1875
1876         Reviewed by Kenneth Russell.
1877
1878         Test: fast/canvas/webgl/compressed-tex-image.html
1879
1880         * html/canvas/WebGLRenderingContext.cpp:
1881         (WebCore::WebGLRenderingContext::compressedTexImage2D):
1882         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
1883         * html/canvas/WebGLRenderingContext.h:
1884         * html/canvas/WebGLRenderingContext.idl:
1885
1886 2012-01-24  Kenichi Ishibashi  <bashi@chromium.org>
1887
1888         [V8] Add Uint8ClampedArray support
1889         https://bugs.webkit.org/show_bug.cgi?id=76803
1890
1891         Reviewed by Kenneth Russell.
1892
1893         No new tests. fast/js/script-tests/dfg-uint8clampedarray.js should pass on chromium port.
1894
1895         * WebCore.gypi: Added required files.
1896         * bindings/scripts/CodeGeneratorV8.pm:
1897         (IsTypedArrayType): Added Uint8ClampedArray.
1898         * bindings/v8/SerializedScriptValue.cpp: Added the tag for Uint8ClampedArray.
1899         (WebCore::V8ObjectMap::Writer::writeArrayBufferView): Appends the tag when buffer is Uint8ClampedArray.
1900         (WebCore::V8ObjectMap::Reader::readArrayBufferView): Creates Uint8ClampedArray instance when the tag represents Uint8ClampedArray.
1901         * bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
1902         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Added.
1903         (WebCore::V8Uint8ClampedArray::constructorCallback):
1904         (WebCore::V8Uint8ClampedArray::setCallback):
1905         (WebCore::toV8):
1906         * page/Crypto.cpp: Added isUnsignedByteClampedArray() call to isIntegerArray().
1907         * page/DOMWindow.idl: Removed ifdefs.
1908         * workers/WorkerContext.idl: Added Uint8ArrayConstructor.
1909
1910 2012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
1911
1912         Unreviewed build fix for GTK Debug build after r105698.
1913
1914         * bindings/js/JSNavigatorCustom.cpp:
1915         (WebCore::JSNavigator::webkitGetUserMedia):
1916
1917 2012-01-23  Scott Graham  <scottmg@chromium.org>
1918
1919         Avoid spurious rebuilds on vs2010 due to DerivedSources not existing
1920         https://bugs.webkit.org/show_bug.cgi?id=76873
1921
1922         Reviewed by Adam Barth.
1923
1924         * WebCore.gyp/WebCore.gyp:
1925
1926 2012-01-23  Geoffrey Garen  <ggaren@apple.com>
1927
1928         JSValue::toString() should return a JSString* instead of a UString
1929         https://bugs.webkit.org/show_bug.cgi?id=76861
1930
1931         Reviewed by Gavin Barraclough.
1932
1933         Mechanical changes to call value() after calling toString(), to
1934         convert from "JS string" (JSString*) to "C++ string" (UString), since
1935         toString() no longer returns a "C++ string".
1936
1937         * bindings/js/IDBBindingUtilities.cpp:
1938         (WebCore::createIDBKeyFromValue):
1939         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1940         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
1941         * bindings/js/JSClipboardCustom.cpp:
1942         (WebCore::JSClipboard::clearData):
1943         (WebCore::JSClipboard::getData):
1944         * bindings/js/JSCustomXPathNSResolver.cpp:
1945         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1946         * bindings/js/JSDOMBinding.cpp:
1947         (WebCore::valueToStringWithNullCheck):
1948         (WebCore::valueToStringWithUndefinedOrNullCheck):
1949         (WebCore::reportException):
1950         * bindings/js/JSDOMFormDataCustom.cpp:
1951         (WebCore::JSDOMFormData::append):
1952         * bindings/js/JSDOMStringMapCustom.cpp:
1953         (WebCore::JSDOMStringMap::putDelegate):
1954         * bindings/js/JSDOMWindowCustom.cpp:
1955         (WebCore::JSDOMWindow::setLocation):
1956         (WebCore::JSDOMWindow::open):
1957         (WebCore::JSDOMWindow::addEventListener):
1958         (WebCore::JSDOMWindow::removeEventListener):
1959         * bindings/js/JSDeviceMotionEventCustom.cpp:
1960         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
1961         * bindings/js/JSDeviceOrientationEventCustom.cpp:
1962         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
1963         * bindings/js/JSDictionary.cpp:
1964         (WebCore::JSDictionary::convertValue):
1965         * bindings/js/JSDocumentCustom.cpp:
1966         (WebCore::JSDocument::setLocation):
1967         * bindings/js/JSEventListener.cpp:
1968         (WebCore::JSEventListener::handleEvent):
1969         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1970         (WebCore::callHTMLAllCollection):
1971         (WebCore::JSHTMLAllCollection::item):
1972         (WebCore::JSHTMLAllCollection::namedItem):
1973         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1974         (WebCore::JSHTMLCanvasElement::getContext):
1975         * bindings/js/JSHTMLCollectionCustom.cpp:
1976         (WebCore::JSHTMLCollection::item):
1977         (WebCore::JSHTMLCollection::namedItem):
1978         * bindings/js/JSHTMLDocumentCustom.cpp:
1979         (WebCore::documentWrite):
1980         * bindings/js/JSHTMLInputElementCustom.cpp:
1981         (WebCore::JSHTMLInputElement::setSelectionDirection):
1982         (WebCore::JSHTMLInputElement::setSelectionRange):
1983         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1984         (WebCore::JSInspectorFrontendHost::showContextMenu):
1985         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1986         (WebCore::JSJavaScriptCallFrame::evaluate):
1987         * bindings/js/JSLocationCustom.cpp:
1988         (WebCore::JSLocation::setHref):
1989         (WebCore::JSLocation::setProtocol):
1990         (WebCore::JSLocation::setHost):
1991         (WebCore::JSLocation::setHostname):
1992         (WebCore::JSLocation::setPort):
1993         (WebCore::JSLocation::setPathname):
1994         (WebCore::JSLocation::setSearch):
1995         (WebCore::JSLocation::setHash):
1996         (WebCore::JSLocation::replace):
1997         (WebCore::JSLocation::assign):
1998         * bindings/js/JSMessageEventCustom.cpp:
1999         (WebCore::handleInitMessageEvent):
2000         * bindings/js/JSSQLTransactionCustom.cpp:
2001         (WebCore::JSSQLTransaction::executeSql):
2002         * bindings/js/JSSQLTransactionSyncCustom.cpp:
2003         (WebCore::JSSQLTransactionSync::executeSql):
2004         * bindings/js/JSSharedWorkerCustom.cpp:
2005         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
2006         * bindings/js/JSStorageCustom.cpp:
2007         (WebCore::JSStorage::putDelegate):
2008         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2009         (WebCore::JSWebGLRenderingContext::getExtension):
2010         * bindings/js/JSWebSocketCustom.cpp:
2011         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
2012         (WebCore::JSWebSocket::send):
2013         (WebCore::JSWebSocket::close):
2014         * bindings/js/JSWorkerContextCustom.cpp:
2015         (WebCore::JSWorkerContext::importScripts):
2016         * bindings/js/JSWorkerCustom.cpp:
2017         (WebCore::JSWorkerConstructor::constructJSWorker):
2018         * bindings/js/JSXMLHttpRequestCustom.cpp:
2019         (WebCore::JSXMLHttpRequest::open):
2020         (WebCore::JSXMLHttpRequest::send):
2021         * bindings/js/JSXSLTProcessorCustom.cpp:
2022         (WebCore::JSXSLTProcessor::setParameter):
2023         (WebCore::JSXSLTProcessor::getParameter):
2024         (WebCore::JSXSLTProcessor::removeParameter):
2025         * bindings/js/ScheduledAction.cpp:
2026         (WebCore::ScheduledAction::create):
2027         * bindings/js/ScriptEventListener.cpp:
2028         (WebCore::eventListenerHandlerBody):
2029         * bindings/js/ScriptValue.cpp:
2030         (WebCore::ScriptValue::toString):
2031         * bindings/scripts/CodeGeneratorJS.pm:
2032         (GenerateEventListenerCall):
2033         (JSValueToNative):
2034         (GenerateConstructorDefinition):
2035         * bridge/c/c_utility.cpp:
2036         (JSC::Bindings::convertValueToNPVariant):
2037         * bridge/jni/jni_jsobject.mm:
2038         (JavaJSObject::convertValueToJObject):
2039         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2040         (JSC::Bindings::convertArrayInstanceToJavaArray):
2041         (JSC::Bindings::convertValueToJValue):
2042         * bridge/jni/jsc/JavaFieldJSC.cpp:
2043         (JavaField::dispatchValueFromInstance):
2044         (JavaField::valueFromInstance):
2045         (JavaField::dispatchSetValueToInstance):
2046         (JavaField::setValueToInstance):
2047         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2048         (JavaInstance::invokeMethod):
2049         * testing/js/JSInternalsCustom.cpp:
2050         (WebCore::JSInternals::setUserPreferredLanguages):
2051
2052 2012-01-23  Kentaro Hara  <haraken@chromium.org>
2053
2054         In CodeGeneratorObjC.pm, overwrite the output .h/.mm
2055         only if the bytes differ
2056         https://bugs.webkit.org/show_bug.cgi?id=76874
2057
2058         Reviewed by Adam Barth.
2059
2060         This is one of steps to stop rebuilding .h/.cpp/.mm files
2061         generated by unchanged IDLs (bug 76836).
2062         This patch makes a change on CodeGeneratorObjC.pm so that
2063         it overwrites the output .h/.mm only if the bytes differ.
2064
2065         No tests. No change in behavior.
2066         I manually confirmed that when I add a new attribute to Element.idl,
2067         the time-stamps of unrelated DOM*.h and DOM*.mm do not change.
2068
2069         * bindings/scripts/CodeGenerator.pm:
2070         (UpdateFileIfChanged): Added. This method writes data to a file
2071         only if the data is different from the data in the current file.
2072         * bindings/scripts/CodeGeneratorObjC.pm:
2073         (WriteData): Used UpdateFileIfChanged().
2074
2075 2012-01-23  Alexey Proskuryakov  <ap@apple.com>
2076
2077         REGRESSION: Downloaded file name fallback encodings are not set correctly
2078         https://bugs.webkit.org/show_bug.cgi?id=76862
2079
2080         Reviewed by Adam Barth.
2081
2082         Tests: http/tests/download/default-encoding.html
2083                http/tests/download/form-submission-result.html
2084                http/tests/download/inherited-encoding.html
2085                http/tests/download/literal-utf-8.html
2086
2087         * loader/DocumentWriter.cpp:
2088         * loader/DocumentWriter.h:
2089         Removed deprecatedFrameEncoding. Due to changes in Document::encoding behavior, it can now
2090         be used in its place.
2091
2092         * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Instead of hunting
2093         down a correct loader (and active one is not always correct any more), just use opening document's
2094         encoding.
2095
2096 2012-01-23  Ojan Vafai  <ojan@chromium.org>
2097
2098         Implement flex-pack:distribute
2099         https://bugs.webkit.org/show_bug.cgi?id=76864
2100
2101         Reviewed by Tony Chang.
2102
2103         See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.
2104
2105         * css/CSSParser.cpp:
2106         (WebCore::CSSParser::parseValue):
2107         * css/CSSPrimitiveValueMappings.h:
2108         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2109         (WebCore::CSSPrimitiveValue::operator EFlexPack):
2110         * css/CSSValueKeywords.in:
2111         * rendering/RenderFlexibleBox.cpp:
2112         (WebCore::initialPackingOffset):
2113         (WebCore::packingSpaceBetweenChildren):
2114         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2115         (WebCore::RenderFlexibleBox::layoutColumnReverse):
2116         * rendering/style/RenderStyleConstants.h:
2117         * rendering/style/StyleFlexibleBoxData.h:
2118
2119 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
2120
2121         Implement CSS clip property in CSSStyleApplyProperty.
2122         https://bugs.webkit.org/show_bug.cgi?id=74913
2123
2124         Reviewed by Andreas Kling.
2125
2126         No new tests / refactoring only.
2127
2128         * css/CSSPrimitiveValue.h:
2129         * css/CSSPrimitiveValueMappings.h:
2130         (WebCore::CSSPrimitiveValue::convertToLength):
2131         This new function aims to provide a single call for converting many CSSPrimitiveValue
2132         values to Lengths. It is templated to allow the caller to specify which conversions
2133         are appropriate depending on the context in which the value is used.
2134         * css/CSSStyleApplyProperty.cpp:
2135         (WebCore::ApplyPropertyClip::convertToLength):
2136         (WebCore::ApplyPropertyClip::applyInheritValue):
2137         (WebCore::ApplyPropertyClip::applyInitialValue):
2138         (WebCore::ApplyPropertyClip::applyValue):
2139         (WebCore::ApplyPropertyClip::createHandler):
2140         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2141         * css/CSSStyleSelector.cpp:
2142         (WebCore::CSSStyleSelector::applyProperty):
2143
2144 2012-01-23  Tom Sepez  <tsepez@chromium.org>
2145
2146         decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
2147         https://bugs.webkit.org/show_bug.cgi?id=71316
2148
2149         Reviewed by Daniel Bates.
2150
2151         Pass trailing unescaped bytes into the character set decoder to get correct
2152         results in the presence of encodings which re-use ASCII values in sequences.
2153         
2154         Tests: http/tests/navigation/anchor-frames-gbk.html
2155                http/tests/security/xssAuditor/iframe-onload-GBK-char.html
2156                http/tests/security/xssAuditor/img-onerror-GBK-char.html
2157                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
2158                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
2159                http/tests/security/xssAuditor/script-tag-Big5-char.html
2160                http/tests/security/xssAuditor/script-tag-Big5-char2.html
2161
2162         * platform/text/DecodeEscapeSequences.h:
2163         (WebCore::Unicode16BitEscapeSequence::findInString):
2164         (WebCore::Unicode16BitEscapeSequence::findEndOfRun):
2165         (WebCore::Unicode16BitEscapeSequence::decodeRun):
2166         (WebCore::URLEscapeSequence::findInString):
2167         (WebCore::URLEscapeSequence::findEndOfRun):
2168         (WebCore::URLEscapeSequence::decodeRun):
2169         (WebCore::decodeEscapeSequences):
2170
2171 2012-01-23  Adam Barth  <abarth@webkit.org>
2172
2173         Fix a build break in a clean compile of the Chromium port (at least
2174         reported by tbreisacher).
2175
2176         * css/CSSStyleDeclaration.cpp:
2177
2178 2012-01-23  Zan Dobersek  <zandobersek@gmail.com>
2179
2180         [GTK] editing/deleting/5408255.html results are incorrect
2181         https://bugs.webkit.org/show_bug.cgi?id=53644
2182
2183         Reviewed by Martin Robinson.
2184
2185         When the WEBKIT_TOP_LEVEL environment variable is set, resources
2186         should be loaded from the source tree to which the variable is
2187         pointing. This approach is used when performing testing on the
2188         Gtk port.
2189
2190         No new tests, changes cause one test to pass.
2191
2192         * platform/graphics/gtk/ImageGtk.cpp:
2193         (getPathToImageResource): Also make changes to the resource path
2194         construction code on Windows.
2195         (WebCore::Image::loadPlatformResource):
2196
2197 2012-01-23  Julien Chaffraix  <jchaffraix@webkit.org>
2198
2199         Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
2200         https://webkit.org/b/76842
2201
2202         Reviewed by Darin Adler.
2203
2204         Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html
2205
2206         The issue was that we would access our section's structure when it was dirty.
2207
2208         * rendering/RenderTableSection.cpp:
2209         (WebCore::RenderTableSection::rowLogicalHeightChanged):
2210         Bail out if we need cells recalculation as our internal structure is not up-to-date
2211         and we will recompute all the rows' heights as part of the recomputation anyway.
2212
2213 2012-01-23  Kentaro Hara  <haraken@chromium.org>
2214
2215         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
2216         https://bugs.webkit.org/show_bug.cgi?id=76846
2217
2218         Reviewed by Adam Barth.
2219
2220         This is one of steps to stop rebuilding .h/.cpp files generated
2221         by unchanged IDLs (bug 76836).
2222
2223         As a refactoring, we are planning to remove finish() from all
2224         CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
2225         empty.
2226
2227         No new tests. No change in behavior.
2228
2229         * bindings/scripts/CodeGeneratorJS.pm:
2230         (finish): Made it empty. We will remove finish() after
2231         making finish() of all CodeGenerators empty.
2232         (GenerateInterface): Modified to call WriteData().
2233         (WriteData): Simple code refactoring.
2234         Removed if(defined $IMPL).
2235         Removed if(defined $HEADER).
2236         Removed if(defined $DEPS).
2237         $IMPL -> IMPL.
2238         $HEADER -> HEADER.
2239         $DEPS -> DEPS.
2240
2241 2012-01-23  Shawn Singh  <shawnsingh@chromium.org>
2242
2243         [chromium] updateRect is incorrect when contentBounds != bounds
2244         https://bugs.webkit.org/show_bug.cgi?id=72919
2245
2246         Reviewed by James Robinson.
2247
2248         Unit test added to TiledLayerChromiumTest.cpp
2249
2250         The m_updateRect member in LayerChromium types is used to track
2251         what was painted for that layer. For tiled layers (especially
2252         image layers), the updateRect was being given with respect to the
2253         size of the content, rather than the size of the layer. This patch
2254         adds a conversion so that updateRect is always with respect to the
2255         layer size, so that damage tracking will work correctly in those
2256         cases.
2257
2258         * platform/graphics/chromium/LayerChromium.h:
2259         * platform/graphics/chromium/TiledLayerChromium.cpp:
2260         (WebCore::TiledLayerChromium::updateCompositorResources):
2261
2262 2012-01-23  Konrad Piascik  <kpiascik@rim.com>
2263
2264         Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
2265         https://bugs.webkit.org/show_bug.cgi?id=76706
2266
2267         Reviewed by Pavel Feldman.
2268
2269         Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
2270         return the text to InspectorFrontendHost.copyText.  This will make all copy
2271         functions use the same code path.
2272
2273         Not testable.
2274
2275         * inspector/Inspector.json:
2276         * inspector/InspectorDOMAgent.cpp:
2277         * inspector/InspectorDOMAgent.h:
2278         * inspector/front-end/DOMAgent.js:
2279         (WebInspector.DOMNode.prototype.copyNode.copy):
2280         (WebInspector.DOMNode.prototype.copyNode):
2281
2282 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
2283
2284         Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
2285         https://bugs.webkit.org/show_bug.cgi?id=69490
2286
2287         Reviewed by Andreas Kling.
2288
2289         Covered by existing tests.
2290
2291         * css/CSSPrimitiveValue.cpp:
2292         (WebCore::CSSPrimitiveValue::computeLength):
2293         Use float multiplier instead of double.
2294         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2295         Use float multiplier instead of double.
2296         * css/CSSPrimitiveValue.h:
2297         Change type signatures of computeLength template prototype.
2298
2299 2012-01-23  Priit Laes  <plaes@plaes.org>
2300
2301         [GTK][PATCH] More build silencing with (AM_V_...)
2302         https://bugs.webkit.org/show_bug.cgi?id=76791
2303
2304         Reviewed by Gustavo Noronha Silva.
2305
2306         * GNUmakefile.am: Silence is golden...
2307
2308 2012-01-23  Arko Saha  <nghq36@motorola.com>
2309
2310         MicroData: Remove ExceptionCode& from setAttribute() call.
2311         https://bugs.webkit.org/show_bug.cgi?id=76695
2312
2313         Reviewed by Hajime Morita.
2314
2315         Changeset http://trac.webkit.org/changeset/103296 removed unused
2316         ExceptionCode& argument from Element::setAttribute(QualifiedName).
2317         Hence updating all calls to setAttribute() method in MicroData code.
2318
2319         * html/HTMLAnchorElement.cpp:
2320         (WebCore::HTMLAnchorElement::setItemValueText):
2321         * html/HTMLAreaElement.cpp:
2322         (WebCore::HTMLAreaElement::setItemValueText):
2323         * html/HTMLEmbedElement.cpp:
2324         (WebCore::HTMLEmbedElement::setItemValueText):
2325         * html/HTMLIFrameElement.cpp:
2326         (WebCore::HTMLIFrameElement::setItemValueText):
2327         * html/HTMLImageElement.cpp:
2328         (WebCore::HTMLImageElement::setItemValueText):
2329         * html/HTMLLinkElement.cpp:
2330         (WebCore::HTMLLinkElement::setItemValueText):
2331         * html/HTMLMediaElement.cpp:
2332         (WebCore::HTMLMediaElement::setItemValueText):
2333         * html/HTMLMetaElement.cpp:
2334         (WebCore::HTMLMetaElement::setItemValueText):
2335         * html/HTMLObjectElement.cpp:
2336         (WebCore::HTMLObjectElement::setItemValueText):
2337         * html/HTMLSourceElement.cpp:
2338         (WebCore::HTMLSourceElement::setItemValueText):
2339         * html/HTMLTrackElement.cpp:
2340         (WebCore::HTMLTrackElement::setItemValueText):
2341
2342 2012-01-23  Hayato Ito  <hayato@chromium.org>
2343
2344         Fix crash when a focused node is removed while in processing focusin event.
2345         https://bugs.webkit.org/show_bug.cgi?id=76656
2346
2347         Reviewed by Dimitri Glazkov.
2348
2349         Test: fast/events/focus-remove-focuesed-node.html
2350
2351         * dom/Document.cpp:
2352         (WebCore::Document::setFocusedNode):
2353
2354 2012-01-23  David Levin  <levin@chromium.org>
2355
2356         [windows] Convert usages of GetDC to HWndDC Part 1.
2357         https://bugs.webkit.org/show_bug.cgi?id=76744
2358
2359         Reviewed by Adam Roben.
2360
2361         No new functionality so no new tests.
2362
2363         * platform/graphics/win/FontCacheWin.cpp:
2364         (WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
2365         and removed ReleaseDC.
2366         (WebCore::createGDIFont): Ditto.
2367         (WebCore::FontCache::getTraitsInFamily): Ditto.
2368         * platform/graphics/win/FontPlatformDataWin.cpp:
2369         (WebCore::FontPlatformData::FontPlatformData): Ditto.
2370         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2371         (WebCore::SimpleFontData::platformInit): Ditto.
2372         * platform/graphics/win/SimpleFontDataWin.cpp:
2373         (WebCore::SimpleFontData::initGDIFont): Ditto.
2374         (WebCore::SimpleFontData::containsCharacters): Ditto.
2375         (WebCore::SimpleFontData::determinePitch): Ditto.
2376         (WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
2377         (WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
2378         (WebCore::SimpleFontData::scriptFontProperties): Ditto.
2379         * platform/win/CursorWin.cpp:
2380         (WebCore::createSharedCursor): Ditto.
2381         * platform/win/DragImageCGWin.cpp:
2382         (WebCore::scaleDragImage): Ditto.
2383         (WebCore::createDragImageFromImage): Ditto.
2384         * platform/win/DragImageWin.cpp:
2385         (WebCore::createDragImageForLink): Ditto.
2386         * platform/win/PasteboardWin.cpp:
2387         (WebCore::Pasteboard::writeImage): Ditto.
2388
2389 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
2390
2391         [GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
2392         https://bugs.webkit.org/show_bug.cgi?id=76747
2393
2394         Reviewed by Gustavo Noronha Silva.
2395
2396         No new tests. Regressions are covered by existing tests, but testing
2397         different GTK+ theme configurations is not possible yet.
2398
2399         * platform/gtk/ScrollbarThemeGtk.cpp:
2400         (WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
2401         (WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
2402         (WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
2403         no steppers.
2404         * platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
2405         * platform/gtk/ScrollbarThemeGtk2.cpp:
2406         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
2407         are primary foward and back steppers.
2408         * platform/gtk/ScrollbarThemeGtk3.cpp:
2409         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
2410
2411 2012-01-23  Ryosuke Niwa  <rniwa@webkit.org>
2412
2413         REGRESSION(r105396): drag state is not cleared after each drag
2414         https://bugs.webkit.org/show_bug.cgi?id=76878
2415
2416         Reviewed by Alexey Proskuryakov.
2417
2418         Revert a part of r105396 that made performDragAndDrop not call clearDragState
2419         when the default action was not prevented since it caused a regression.
2420
2421         I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
2422         but I can't think of a test case where this becomes a problem at the moment.
2423         Since this area is not well tested, revert the change instead of making further
2424         changes to the code base.
2425
2426         Tests: fast/events/clear-drag-state.html
2427                fast/events/clear-edit-drag-state.html
2428
2429         * page/EventHandler.cpp:
2430         (WebCore::EventHandler::performDragAndDrop):
2431
2432 2012-01-23  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
2433
2434         Fixed typo in exception messages
2435         https://bugs.webkit.org/show_bug.cgi?id=76710
2436
2437         Reviewed by Alexey Proskuryakov.
2438
2439         * dom/DOMCoreException.cpp:
2440         * fileapi/FileException.cpp:
2441         * storage/SQLTransaction.cpp:
2442         (WebCore::SQLTransaction::openTransactionAndPreflight):
2443         (WebCore::SQLTransaction::postflightAndCommit):
2444         * xml/XMLHttpRequestException.cpp:
2445
2446 2012-01-18  David Levin  <levin@chromium.org>
2447
2448         Allow delayed DC allocation in HWndDC.
2449         https://bugs.webkit.org/show_bug.cgi?id=76737
2450
2451         Reviewed by Adam Roben.
2452
2453         No new functionality exposed so no new tests.
2454
2455         * platform/win/HWndDC.h: Changed this slightly to allow
2456         for allocating a window DC after the initial creation since
2457         this pattern occurrs in several places so this makes it easy to
2458         replace them in an upcoming change.
2459         (WebCore::HWndDC::HWndDC):
2460         (WebCore::HWndDC::~HWndDC):
2461         (WebCore::HWndDC::setHWnd):
2462         (WebCore::HWndDC::clear):
2463
2464 2012-01-23  Arko Saha  <nghq36@motorola.com>
2465
2466         MicroData: Compilation error while building Webkit with --microdata.
2467         https://bugs.webkit.org/show_bug.cgi?id=76703
2468
2469         Reviewed by Hajime Morita.
2470
2471         * dom/MicroDataItemList.cpp:
2472         (WebCore::MicroDataItemList::MicroDataItemList):
2473         (WebCore::MicroDataItemList::~MicroDataItemList):
2474         * dom/MicroDataItemList.h:
2475         * dom/NodeRareData.h:
2476         (WebCore::NodeRareData::properties):
2477         * html/HTMLPropertiesCollection.cpp:
2478         (WebCore::HTMLPropertiesCollection::create):
2479         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
2480         * html/HTMLPropertiesCollection.h:
2481
2482 2012-01-13  David Levin  <levin@chromium.org>
2483
2484         [chromium] Convert uses of GetDC to HWndDC.
2485         https://bugs.webkit.org/show_bug.cgi?id=76290
2486
2487         Reviewed by Dmitry Titov.
2488
2489         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2490         (WebCore::createFontIndirectAndGetWinName):
2491         (WebCore::fontContainsCharacter):
2492         (WebCore::FontCache::getLastResortFallbackFont):
2493         (WebCore::FontCache::getTraitsInFamily):
2494         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2495         (WebCore::FontPlatformData::scriptFontProperties):
2496         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
2497         (WebCore::FontMap::getAscent):
2498         (WebCore::FontMap::getSpaceGlyph):
2499         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2500         (WebCore::fillBMPGlyphs):
2501         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2502         (WebCore::SimpleFontData::platformInit):
2503         (WebCore::SimpleFontData::determinePitch):
2504         (WebCore::SimpleFontData::platformWidthForGlyph):
2505         * platform/graphics/chromium/UniscribeHelper.cpp:
2506         (WebCore::UniscribeHelper::EnsureCachedDCCreated):
2507         * rendering/RenderThemeChromiumWin.cpp:
2508         (WebCore::systemFontSize):
2509         (WebCore::pointsToPixels):
2510
2511 2012-01-23  Joe Thomas  <joethomas@motorola.com>
2512
2513         https://bugs.webkit.org/show_bug.cgi?id=75799
2514         Calling intersectsNode on a detached range should throw.
2515
2516         INVALID_STATE_ERR exception should be thrown if intersectsNode is called on a detached Range.
2517
2518         Reviewed by Darin Adler.
2519
2520         Test: fast/dom/Range/range-intersectsNode-exception.html
2521
2522         * dom/Range.cpp:
2523         (WebCore::Range::intersectsNode): Throwing INVALID_STATE_ERR exception if the range is detached.
2524
2525 2012-01-23  Daniel Cheng  <dcheng@chromium.org>
2526
2527         Convert DataTransferItem/DataTransferItemList back into an interface class
2528         https://bugs.webkit.org/show_bug.cgi?id=76856
2529
2530         When Qt implemented the DataTransferItemList, a lot of logic was moved into the shared
2531         classes since Chromium/Qt happened to implement it the same way. Now that I want to do some
2532         refactoring/cleanup work to better implement DataTransferItemList in Chromium, we won't
2533         share the same data anymore so it doesn't make sense to keep that code in a common location.
2534
2535         Reviewed by David Levin.
2536
2537         Covered by existing tests.
2538
2539         * CMakeLists.txt:
2540         * GNUmakefile.list.am:
2541         * Target.pri:
2542         * WebCore.gypi:
2543         * WebCore.vcproj/WebCore.vcproj:
2544         * WebCore.xcodeproj/project.pbxproj:
2545         * dom/DataTransferItem.cpp:
2546         * dom/DataTransferItem.h:
2547         * dom/DataTransferItemList.cpp: Removed.
2548         * dom/DataTransferItemList.h:
2549         * platform/chromium/ClipboardChromium.cpp:
2550         (WebCore::ClipboardChromium::mayUpdateItems):
2551         * platform/chromium/DataTransferItemChromium.cpp:
2552         (WebCore::DataTransferItemChromium::create):
2553         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
2554         (WebCore::DataTransferItemChromium::getAsString):
2555         (WebCore::DataTransferItemChromium::getAsFile):
2556         (WebCore::DataTransferItemChromium::clipboardChromium):
2557         * platform/chromium/DataTransferItemChromium.h:
2558         (WebCore::DataTransferItemChromium::kind):
2559         (WebCore::DataTransferItemChromium::type):
2560         * platform/chromium/DataTransferItemListChromium.cpp:
2561         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
2562         * platform/chromium/DataTransferItemListChromium.h:
2563         * platform/qt/DataTransferItemListQt.cpp:
2564         (WebCore::DataTransferItemListQt::DataTransferItemListQt):
2565         (WebCore::DataTransferItemListQt::length):
2566         (WebCore::DataTransferItemListQt::item):
2567         (WebCore::DataTransferItemListQt::deleteItem):
2568         (WebCore::DataTransferItemListQt::clear):
2569         (WebCore::DataTransferItemListQt::add):
2570         * platform/qt/DataTransferItemListQt.h:
2571         * platform/qt/DataTransferItemQt.cpp:
2572         (WebCore::DataTransferItemQt::create):
2573         (WebCore::DataTransferItemQt::DataTransferItemQt):
2574         (WebCore::DataTransferItemQt::getAsString):
2575         (WebCore::DataTransferItemQt::getAsFile):
2576         * platform/qt/DataTransferItemQt.h:
2577         (WebCore::DataTransferItemQt::kind):
2578         (WebCore::DataTransferItemQt::type):
2579
2580 2012-01-23  Andreas Kling  <awesomekling@apple.com>
2581
2582         Unreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.
2583
2584         * css/CSSMutableStyleDeclaration.cpp:
2585
2586 2012-01-23  Philip Rogers  <pdr@google.com>
2587
2588         Update uniteIfNonZero to use isZero.
2589         https://bugs.webkit.org/show_bug.cgi?id=76637
2590
2591         Reviewed by Darin Adler.
2592
2593         No new tests. (I found no existing codepath that would be affected by
2594         this change but I think this change is still valuable in preventing
2595         future bugs.)
2596
2597         * platform/graphics/FloatRect.cpp:
2598         (WebCore::FloatRect::uniteIfNonZero):
2599
2600         The following change is a minor followup to
2601         https://bugs.webkit.org/show_bug.cgi?id=76177#c12 and is not directly
2602         related to the rest of this patch.
2603         * rendering/svg/SVGRenderSupport.cpp:
2604         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
2605
2606 2012-01-23  Antti Koivisto  <antti@apple.com>
2607
2608         Eliminate CSSElementStyleDeclaration
2609         https://bugs.webkit.org/show_bug.cgi?id=76848
2610
2611         Reviewed by Andreas Kling.
2612
2613         CSSElementStyleDeclaration has little functionality. It can merge with CSSMutableStyleDeclaration simplifying the code.
2614         
2615         Having an element parent is mutually exclusive with having a css rule parent. We can keep them in a union. This also
2616         shrinks all inline style declarations by one pointer.
2617
2618         * CMakeLists.txt:
2619         * GNUmakefile.list.am:
2620         * Target.pri:
2621         * WebCore.gypi:
2622         * WebCore.vcproj/WebCore.vcproj:
2623         * WebCore.xcodeproj/project.pbxproj:
2624         * bindings/js/JSDOMBinding.h:
2625         (WebCore::root):
2626         * css/CSSAllInOne.cpp:
2627         * css/CSSElementStyleDeclaration.cpp: Removed.
2628         * css/CSSElementStyleDeclaration.h: Removed.
2629         * css/CSSMutableStyleDeclaration.cpp:
2630         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2631         * css/CSSMutableStyleDeclaration.h:
2632         (WebCore::CSSMutableStyleDeclaration::createInline):
2633         (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
2634         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2635         * css/CSSStyleDeclaration.cpp:
2636         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
2637         (WebCore::CSSStyleDeclaration::parentStyleSheet):
2638         
2639             Merge the CSSElementStyleDeclaration::styleSheet() logic here.
2640         
2641         * css/CSSStyleDeclaration.h:
2642         (WebCore::CSSStyleDeclaration::parentRule):
2643         (WebCore::CSSStyleDeclaration::clearParentRule):
2644         (WebCore::CSSStyleDeclaration::parentElement):
2645         (WebCore::CSSStyleDeclaration::clearParentElement):
2646         * css/CSSStyleRule.cpp:
2647         (WebCore::CSSStyleRule::setSelectorText):
2648         
2649             CSSStyleRule's style declaration can't have isElementStyleDeclaration set, the dead code can be removed.
2650             This is asserted in setDeclaration() and again implicitly in the destructor (by clearParentRule()).
2651         
2652         * dom/StyledElement.cpp:
2653         (WebCore::StyledElement::createInlineStyleDecl):
2654         (WebCore::StyledElement::destroyInlineStyleDecl):
2655         (WebCore::StyledElement::ensureInlineStyleDecl):
2656         (WebCore::StyledElement::copyNonAttributeProperties):
2657         * dom/StyledElement.h:
2658         (WebCore::StyledElement::inlineStyleDecl):
2659         * editing/ApplyStyleCommand.cpp:
2660         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2661         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2662         * editing/DeleteButtonController.cpp:
2663         (WebCore::DeleteButtonController::createDeletionUI):
2664         * html/ValidationMessage.cpp:
2665         (WebCore::adjustBubblePosition):
2666         * html/shadow/MediaControlElements.cpp:
2667         (WebCore::MediaControlPanelElement::setPosition):
2668         (WebCore::MediaControlPanelElement::resetPosition):
2669         (WebCore::MediaControlPanelElement::makeOpaque):
2670         (WebCore::MediaControlPanelElement::makeTransparent):
2671         * html/shadow/SliderThumbElement.cpp:
2672         (WebCore::TrackLimiterElement::create):
2673         * svg/SVGFontFaceElement.cpp:
2674         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2675
2676 2012-01-23  Benjamin Poulain  <bpoulain@apple.com>
2677
2678         Use OVERRIDE for PopupMenuClient's implementations
2679         https://bugs.webkit.org/show_bug.cgi?id=76774
2680
2681         Reviewed by Darin Adler.
2682
2683         * rendering/RenderMenuList.h: Also sort the methods to the same
2684         order as PopupMenuClient.
2685         * rendering/RenderTextControlSingleLine.h:
2686
2687 2012-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>
2688
2689         Basic enhancements to StringBuilder
2690         https://bugs.webkit.org/show_bug.cgi?id=67081
2691
2692         These changes are because we explicitly disallowed StringBuilder's
2693         copy constructor and assignment operator, and the change of return
2694         type of StringBuilder::toString().
2695
2696         Reviewed by Darin Adler.
2697
2698         No new tests. All layout tests and unit tests should run as before.
2699
2700         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2701         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
2702         * svg/SVGPathStringBuilder.h:
2703         (WebCore::SVGPathStringBuilder::cleanup):
2704
2705 2012-01-23  W. James MacLean  <wjmaclean@chromium.org>
2706
2707         [chromium] Add WebSolidColorLayer interface to draw non-textured color layers from Aura.
2708         https://bugs.webkit.org/show_bug.cgi?id=75732
2709
2710         Reviewed by James Robinson.
2711
2712         Add WebSolidColorLayer to paint solid-color layers without a backing texture.
2713
2714         Test: unit test for CCSolidColorLayerImpl.
2715
2716         * WebCore.gypi:
2717         * platform/graphics/chromium/SolidColorLayerChromium.cpp: Added.
2718         (WebCore::SolidColorLayerChromium::createCCLayerImpl):
2719         (WebCore::SolidColorLayerChromium::create):
2720         (WebCore::SolidColorLayerChromium::SolidColorLayerChromium):
2721         (WebCore::SolidColorLayerChromium::~SolidColorLayerChromium):
2722         * platform/graphics/chromium/SolidColorLayerChromium.h: Added.
2723         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Added.
2724         (WebCore::CCSolidColorLayerImpl::CCSolidColorLayerImpl):
2725         (WebCore::CCSolidColorLayerImpl::~CCSolidColorLayerImpl):
2726         (WebCore::CCSolidColorLayerImpl::quadTransform):
2727         (WebCore::CCSolidColorLayerImpl::appendQuads):
2728         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Added.
2729         (WebCore::CCSolidColorLayerImpl::create):
2730         (WebCore::CCSolidColorLayerImpl::layerTypeAsString):
2731
2732 2012-01-23  Antti Koivisto  <antti@apple.com>
2733
2734         Attempt to fix Qt build.
2735     
2736         Not reviewed.
2737
2738         * css/CSSElementStyleDeclaration.cpp:
2739         * css/CSSElementStyleDeclaration.h:
2740         (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
2741
2742 2012-01-23  Andreas Kling  <awesomekling@apple.com>
2743
2744         Move m_rootEditableElementForSelectionOnMouseDown off of HTMLAnchorElement.
2745         <http://webkit.org/b/76833>
2746
2747         Reviewed by Antti Koivisto.
2748
2749         Move HTMLAnchorElement::m_rootEditableElementForSelectionOnMouseDown to a rare
2750         data-style hashmap, effectively shrinking HTMLAnchorElement by one CPU word.
2751
2752         The pointer is only used during interactive event handling, so it shouldn't have
2753         any noticeable effects on web performance.
2754
2755         This reduces memory consumption by 256 kB (on 64-bit) when viewing the full
2756         HTML5 spec at <http://whatwg.org/c>.
2757
2758         * html/HTMLAnchorElement.cpp:
2759         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
2760         (WebCore::HTMLAnchorElement::~HTMLAnchorElement):
2761         (WebCore::HTMLAnchorElement::defaultEventHandler):
2762         (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
2763         (WebCore::rootEditableElementMap):
2764         (WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
2765         (WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
2766         * html/HTMLAnchorElement.h:
2767
2768 2012-01-23  Antti Koivisto  <antti@apple.com>
2769
2770         Eliminate CSSElementStyleDeclaration subclasses
2771         https://bugs.webkit.org/show_bug.cgi?id=76827
2772
2773         Reviewed by Andreas Kling.
2774
2775         CSSInlineStyleDeclaration and FontFaceStyleDeclaration serve no real purpose.
2776
2777         * GNUmakefile.list.am:
2778         * Target.pri:
2779         * WebCore.gypi:
2780         * WebCore.vcproj/WebCore.vcproj:
2781         * WebCore.xcodeproj/project.pbxproj:
2782         * css/CSSElementStyleDeclaration.cpp:
2783         (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
2784         (WebCore::CSSElementStyleDeclaration::styleSheet):
2785         * css/CSSElementStyleDeclaration.h:
2786         (WebCore::CSSElementStyleDeclaration::createInline):
2787         (WebCore::toCSSElementStyleDeclaration):
2788         * css/CSSInlineStyleDeclaration.h: Removed.
2789         * css/CSSMutableStyleDeclaration.cpp:
2790         * dom/StyledElement.cpp:
2791         (WebCore::StyledElement::createInlineStyleDecl):
2792         (WebCore::StyledElement::ensureInlineStyleDecl):
2793         (WebCore::StyledElement::copyNonAttributeProperties):
2794         * dom/StyledElement.h:
2795         (WebCore::StyledElement::inlineStyleDecl):
2796         * editing/ApplyStyleCommand.cpp:
2797         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2798         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2799         * editing/DeleteButtonController.cpp:
2800         (WebCore::DeleteButtonController::createDeletionUI):
2801         * html/ValidationMessage.cpp:
2802         (WebCore::adjustBubblePosition):
2803         * html/shadow/MediaControlElements.cpp:
2804         (WebCore::MediaControlPanelElement::setPosition):
2805         (WebCore::MediaControlPanelElement::resetPosition):
2806         (WebCore::MediaControlPanelElement::makeOpaque):
2807         (WebCore::MediaControlPanelElement::makeTransparent):
2808         * html/shadow/SliderThumbElement.cpp:
2809         (WebCore::TrackLimiterElement::create):
2810         * svg/SVGFontFaceElement.cpp:
2811         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2812
2813 2012-01-23  Pavel Feldman  <pfeldman@google.com>
2814
2815         Not reviewed: annotate inspector's js so that it compiled.
2816
2817         * inspector/front-end/ElementsTreeOutline.js:
2818         * inspector/front-end/TextPrompt.js:
2819         (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
2820         (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
2821
2822 2012-01-23  Philippe Normand  <pnormand@igalia.com>
2823
2824         [GStreamer] fix WebAudio build after r105431
2825         https://bugs.webkit.org/show_bug.cgi?id=76819
2826
2827         Reviewed by Martin Robinson.
2828
2829         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2830         (WebCore::copyGstreamerBuffersToAudioChannel): Use mutableData()
2831         when copying.
2832         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2833         (webKitWebAudioSrcLoop): Drop constness when setting the buffer
2834         data pointer.
2835
2836 2012-01-23  Pavel Feldman  <pfeldman@google.com>
2837
2838         Web Inspector: add touch events to the event listeners list.
2839         https://bugs.webkit.org/show_bug.cgi?id=76830
2840
2841         Reviewed by Yury Semikhatsky.
2842
2843         * English.lproj/localizedStrings.js:
2844         * inspector/InjectedScriptSource.js:
2845         (.):
2846         * inspector/front-end/BreakpointsSidebarPane.js:
2847         (WebInspector.EventListenerBreakpointsSidebarPane):
2848
2849 2012-01-23  Pavel Feldman  <pfeldman@google.com>
2850
2851         Web Inspector: inspector close button is missing in the dock-to-right mode.
2852         https://bugs.webkit.org/show_bug.cgi?id=76829
2853
2854         Reviewed by Timothy Hatcher.
2855
2856         * inspector/front-end/inspector.js:
2857         (WebInspector.set attached):
2858         (WebInspector.get _setCompactMode):
2859
2860 2012-01-23  Vsevolod Vlasov  <vsevik@chromium.org>
2861
2862         Web Inspector: IndexedDBModel should keep track of requests sent to the backend.
2863         https://bugs.webkit.org/show_bug.cgi?id=76705
2864
2865         Reviewed by Pavel Feldman.
2866
2867         * inspector/Inspector.json:
2868         * inspector/InspectorIndexedDBAgent.cpp:
2869         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2870         * inspector/InspectorIndexedDBAgent.h:
2871         * inspector/front-end/IndexedDBModel.js:
2872         (WebInspector.IndexedDBModel):
2873         (WebInspector.IndexedDBModel.prototype._frameDetached):
2874         (WebInspector.IndexedDBModel.prototype._reset):
2875         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
2876         (WebInspector.IndexedDBRequestManager):
2877         (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame.innerCallback):
2878         (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame):
2879         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
2880         (WebInspector.IndexedDBRequestManager.prototype._requestId):
2881         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
2882         (WebInspector.IndexedDBRequestManager.prototype._reset):
2883         (WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest):
2884         (WebInspector.IndexedDBDispatcher):
2885         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
2886
2887 2012-01-23  Pavel Feldman  <pfeldman@google.com>
2888
2889         Web Inspector: Inspecting an element inside an iframe no longer works
2890         https://bugs.webkit.org/show_bug.cgi?id=76808
2891
2892         Reviewed by Timothy Hatcher.
2893
2894         Test: http/tests/inspector/inspect-element.html
2895
2896         * inspector/InspectorDOMAgent.cpp:
2897         (WebCore::InspectorDOMAgent::innerParentNode):
2898         * inspector/front-end/DOMAgent.js:
2899         (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
2900         (WebInspector.DOMNode.prototype.getChildNodes):
2901         (WebInspector.DOMNode.prototype._setChildrenPayload):
2902         * inspector/front-end/ElementsTreeOutline.js:
2903         (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
2904
2905 2012-01-23  Andrey Kosyakov  <caseq@chromium.org>
2906
2907         Web Inspector: response.bodySize in HAR is invalid (negative) for cached resources
2908         https://bugs.webkit.org/show_bug.cgi?id=76823
2909
2910         Reviewed by Yury Semikhatsky.
2911
2912         - fix response.bodySize for cached resources;
2913         Also some drive-by fixes:
2914         - pretty-print HAR when exported
2915         - proper annotation for JSON.stringify()
2916         - de-obfuscate a piece of code in TimelinePanel
2917
2918         * inspector/front-end/HAREntry.js:
2919         (WebInspector.HAREntry.prototype.get responseBodySize):
2920         * inspector/front-end/NetworkPanel.js:
2921         (WebInspector.NetworkLogView.prototype._exportAll):
2922         (WebInspector.NetworkLogView.prototype._exportResource):
2923
2924 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
2925
2926         [GTK] Refactor GTK's accessibilitity code to be more modular
2927         https://bugs.webkit.org/show_bug.cgi?id=76783
2928
2929         Reviewed by Martin Robinson.
2930
2931         New files for the implementation of the AtkAction interface,
2932         containing the related code from WebKitAccessibleWrapperAtk.cpp.
2933
2934         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp: Added.
2935         (core):
2936         (webkitAccessibleActionInterfaceInit):
2937         (webkitAccessibleActionDoAction):
2938         (webkitAccessibleActionGetNActions):
2939         (webkitAccessibleActionGetDescription):
2940         (webkitAccessibleActionGetKeybinding):
2941         (webkitAccessibleActionGetName):
2942         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Added.
2943
2944         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
2945         related to the implementation of the AtkAction interface.
2946
2947         Add new files to build files.
2948
2949         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceAction.[h|cpp].
2950         * WebCore.gypi: Ditto.
2951
2952 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
2953
2954         SVG animation repaint issue with image and dynamic clipPath
2955         https://bugs.webkit.org/show_bug.cgi?id=76559
2956
2957         Reviewed by Zoltan Herczeg.
2958
2959         Based on patch by Kelly Norton <knorton@google.com>. I extended the patch
2960         to correctly handle relative length resolution as well.
2961
2962         RenderSVGImage doesn't react on setNeedsBoundariesUpdate() calls
2963         and thus fails to update its boundaries in some cases.
2964
2965         The logic is also inconsistent, compared to the other renderers.
2966         Fix that properly, by reusing the method used in RenderSVGViewportContainer.
2967         Call calculateImageViewport() immediately, after initializing the LayoutRepainter.
2968         Previously we resolved the image viewport in RenderSVGImage::updateFromElement. This is
2969         wrong, as it queries the frameRect() of the RenderSVGRoot in a state, where the renderer
2970         still needs layout, leading to wrong results.
2971
2972         I turned Kellys manual testcase into a predictable test, see svg/repaint/image-with-clip-path.svg
2973         Relative sized image handling is tested in svg/custom/relative-sized-image.xhtml now.
2974
2975         Tests: svg/custom/relative-sized-image.xhtml
2976                svg/repaint/image-with-clip-path.svg
2977
2978         * rendering/svg/RenderSVGImage.cpp:
2979         (WebCore::RenderSVGImage::RenderSVGImage):
2980         (WebCore::RenderSVGImage::updateImageViewport):
2981         (WebCore::RenderSVGImage::layout):
2982         * rendering/svg/RenderSVGImage.h:
2983         (WebCore::RenderSVGImage::setNeedsBoundariesUpdate):
2984         * svg/SVGImageElement.cpp:
2985         (WebCore::SVGImageElement::svgAttributeChanged):
2986
2987 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
2988
2989         <feImage> has problems referencing local elements
2990         https://bugs.webkit.org/show_bug.cgi?id=76800
2991
2992         Reviewed by Zoltan Herczeg.
2993
2994         <feImage> referencing local elements are currently rendered into an ImageBuffer
2995         by SVGFEImageElement, using the local coordinates of the referenced renderer.
2996
2997         This approach is buggy and should be avoided, by moving the rendering fully
2998         into SVGFEImage, which takes care of respecting the correct transformations.
2999
3000         This fixes <feImage> + local references, which currently breaks two tests in trunk.
3001         Covered by existing tests.
3002
3003         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3004         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
3005         * svg/SVGFEImageElement.cpp:
3006         (WebCore::SVGFEImageElement::build):
3007         * svg/graphics/filters/SVGFEImage.cpp:
3008         (WebCore::FEImage::FEImage):
3009         (WebCore::FEImage::createWithImage):
3010         (WebCore::FEImage::createWithIRIReference):
3011         (WebCore::FEImage::determineAbsolutePaintRect):
3012         (WebCore::FEImage::referencedRenderer):
3013         (WebCore::FEImage::platformApplySoftware):
3014         (WebCore::FEImage::externalRepresentation):
3015         * svg/graphics/filters/SVGFEImage.h:
3016         (WebCore::FEImage::~FEImage):
3017         * svg/graphics/filters/SVGFilter.h:
3018         (WebCore::SVGFilter::absoluteTransform):
3019
3020 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
3021
3022         Not reviewed. Fix Mac build, by exporting a new symbol.
3023
3024         * WebCore.exp.in:
3025
3026 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
3027
3028         [GTK] Refactor GTK's accessibilitity code to be more modular
3029         https://bugs.webkit.org/show_bug.cgi?id=76783
3030
3031         Reviewed by Martin Robinson.
3032
3033         Move common function returnString() from the wrapper and
3034         hyperlink implementations to a new utility file.
3035
3036         * accessibility/gtk/WebKitAccessibleUtil.cpp: Added.
3037         (returnString): Taken from WebKitAccessibleWrapperAtk.cpp and
3038         WebKitAccessibleHyperlink.cpp
3039         * accessibility/gtk/WebKitAccessibleUtil.h: Added.
3040
3041         * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Remove local
3042         implementation of returnString.
3043         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Ditto.
3044
3045         Add new files to build files.
3046
3047         * GNUmakefile.list.am: Add WebKitAccessibleUtil.[h|cpp].
3048         * WebCore.gypi: Ditto.
3049
3050 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
3051
3052         [GTK] Refactor GTK's accessibilitity code to be more modular
3053         https://bugs.webkit.org/show_bug.cgi?id=76783
3054
3055         Reviewed by Martin Robinson.
3056
3057         Fix typo in class struct (parent class field had the wrong type),
3058         fix coding style issues and update date in headers.
3059
3060         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
3061         * accessibility/gtk/WebKitAccessibleHyperlink.h:
3062
3063 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
3064
3065         [GTK] Refactor GTK's accessibilitity code to be more modular
3066         https://bugs.webkit.org/show_bug.cgi?id=76783
3067
3068         Reviewed by Martin Robinson.
3069
3070         Rename WebKitAccessible's public functions to follow WebKit's
3071         coding style and update callers.
3072
3073         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
3074         (webkitAccessibleNew): Renamed from webkit_accessible_new.
3075         (webkitAccessibleGetAccessibilityObject): Likewise.
3076         (webkitAccessibleDetach):Likewise.
3077         (webkitAccessibleGetFocusedElement): Likewise.
3078         * accessibility/gtk/WebKitAccessibleWrapperAtk.h:
3079
3080         Update calls to WebKitAccessible's public functions.
3081
3082         * accessibility/gtk/AXObjectCacheAtk.cpp:
3083         (WebCore::AXObjectCache::detachWrapper): Update call.
3084         (WebCore::AXObjectCache::attachWrapper): Ditto.
3085         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
3086         (core): Update call.
3087
3088 2012-01-19  Kenichi Ishibashi  <bashi@chromium.org>
3089
3090         WebKit fails IETC composition event types
3091         https://bugs.webkit.org/show_bug.cgi?id=76690
3092
3093         Reviewed by Ryosuke Niwa.
3094
3095         Dispatches at least one compositionupdate event.
3096         The spec(*) says that a composition session includes one or more
3097         compositionupdate event(s).
3098         Other major browsers (Firefox and IE) don't populate the data attribute
3099         of the compositionstart event, but we set the given text in the data
3100         attribute to minimize the effect of this change.
3101
3102         (*) http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-compositionevents
3103
3104         Updated existing test: fast/fast/events/ime-composition-events-001.html.
3105
3106         * editing/Editor.cpp:
3107         (WebCore::Editor::setComposition):
3108
3109 2012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>
3110
3111         [GTK] Refactor GTK's accessibilitity code to be more modular
3112         https://bugs.webkit.org/show_bug.cgi?id=76783
3113
3114         Reviewed by Martin Robinson.
3115
3116         Rename the file for the ATK AccessibilityObject wrapper to be more
3117         coherent with the rest of the files in the same directory.
3118
3119         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Renamed from
3120         Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp.
3121         (fallbackObject):
3122         (returnString):
3123         (core):
3124         (webkit_accessible_get_name):
3125         (webkit_accessible_get_description):
3126         (setAtkRelationSetFromCoreObject):
3127         (isRootObject):
3128         (atkParentOfRootObject):
3129         (webkit_accessible_get_parent):
3130         (getNChildrenForTable):
3131         (webkit_accessible_get_n_children):
3132         (getChildForTable):
3133         (webkit_accessible_ref_child):
3134         (getIndexInParentForCellInRow):
3135         (webkit_accessible_get_index_in_parent):
3136         (addAttributeToSet):
3137         (webkit_accessible_get_attributes):
3138         (atkRole):
3139         (webkit_accessible_get_role):
3140         (selectionBelongsToObject):
3141         (isTextWithCaret):
3142         (setAtkStateSetFromCoreObject):
3143         (webkit_accessible_ref_state_set):
3144         (webkit_accessible_ref_relation_set):
3145         (webkit_accessible_init):
3146         (webkit_accessible_finalize):
3147         (webkit_accessible_class_init):
3148         (webkit_accessible_get_type):
3149         (webkit_accessible_action_do_action):
3150         (webkit_accessible_action_get_n_actions):
3151         (webkit_accessible_action_get_description):
3152         (webkit_accessible_action_get_keybinding):
3153         (webkit_accessible_action_get_name):
3154         (atk_action_interface_init):
3155         (listObjectForSelection):
3156         (optionFromList):
3157         (optionFromSelection):
3158         (webkit_accessible_selection_add_selection):
3159         (webkit_accessible_selection_clear_selection):
3160         (webkit_accessible_selection_ref_selection):
3161         (webkit_accessible_selection_get_selection_count):
3162         (webkit_accessible_selection_is_child_selected):
3163         (webkit_accessible_selection_remove_selection):
3164         (webkit_accessible_selection_select_all_selection):
3165         (atk_selection_interface_init):
3166         (utf8Substr):
3167         (convertUniCharToUTF8):
3168         (textForRenderer):
3169         (textForObject):
3170         (webkit_accessible_text_get_text):
3171         (getGailTextUtilForAtk):
3172         (getPangoLayoutForAtk):
3173         (webkit_accessible_text_get_text_after_offset):
3174         (webkit_accessible_text_get_text_at_offset):
3175         (webkit_accessible_text_get_text_before_offset):
3176         (webkit_accessible_text_get_character_at_offset):
3177         (webkit_accessible_text_get_caret_offset):
3178         (baselinePositionForRenderObject):
3179         (getAttributeSetForAccessibilityObject):
3180         (compareAttribute):
3181         (attributeSetDifference):
3182         (accessibilityObjectLength):
3183         (getAccessibilityObjectForOffset):
3184         (getRunAttributesFromAccesibilityObject):
3185         (webkit_accessible_text_get_run_attributes):
3186         (webkit_accessible_text_get_default_attributes):
3187         (textExtents):
3188         (webkit_accessible_text_get_character_extents):
3189         (webkit_accessible_text_get_range_extents):
3190         (webkit_accessible_text_get_character_count):
3191         (webkit_accessible_text_get_offset_at_point):
3192         (getSelectionOffsetsForObject):
3193         (webkit_accessible_text_get_n_selections):
3194         (webkit_accessible_text_get_selection):
3195         (webkit_accessible_text_add_selection):
3196         (webkit_accessible_text_set_selection):
3197         (webkit_accessible_text_remove_selection):
3198         (webkit_accessible_text_set_caret_offset):
3199         (atk_text_interface_init):
3200         (webkit_accessible_editable_text_set_run_attributes):
3201         (webkit_accessible_editable_text_set_text_contents):
3202         (webkit_accessible_editable_text_insert_text):
3203         (webkit_accessible_editable_text_copy_text):
3204         (webkit_accessible_editable_text_cut_text):
3205         (webkit_accessible_editable_text_delete_text):
3206         (webkit_accessible_editable_text_paste_text):
3207         (atk_editable_text_interface_init):
3208         (contentsToAtk):
3209         (atkToContents):
3210         (webkit_accessible_component_ref_accessible_at_point):
3211         (webkit_accessible_component_get_extents):
3212         (webkit_accessible_component_grab_focus):
3213         (atk_component_interface_init):
3214         (webkit_accessible_image_get_image_position):
3215         (webkit_accessible_image_get_image_description):
3216         (webkit_accessible_image_get_image_size):
3217         (atk_image_interface_init):
3218         (cell):
3219         (cellIndex):
3220         (cellAtIndex):
3221         (webkit_accessible_table_ref_at):
3222         (webkit_accessible_table_get_index_at):
3223         (webkit_accessible_table_get_column_at_index):
3224         (webkit_accessible_table_get_row_at_index):
3225         (webkit_accessible_table_get_n_columns):
3226         (webkit_accessible_table_get_n_rows):
3227         (webkit_accessible_table_get_column_extent_at):
3228         (webkit_accessible_table_get_row_extent_at):
3229         (webkit_accessible_table_get_column_header):
3230         (webkit_accessible_table_get_row_header):
3231         (webkit_accessible_table_get_caption):
3232         (webkit_accessible_table_get_column_description):
3233         (webkit_accessible_table_get_row_description):
3234         (atk_table_interface_init):
3235         (webkitAccessibleHypertextGetLink):
3236         (webkitAccessibleHypertextGetNLinks):
3237         (webkitAccessibleHypertextGetLinkIndex):
3238         (atkHypertextInterfaceInit):
3239         (webkitAccessibleHyperlinkImplGetHyperlink):
3240         (atkHyperlinkImplInterfaceInit):
3241         (documentAttributeValue):
3242         (webkit_accessible_document_get_attribute_value):
3243         (webkit_accessible_document_get_attributes):
3244         (webkit_accessible_document_get_locale):
3245         (atk_document_interface_init):
3246         (webkitAccessibleValueGetCurrentValue):
3247         (webkitAccessibleValueGetMaximumValue):
3248         (webkitAccessibleValueGetMinimumValue):
3249         (webkitAccessibleValueSetCurrentValue):
3250         (webkitAccessibleValueGetMinimumIncrement):
3251         (atkValueInterfaceInit):
3252         (GetAtkInterfaceTypeFromWAIType):
3253         (getInterfaceMaskFromObject):
3254         (getUniqueAccessibilityTypeName):
3255         (getAccessibilityTypeFromObject):
3256         (webkit_accessible_new):
3257         (webkit_accessible_get_accessibility_object):
3258         (webkit_accessible_detach):
3259         (webkit_accessible_get_focused_element):
3260         (objectFocusedAndCaretOffsetUnignored):
3261         * accessibility/gtk/WebKitAccessibleWrapperAtk.h: Renamed from
3262         Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h.
3263
3264         Update the include for the AccessibilityObject wrapper header.
3265
3266         * accessibility/gtk/AXObjectCacheAtk.cpp: Update include.
3267         * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Ditto.
3268         * accessibility/gtk/WebKitAccessibleHyperlink.h: Ditto.
3269         * editing/gtk/FrameSelectionGtk.cpp:
3270
3271         Update filename for the ATK wrapper in build files.
3272
3273         * GNUmakefile.list.am: Updated.
3274         * WebCore.gypi: Updated.
3275
3276 2012-01-20  Pavel Feldman  <pfeldman@google.com>
3277
3278         Web Inspector: PageAgent.open() dosen't belong to the protocol.
3279         https://bugs.webkit.org/show_bug.cgi?id=74790
3280
3281         Reviewed by Yury Semikhatsky.
3282
3283         * inspector/Inspector.json:
3284         * inspector/InspectorFrontendClient.h:
3285         * inspector/InspectorFrontendClientLocal.cpp:
3286         (WebCore::InspectorFrontendClientLocal::openInNewTab):
3287         * inspector/InspectorFrontendClientLocal.h:
3288         * inspector/InspectorFrontendHost.cpp:
3289         (WebCore::InspectorFrontendHost::openInNewTab):
3290         * inspector/InspectorFrontendHost.h:
3291         * inspector/InspectorFrontendHost.idl:
3292         * inspector/InspectorPageAgent.cpp:
3293         (WebCore::InspectorPageAgent::navigate):
3294         * inspector/InspectorPageAgent.h:
3295         * inspector/front-end/ImageView.js:
3296         (WebInspector.ImageView.prototype._openInNewTab):
3297         * inspector/front-end/InspectorFrontendHostStub.js:
3298         (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
3299         * inspector/front-end/NetworkPanel.js:
3300         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
3301         * inspector/front-end/ResourcesPanel.js:
3302         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
3303         * inspector/front-end/inspector.js:
3304         (WebInspector.openResource):
3305
3306 2012-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
3307
3308         Web Inspector: DetailedHeapSnapshot: Replace the list of retainers with the expandable tree (to get rid of cycles)
3309         https://bugs.webkit.org/show_bug.cgi?id=76813
3310
3311         Reviewed by Pavel Feldman.
3312
3313         * English.lproj/localizedStrings.js:
3314         * inspector/front-end/DetailedHeapshotGridNodes.js:
3315         (WebInspector.HeapSnapshotObjectNode):
3316         * inspector/front-end/DetailedHeapshotView.js:
3317         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
3318         (WebInspector.HeapSnapshotRetainmentDataGrid):
3319         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
3320         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
3321         * inspector/front-end/HeapSnapshot.js:
3322         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
3323         (WebInspector.HeapSnapshotEdgesProvider):
3324         * inspector/front-end/HeapSnapshotProxy.js:
3325         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
3326         (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
3327
3328 2012-01-20  Andrey Kosyakov  <caseq@chromium.org>
3329
3330         Web Inspector: HAR pageref attributes are wrong and inconsistent with pages array
3331         https://bugs.webkit.org/show_bug.cgi?id=76398
3332
3333         Reviewed by Pavel Feldman.
3334
3335         - introduce a notion of LoadPage;
3336         - move page load times to LoadPage;
3337         - associate network resources with LoadPage;
3338         - export pages for all available resoruces to HAR, not just the last page;
3339         - use page ids, not document URLs in HAR entries to refer to pages;
3340         - use page URL as a title field of a HAR page;
3341
3342         * inspector/front-end/AuditsPanel.js:
3343         (WebInspector.AuditsPanel):
3344         * inspector/front-end/HAREntry.js:
3345         (WebInspector.HAREntry.prototype.build):
3346         (WebInspector.HAREntry.prototype.get responseCompression):
3347         (WebInspector.HARLog.prototype._buildPages):
3348         (WebInspector.HARLog.prototype._convertPage):
3349         (WebInspector.HARLog.prototype._pageEventTime):
3350         * inspector/front-end/NetworkLog.js:
3351         (WebInspector.NetworkLog):
3352         (WebInspector.NetworkLog.prototype._mainFrameNavigated):
3353         (WebInspector.NetworkLog.prototype._onResourceStarted):
3354         (WebInspector.Page):
3355         (WebInspector.Page.prototype.get id):
3356         (WebInspector.Page.prototype.get url):
3357         (WebInspector.Page.prototype.get contentLoadTime):
3358         (WebInspector.Page.prototype.set contentLoadTime):
3359         (WebInspector.Page.prototype.get loadTime):
3360         (WebInspector.Page.prototype.set loadTime):
3361         (WebInspector.Page.prototype.get startTime):
3362         (WebInspector.Page.prototype._bindResource):
3363         * inspector/front-end/NetworkManager.js:
3364         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
3365         * inspector/front-end/Resource.js:
3366         (WebInspector.Resource.prototype.get page):
3367         (WebInspector.Resource.prototype.set page):
3368         * inspector/front-end/ResourceTreeModel.js:
3369         (WebInspector.ResourceTreeFrame):
3370         (WebInspector.ResourceTreeFrame.prototype.get page):
3371         (WebInspector.PageDispatcher.prototype.domContentEventFired):
3372         (WebInspector.PageDispatcher.prototype.loadEventFired):
3373
3374 2012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>
3375
3376         [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
3377         https://bugs.webkit.org/show_bug.cgi?id=76069
3378
3379         Reviewed by Martin Robinson.
3380
3381         Fix bug introduced with patch for Bug 72830.
3382
3383         * accessibility/AccessibilityObject.cpp:
3384         (WebCore::AccessibilityObject::isDescendantOfObject): New function,
3385         to check if an accessibility object is a descendant of other object.
3386         (WebCore::AccessibilityObject::isAncestorOfObject): New function,
3387         to check if an accessibility object is an ancestor of other object.
3388         * accessibility/AccessibilityObject.h:
3389
3390         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3391         (webkit_accessible_text_get_caret_offset): Make sure to pass the
3392         right reference object to objectFocusedAndCaretOffsetUnignored.
3393         (objectFocusedAndCaretOffsetUnignored): Use positionBeforeNode
3394         instead of firstPositionInNode for calculating the begining of the
3395         range used to calculate the offsets. Ensure that the reference
3396         object is never a descendant of the actual object being returned.
3397
3398         * editing/gtk/FrameSelectionGtk.cpp:
3399         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3400         Pass the right accessibility object associated with the current
3401         selection to objectFocusedAndCaretOffsetUnignored.
3402
3403 2012-01-21  David Reveman  <reveman@chromium.org>
3404
3405         [Chromium] Incremental texture updates are not atomic.
3406         https://bugs.webkit.org/show_bug.cgi?id=72672
3407
3408         Reviewed by Adam Barth.
3409
3410         Use a new set of textures for each commit when incremental
3411         texture updates are enabled.
3412
3413         This patch is tested by the following unit test:
3414         - CCLayerTreeHostTestAtomicCommit.runMultiThread
3415
3416         * platform/graphics/chromium/ManagedTexture.cpp:
3417         (WebCore::ManagedTexture::ManagedTexture):
3418         (WebCore::ManagedTexture::steal):
3419         * platform/graphics/chromium/ManagedTexture.h:
3420         * platform/graphics/chromium/TiledLayerChromium.cpp:
3421         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3422         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3423         (WebCore::CCLayerTreeHost::initialize):
3424         (WebCore::CCLayerTreeHost::commitComplete):
3425         (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
3426         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3427         (WebCore::CCSettings::CCSettings):
3428         * platform/graphics/chromium/cc/CCProxy.h:
3429         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3430         (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
3431         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3432         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
3433         (WebCore::CCThreadProxy::partialTextureUpdateCapability):
3434         * platform/graphics/chromium/cc/CCThreadProxy.h:
3435
3436 2012-01-21  Pablo Flouret  <pablof@motorola.com>
3437
3438         Add .url attribute alongside .URL in EventSource and WebSocket to comply with the specs but not break existing usage.
3439         https://bugs.webkit.org/show_bug.cgi?id=40899
3440
3441         Reviewed by Adam Barth.
3442
3443         Tests: fast/eventsource/eventsource-url-attribute.html
3444                http/tests/websocket/tests/hixie76/url-attribute.html
3445                http/tests/websocket/tests/hybi/url-attribute.html
3446
3447         * page/EventSource.idl:
3448         * websockets/WebSocket.idl:
3449
3450 2012-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3451
3452         Unreviewed, rolling out r105564.
3453         http://trac.webkit.org/changeset/105564
3454         https://bugs.webkit.org/show_bug.cgi?id=76792
3455
3456         Does not compile on Chromium Mac (Requested by abarth on
3457         #webkit).
3458
3459         * platform/graphics/chromium/ManagedTexture.cpp:
3460         * platform/graphics/chromium/ManagedTexture.h:
3461         * platform/graphics/chromium/TiledLayerChromium.cpp:
3462         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3463         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3464         (WebCore::CCLayerTreeHost::initialize):
3465         (WebCore::CCLayerTreeHost::commitComplete):
3466         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3467         (WebCore::CCSettings::CCSettings):
3468         * platform/graphics/chromium/cc/CCProxy.h:
3469         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3470         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3471         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
3472         * platform/graphics/chromium/cc/CCThreadProxy.h:
3473
3474 2012-01-20  Chris Marrin  <cmarrin@apple.com>
3475
3476         Implement hardware accelerated Brightness and contrast filters
3477         https://bugs.webkit.org/show_bug.cgi?id=75521
3478         https://bugs.webkit.org/show_bug.cgi?id=76719
3479
3480         Reviewed by Simon Fraser.
3481
3482         Implemented hardware accelerated brightness and contrast filters. This also fixes
3483         the bug where grayscale filter was accidentally never getting hardware accelerated.
3484         It also complies with proposed spec changes for the brightness filter to be additive 
3485         rather than multiplicative, according to https://bugs.webkit.org/show_bug.cgi?id=76719. 
3486         Had to make both fixes in the same patch because I had to change the allowed brightness