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