Implement flex-pack:distribute
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-01-23  Ojan Vafai  <ojan@chromium.org>
2
3         Implement flex-pack:distribute
4         https://bugs.webkit.org/show_bug.cgi?id=76864
5
6         Reviewed by Tony Chang.
7
8         See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.
9
10         * css/CSSParser.cpp:
11         (WebCore::CSSParser::parseValue):
12         * css/CSSPrimitiveValueMappings.h:
13         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
14         (WebCore::CSSPrimitiveValue::operator EFlexPack):
15         * css/CSSValueKeywords.in:
16         * rendering/RenderFlexibleBox.cpp:
17         (WebCore::initialPackingOffset):
18         (WebCore::packingSpaceBetweenChildren):
19         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
20         (WebCore::RenderFlexibleBox::layoutColumnReverse):
21         * rendering/style/RenderStyleConstants.h:
22         * rendering/style/StyleFlexibleBoxData.h:
23
24 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
25
26         Implement CSS clip property in CSSStyleApplyProperty.
27         https://bugs.webkit.org/show_bug.cgi?id=74913
28
29         Reviewed by Andreas Kling.
30
31         No new tests / refactoring only.
32
33         * css/CSSPrimitiveValue.h:
34         * css/CSSPrimitiveValueMappings.h:
35         (WebCore::CSSPrimitiveValue::convertToLength):
36         This new function aims to provide a single call for converting many CSSPrimitiveValue
37         values to Lengths. It is templated to allow the caller to specify which conversions
38         are appropriate depending on the context in which the value is used.
39         * css/CSSStyleApplyProperty.cpp:
40         (WebCore::ApplyPropertyClip::convertToLength):
41         (WebCore::ApplyPropertyClip::applyInheritValue):
42         (WebCore::ApplyPropertyClip::applyInitialValue):
43         (WebCore::ApplyPropertyClip::applyValue):
44         (WebCore::ApplyPropertyClip::createHandler):
45         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
46         * css/CSSStyleSelector.cpp:
47         (WebCore::CSSStyleSelector::applyProperty):
48
49 2012-01-23  Tom Sepez  <tsepez@chromium.org>
50
51         decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
52         https://bugs.webkit.org/show_bug.cgi?id=71316
53
54         Reviewed by Daniel Bates.
55
56         Pass trailing unescaped bytes into the character set decoder to get correct
57         results in the presence of encodings which re-use ASCII values in sequences.
58         
59         Tests: http/tests/navigation/anchor-frames-gbk.html
60                http/tests/security/xssAuditor/iframe-onload-GBK-char.html
61                http/tests/security/xssAuditor/img-onerror-GBK-char.html
62                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
63                http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
64                http/tests/security/xssAuditor/script-tag-Big5-char.html
65                http/tests/security/xssAuditor/script-tag-Big5-char2.html
66
67         * platform/text/DecodeEscapeSequences.h:
68         (WebCore::Unicode16BitEscapeSequence::findInString):
69         (WebCore::Unicode16BitEscapeSequence::findEndOfRun):
70         (WebCore::Unicode16BitEscapeSequence::decodeRun):
71         (WebCore::URLEscapeSequence::findInString):
72         (WebCore::URLEscapeSequence::findEndOfRun):
73         (WebCore::URLEscapeSequence::decodeRun):
74         (WebCore::decodeEscapeSequences):
75
76 2012-01-23  Adam Barth  <abarth@webkit.org>
77
78         Fix a build break in a clean compile of the Chromium port (at least
79         reported by tbreisacher).
80
81         * css/CSSStyleDeclaration.cpp:
82
83 2012-01-23  Zan Dobersek  <zandobersek@gmail.com>
84
85         [GTK] editing/deleting/5408255.html results are incorrect
86         https://bugs.webkit.org/show_bug.cgi?id=53644
87
88         Reviewed by Martin Robinson.
89
90         When the WEBKIT_TOP_LEVEL environment variable is set, resources
91         should be loaded from the source tree to which the variable is
92         pointing. This approach is used when performing testing on the
93         Gtk port.
94
95         No new tests, changes cause one test to pass.
96
97         * platform/graphics/gtk/ImageGtk.cpp:
98         (getPathToImageResource): Also make changes to the resource path
99         construction code on Windows.
100         (WebCore::Image::loadPlatformResource):
101
102 2012-01-23  Julien Chaffraix  <jchaffraix@webkit.org>
103
104         Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
105         https://webkit.org/b/76842
106
107         Reviewed by Darin Adler.
108
109         Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html
110
111         The issue was that we would access our section's structure when it was dirty.
112
113         * rendering/RenderTableSection.cpp:
114         (WebCore::RenderTableSection::rowLogicalHeightChanged):
115         Bail out if we need cells recalculation as our internal structure is not up-to-date
116         and we will recompute all the rows' heights as part of the recomputation anyway.
117
118 2012-01-23  Kentaro Hara  <haraken@chromium.org>
119
120         [Refactoring] Make finish() of CodeGeneratorJS.pm empty
121         https://bugs.webkit.org/show_bug.cgi?id=76846
122
123         Reviewed by Adam Barth.
124
125         This is one of steps to stop rebuilding .h/.cpp files generated
126         by unchanged IDLs (bug 76836).
127
128         As a refactoring, we are planning to remove finish() from all
129         CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
130         empty.
131
132         No new tests. No change in behavior.
133
134         * bindings/scripts/CodeGeneratorJS.pm:
135         (finish): Made it empty. We will remove finish() after
136         making finish() of all CodeGenerators empty.
137         (GenerateInterface): Modified to call WriteData().
138         (WriteData): Simple code refactoring.
139         Removed if(defined $IMPL).
140         Removed if(defined $HEADER).
141         Removed if(defined $DEPS).
142         $IMPL -> IMPL.
143         $HEADER -> HEADER.
144         $DEPS -> DEPS.
145
146 2012-01-23  Shawn Singh  <shawnsingh@chromium.org>
147
148         [chromium] updateRect is incorrect when contentBounds != bounds
149         https://bugs.webkit.org/show_bug.cgi?id=72919
150
151         Reviewed by James Robinson.
152
153         Unit test added to TiledLayerChromiumTest.cpp
154
155         The m_updateRect member in LayerChromium types is used to track
156         what was painted for that layer. For tiled layers (especially
157         image layers), the updateRect was being given with respect to the
158         size of the content, rather than the size of the layer. This patch
159         adds a conversion so that updateRect is always with respect to the
160         layer size, so that damage tracking will work correctly in those
161         cases.
162
163         * platform/graphics/chromium/LayerChromium.h:
164         * platform/graphics/chromium/TiledLayerChromium.cpp:
165         (WebCore::TiledLayerChromium::updateCompositorResources):
166
167 2012-01-23  Konrad Piascik  <kpiascik@rim.com>
168
169         Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
170         https://bugs.webkit.org/show_bug.cgi?id=76706
171
172         Reviewed by Pavel Feldman.
173
174         Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
175         return the text to InspectorFrontendHost.copyText.  This will make all copy
176         functions use the same code path.
177
178         Not testable.
179
180         * inspector/Inspector.json:
181         * inspector/InspectorDOMAgent.cpp:
182         * inspector/InspectorDOMAgent.h:
183         * inspector/front-end/DOMAgent.js:
184         (WebInspector.DOMNode.prototype.copyNode.copy):
185         (WebInspector.DOMNode.prototype.copyNode):
186
187 2012-01-23  Luke Macpherson   <macpherson@chromium.org>
188
189         Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
190         https://bugs.webkit.org/show_bug.cgi?id=69490
191
192         Reviewed by Andreas Kling.
193
194         Covered by existing tests.
195
196         * css/CSSPrimitiveValue.cpp:
197         (WebCore::CSSPrimitiveValue::computeLength):
198         Use float multiplier instead of double.
199         (WebCore::CSSPrimitiveValue::computeLengthDouble):
200         Use float multiplier instead of double.
201         * css/CSSPrimitiveValue.h:
202         Change type signatures of computeLength template prototype.
203
204 2012-01-23  Priit Laes  <plaes@plaes.org>
205
206         [GTK][PATCH] More build silencing with (AM_V_...)
207         https://bugs.webkit.org/show_bug.cgi?id=76791
208
209         Reviewed by Gustavo Noronha Silva.
210
211         * GNUmakefile.am: Silence is golden...
212
213 2012-01-23  Arko Saha  <nghq36@motorola.com>
214
215         MicroData: Remove ExceptionCode& from setAttribute() call.
216         https://bugs.webkit.org/show_bug.cgi?id=76695
217
218         Reviewed by Hajime Morita.
219
220         Changeset http://trac.webkit.org/changeset/103296 removed unused
221         ExceptionCode& argument from Element::setAttribute(QualifiedName).
222         Hence updating all calls to setAttribute() method in MicroData code.
223
224         * html/HTMLAnchorElement.cpp:
225         (WebCore::HTMLAnchorElement::setItemValueText):
226         * html/HTMLAreaElement.cpp:
227         (WebCore::HTMLAreaElement::setItemValueText):
228         * html/HTMLEmbedElement.cpp:
229         (WebCore::HTMLEmbedElement::setItemValueText):
230         * html/HTMLIFrameElement.cpp:
231         (WebCore::HTMLIFrameElement::setItemValueText):
232         * html/HTMLImageElement.cpp:
233         (WebCore::HTMLImageElement::setItemValueText):
234         * html/HTMLLinkElement.cpp:
235         (WebCore::HTMLLinkElement::setItemValueText):
236         * html/HTMLMediaElement.cpp:
237         (WebCore::HTMLMediaElement::setItemValueText):
238         * html/HTMLMetaElement.cpp:
239         (WebCore::HTMLMetaElement::setItemValueText):
240         * html/HTMLObjectElement.cpp:
241         (WebCore::HTMLObjectElement::setItemValueText):
242         * html/HTMLSourceElement.cpp:
243         (WebCore::HTMLSourceElement::setItemValueText):
244         * html/HTMLTrackElement.cpp:
245         (WebCore::HTMLTrackElement::setItemValueText):
246
247 2012-01-23  Hayato Ito  <hayato@chromium.org>
248
249         Fix crash when a focused node is removed while in processing focusin event.
250         https://bugs.webkit.org/show_bug.cgi?id=76656
251
252         Reviewed by Dimitri Glazkov.
253
254         Test: fast/events/focus-remove-focuesed-node.html
255
256         * dom/Document.cpp:
257         (WebCore::Document::setFocusedNode):
258
259 2012-01-23  David Levin  <levin@chromium.org>
260
261         [windows] Convert usages of GetDC to HWndDC Part 1.
262         https://bugs.webkit.org/show_bug.cgi?id=76744
263
264         Reviewed by Adam Roben.
265
266         No new functionality so no new tests.
267
268         * platform/graphics/win/FontCacheWin.cpp:
269         (WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
270         and removed ReleaseDC.
271         (WebCore::createGDIFont): Ditto.
272         (WebCore::FontCache::getTraitsInFamily): Ditto.
273         * platform/graphics/win/FontPlatformDataWin.cpp:
274         (WebCore::FontPlatformData::FontPlatformData): Ditto.
275         * platform/graphics/win/SimpleFontDataCGWin.cpp:
276         (WebCore::SimpleFontData::platformInit): Ditto.
277         * platform/graphics/win/SimpleFontDataWin.cpp:
278         (WebCore::SimpleFontData::initGDIFont): Ditto.
279         (WebCore::SimpleFontData::containsCharacters): Ditto.
280         (WebCore::SimpleFontData::determinePitch): Ditto.
281         (WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
282         (WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
283         (WebCore::SimpleFontData::scriptFontProperties): Ditto.
284         * platform/win/CursorWin.cpp:
285         (WebCore::createSharedCursor): Ditto.
286         * platform/win/DragImageCGWin.cpp:
287         (WebCore::scaleDragImage): Ditto.
288         (WebCore::createDragImageFromImage): Ditto.
289         * platform/win/DragImageWin.cpp:
290         (WebCore::createDragImageForLink): Ditto.
291         * platform/win/PasteboardWin.cpp:
292         (WebCore::Pasteboard::writeImage): Ditto.
293
294 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
295
296         [GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
297         https://bugs.webkit.org/show_bug.cgi?id=76747
298
299         Reviewed by Gustavo Noronha Silva.
300
301         No new tests. Regressions are covered by existing tests, but testing
302         different GTK+ theme configurations is not possible yet.
303
304         * platform/gtk/ScrollbarThemeGtk.cpp:
305         (WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
306         (WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
307         (WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
308         no steppers.
309         * platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
310         * platform/gtk/ScrollbarThemeGtk2.cpp:
311         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
312         are primary foward and back steppers.
313         * platform/gtk/ScrollbarThemeGtk3.cpp:
314         (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
315
316 2012-01-23  Ryosuke Niwa  <rniwa@webkit.org>
317
318         REGRESSION(r105396): drag state is not cleared after each drag
319         https://bugs.webkit.org/show_bug.cgi?id=76878
320
321         Reviewed by Alexey Proskuryakov.
322
323         Revert a part of r105396 that made performDragAndDrop not call clearDragState
324         when the default action was not prevented since it caused a regression.
325
326         I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
327         but I can't think of a test case where this becomes a problem at the moment.
328         Since this area is not well tested, revert the change instead of making further
329         changes to the code base.
330
331         Tests: fast/events/clear-drag-state.html
332                fast/events/clear-edit-drag-state.html
333
334         * page/EventHandler.cpp:
335         (WebCore::EventHandler::performDragAndDrop):
336
337 2012-01-23  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
338
339         Fixed typo in exception messages
340         https://bugs.webkit.org/show_bug.cgi?id=76710
341
342         Reviewed by Alexey Proskuryakov.
343
344         * dom/DOMCoreException.cpp:
345         * fileapi/FileException.cpp:
346         * storage/SQLTransaction.cpp:
347         (WebCore::SQLTransaction::openTransactionAndPreflight):
348         (WebCore::SQLTransaction::postflightAndCommit):
349         * xml/XMLHttpRequestException.cpp:
350
351 2012-01-18  David Levin  <levin@chromium.org>
352
353         Allow delayed DC allocation in HWndDC.
354         https://bugs.webkit.org/show_bug.cgi?id=76737
355
356         Reviewed by Adam Roben.
357
358         No new functionality exposed so no new tests.
359
360         * platform/win/HWndDC.h: Changed this slightly to allow
361         for allocating a window DC after the initial creation since
362         this pattern occurrs in several places so this makes it easy to
363         replace them in an upcoming change.
364         (WebCore::HWndDC::HWndDC):
365         (WebCore::HWndDC::~HWndDC):
366         (WebCore::HWndDC::setHWnd):
367         (WebCore::HWndDC::clear):
368
369 2012-01-23  Arko Saha  <nghq36@motorola.com>
370
371         MicroData: Compilation error while building Webkit with --microdata.
372         https://bugs.webkit.org/show_bug.cgi?id=76703
373
374         Reviewed by Hajime Morita.
375
376         * dom/MicroDataItemList.cpp:
377         (WebCore::MicroDataItemList::MicroDataItemList):
378         (WebCore::MicroDataItemList::~MicroDataItemList):
379         * dom/MicroDataItemList.h:
380         * dom/NodeRareData.h:
381         (WebCore::NodeRareData::properties):
382         * html/HTMLPropertiesCollection.cpp:
383         (WebCore::HTMLPropertiesCollection::create):
384         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
385         * html/HTMLPropertiesCollection.h:
386
387 2012-01-13  David Levin  <levin@chromium.org>
388
389         [chromium] Convert uses of GetDC to HWndDC.
390         https://bugs.webkit.org/show_bug.cgi?id=76290
391
392         Reviewed by Dmitry Titov.
393
394         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
395         (WebCore::createFontIndirectAndGetWinName):
396         (WebCore::fontContainsCharacter):
397         (WebCore::FontCache::getLastResortFallbackFont):
398         (WebCore::FontCache::getTraitsInFamily):
399         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
400         (WebCore::FontPlatformData::scriptFontProperties):
401         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
402         (WebCore::FontMap::getAscent):
403         (WebCore::FontMap::getSpaceGlyph):
404         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
405         (WebCore::fillBMPGlyphs):
406         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
407         (WebCore::SimpleFontData::platformInit):
408         (WebCore::SimpleFontData::determinePitch):
409         (WebCore::SimpleFontData::platformWidthForGlyph):
410         * platform/graphics/chromium/UniscribeHelper.cpp:
411         (WebCore::UniscribeHelper::EnsureCachedDCCreated):
412         * rendering/RenderThemeChromiumWin.cpp:
413         (WebCore::systemFontSize):
414         (WebCore::pointsToPixels):
415
416 2012-01-23  Joe Thomas  <joethomas@motorola.com>
417
418         https://bugs.webkit.org/show_bug.cgi?id=75799
419         Calling intersectsNode on a detached range should throw.
420
421         INVALID_STATE_ERR exception should be thrown if intersectsNode is called on a detached Range.
422
423         Reviewed by Darin Adler.
424
425         Test: fast/dom/Range/range-intersectsNode-exception.html
426
427         * dom/Range.cpp:
428         (WebCore::Range::intersectsNode): Throwing INVALID_STATE_ERR exception if the range is detached.
429
430 2012-01-23  Daniel Cheng  <dcheng@chromium.org>
431
432         Convert DataTransferItem/DataTransferItemList back into an interface class
433         https://bugs.webkit.org/show_bug.cgi?id=76856
434
435         When Qt implemented the DataTransferItemList, a lot of logic was moved into the shared
436         classes since Chromium/Qt happened to implement it the same way. Now that I want to do some
437         refactoring/cleanup work to better implement DataTransferItemList in Chromium, we won't
438         share the same data anymore so it doesn't make sense to keep that code in a common location.
439
440         Reviewed by David Levin.
441
442         Covered by existing tests.
443
444         * CMakeLists.txt:
445         * GNUmakefile.list.am:
446         * Target.pri:
447         * WebCore.gypi:
448         * WebCore.vcproj/WebCore.vcproj:
449         * WebCore.xcodeproj/project.pbxproj:
450         * dom/DataTransferItem.cpp:
451         * dom/DataTransferItem.h:
452         * dom/DataTransferItemList.cpp: Removed.
453         * dom/DataTransferItemList.h:
454         * platform/chromium/ClipboardChromium.cpp:
455         (WebCore::ClipboardChromium::mayUpdateItems):
456         * platform/chromium/DataTransferItemChromium.cpp:
457         (WebCore::DataTransferItemChromium::create):
458         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
459         (WebCore::DataTransferItemChromium::getAsString):
460         (WebCore::DataTransferItemChromium::getAsFile):
461         (WebCore::DataTransferItemChromium::clipboardChromium):
462         * platform/chromium/DataTransferItemChromium.h:
463         (WebCore::DataTransferItemChromium::kind):
464         (WebCore::DataTransferItemChromium::type):
465         * platform/chromium/DataTransferItemListChromium.cpp:
466         (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
467         * platform/chromium/DataTransferItemListChromium.h:
468         * platform/qt/DataTransferItemListQt.cpp:
469         (WebCore::DataTransferItemListQt::DataTransferItemListQt):
470         (WebCore::DataTransferItemListQt::length):
471         (WebCore::DataTransferItemListQt::item):
472         (WebCore::DataTransferItemListQt::deleteItem):
473         (WebCore::DataTransferItemListQt::clear):
474         (WebCore::DataTransferItemListQt::add):
475         * platform/qt/DataTransferItemListQt.h:
476         * platform/qt/DataTransferItemQt.cpp:
477         (WebCore::DataTransferItemQt::create):
478         (WebCore::DataTransferItemQt::DataTransferItemQt):
479         (WebCore::DataTransferItemQt::getAsString):
480         (WebCore::DataTransferItemQt::getAsFile):
481         * platform/qt/DataTransferItemQt.h:
482         (WebCore::DataTransferItemQt::kind):
483         (WebCore::DataTransferItemQt::type):
484
485 2012-01-23  Andreas Kling  <awesomekling@apple.com>
486
487         Unreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.
488
489         * css/CSSMutableStyleDeclaration.cpp:
490
491 2012-01-23  Philip Rogers  <pdr@google.com>
492
493         Update uniteIfNonZero to use isZero.
494         https://bugs.webkit.org/show_bug.cgi?id=76637
495
496         Reviewed by Darin Adler.
497
498         No new tests. (I found no existing codepath that would be affected by
499         this change but I think this change is still valuable in preventing
500         future bugs.)
501
502         * platform/graphics/FloatRect.cpp:
503         (WebCore::FloatRect::uniteIfNonZero):
504
505         The following change is a minor followup to
506         https://bugs.webkit.org/show_bug.cgi?id=76177#c12 and is not directly
507         related to the rest of this patch.
508         * rendering/svg/SVGRenderSupport.cpp:
509         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
510
511 2012-01-23  Antti Koivisto  <antti@apple.com>
512
513         Eliminate CSSElementStyleDeclaration
514         https://bugs.webkit.org/show_bug.cgi?id=76848
515
516         Reviewed by Andreas Kling.
517
518         CSSElementStyleDeclaration has little functionality. It can merge with CSSMutableStyleDeclaration simplifying the code.
519         
520         Having an element parent is mutually exclusive with having a css rule parent. We can keep them in a union. This also
521         shrinks all inline style declarations by one pointer.
522
523         * CMakeLists.txt:
524         * GNUmakefile.list.am:
525         * Target.pri:
526         * WebCore.gypi:
527         * WebCore.vcproj/WebCore.vcproj:
528         * WebCore.xcodeproj/project.pbxproj:
529         * bindings/js/JSDOMBinding.h:
530         (WebCore::root):
531         * css/CSSAllInOne.cpp:
532         * css/CSSElementStyleDeclaration.cpp: Removed.
533         * css/CSSElementStyleDeclaration.h: Removed.
534         * css/CSSMutableStyleDeclaration.cpp:
535         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
536         * css/CSSMutableStyleDeclaration.h:
537         (WebCore::CSSMutableStyleDeclaration::createInline):
538         (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
539         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
540         * css/CSSStyleDeclaration.cpp:
541         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
542         (WebCore::CSSStyleDeclaration::parentStyleSheet):
543         
544             Merge the CSSElementStyleDeclaration::styleSheet() logic here.
545         
546         * css/CSSStyleDeclaration.h:
547         (WebCore::CSSStyleDeclaration::parentRule):
548         (WebCore::CSSStyleDeclaration::clearParentRule):
549         (WebCore::CSSStyleDeclaration::parentElement):
550         (WebCore::CSSStyleDeclaration::clearParentElement):
551         * css/CSSStyleRule.cpp:
552         (WebCore::CSSStyleRule::setSelectorText):
553         
554             CSSStyleRule's style declaration can't have isElementStyleDeclaration set, the dead code can be removed.
555             This is asserted in setDeclaration() and again implicitly in the destructor (by clearParentRule()).
556         
557         * dom/StyledElement.cpp:
558         (WebCore::StyledElement::createInlineStyleDecl):
559         (WebCore::StyledElement::destroyInlineStyleDecl):
560         (WebCore::StyledElement::ensureInlineStyleDecl):
561         (WebCore::StyledElement::copyNonAttributeProperties):
562         * dom/StyledElement.h:
563         (WebCore::StyledElement::inlineStyleDecl):
564         * editing/ApplyStyleCommand.cpp:
565         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
566         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
567         * editing/DeleteButtonController.cpp:
568         (WebCore::DeleteButtonController::createDeletionUI):
569         * html/ValidationMessage.cpp:
570         (WebCore::adjustBubblePosition):
571         * html/shadow/MediaControlElements.cpp:
572         (WebCore::MediaControlPanelElement::setPosition):
573         (WebCore::MediaControlPanelElement::resetPosition):
574         (WebCore::MediaControlPanelElement::makeOpaque):
575         (WebCore::MediaControlPanelElement::makeTransparent):
576         * html/shadow/SliderThumbElement.cpp:
577         (WebCore::TrackLimiterElement::create):
578         * svg/SVGFontFaceElement.cpp:
579         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
580
581 2012-01-23  Benjamin Poulain  <bpoulain@apple.com>
582
583         Use OVERRIDE for PopupMenuClient's implementations
584         https://bugs.webkit.org/show_bug.cgi?id=76774
585
586         Reviewed by Darin Adler.
587
588         * rendering/RenderMenuList.h: Also sort the methods to the same
589         order as PopupMenuClient.
590         * rendering/RenderTextControlSingleLine.h:
591
592 2012-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>
593
594         Basic enhancements to StringBuilder
595         https://bugs.webkit.org/show_bug.cgi?id=67081
596
597         These changes are because we explicitly disallowed StringBuilder's
598         copy constructor and assignment operator, and the change of return
599         type of StringBuilder::toString().
600
601         Reviewed by Darin Adler.
602
603         No new tests. All layout tests and unit tests should run as before.
604
605         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
606         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
607         * svg/SVGPathStringBuilder.h:
608         (WebCore::SVGPathStringBuilder::cleanup):
609
610 2012-01-23  W. James MacLean  <wjmaclean@chromium.org>
611
612         [chromium] Add WebSolidColorLayer interface to draw non-textured color layers from Aura.
613         https://bugs.webkit.org/show_bug.cgi?id=75732
614
615         Reviewed by James Robinson.
616
617         Add WebSolidColorLayer to paint solid-color layers without a backing texture.
618
619         Test: unit test for CCSolidColorLayerImpl.
620
621         * WebCore.gypi:
622         * platform/graphics/chromium/SolidColorLayerChromium.cpp: Added.
623         (WebCore::SolidColorLayerChromium::createCCLayerImpl):
624         (WebCore::SolidColorLayerChromium::create):
625         (WebCore::SolidColorLayerChromium::SolidColorLayerChromium):
626         (WebCore::SolidColorLayerChromium::~SolidColorLayerChromium):
627         * platform/graphics/chromium/SolidColorLayerChromium.h: Added.
628         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Added.
629         (WebCore::CCSolidColorLayerImpl::CCSolidColorLayerImpl):
630         (WebCore::CCSolidColorLayerImpl::~CCSolidColorLayerImpl):
631         (WebCore::CCSolidColorLayerImpl::quadTransform):
632         (WebCore::CCSolidColorLayerImpl::appendQuads):
633         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Added.
634         (WebCore::CCSolidColorLayerImpl::create):
635         (WebCore::CCSolidColorLayerImpl::layerTypeAsString):
636
637 2012-01-23  Antti Koivisto  <antti@apple.com>
638
639         Attempt to fix Qt build.
640     
641         Not reviewed.
642
643         * css/CSSElementStyleDeclaration.cpp:
644         * css/CSSElementStyleDeclaration.h:
645         (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
646
647 2012-01-23  Andreas Kling  <awesomekling@apple.com>
648
649         Move m_rootEditableElementForSelectionOnMouseDown off of HTMLAnchorElement.
650         <http://webkit.org/b/76833>
651
652         Reviewed by Antti Koivisto.
653
654         Move HTMLAnchorElement::m_rootEditableElementForSelectionOnMouseDown to a rare
655         data-style hashmap, effectively shrinking HTMLAnchorElement by one CPU word.
656
657         The pointer is only used during interactive event handling, so it shouldn't have
658         any noticeable effects on web performance.
659
660         This reduces memory consumption by 256 kB (on 64-bit) when viewing the full
661         HTML5 spec at <http://whatwg.org/c>.
662
663         * html/HTMLAnchorElement.cpp:
664         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
665         (WebCore::HTMLAnchorElement::~HTMLAnchorElement):
666         (WebCore::HTMLAnchorElement::defaultEventHandler):
667         (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
668         (WebCore::rootEditableElementMap):
669         (WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
670         (WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
671         * html/HTMLAnchorElement.h:
672
673 2012-01-23  Antti Koivisto  <antti@apple.com>
674
675         Eliminate CSSElementStyleDeclaration subclasses
676         https://bugs.webkit.org/show_bug.cgi?id=76827
677
678         Reviewed by Andreas Kling.
679
680         CSSInlineStyleDeclaration and FontFaceStyleDeclaration serve no real purpose.
681
682         * GNUmakefile.list.am:
683         * Target.pri:
684         * WebCore.gypi:
685         * WebCore.vcproj/WebCore.vcproj:
686         * WebCore.xcodeproj/project.pbxproj:
687         * css/CSSElementStyleDeclaration.cpp:
688         (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
689         (WebCore::CSSElementStyleDeclaration::styleSheet):
690         * css/CSSElementStyleDeclaration.h:
691         (WebCore::CSSElementStyleDeclaration::createInline):
692         (WebCore::toCSSElementStyleDeclaration):
693         * css/CSSInlineStyleDeclaration.h: Removed.
694         * css/CSSMutableStyleDeclaration.cpp:
695         * dom/StyledElement.cpp:
696         (WebCore::StyledElement::createInlineStyleDecl):
697         (WebCore::StyledElement::ensureInlineStyleDecl):
698         (WebCore::StyledElement::copyNonAttributeProperties):
699         * dom/StyledElement.h:
700         (WebCore::StyledElement::inlineStyleDecl):
701         * editing/ApplyStyleCommand.cpp:
702         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
703         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
704         * editing/DeleteButtonController.cpp:
705         (WebCore::DeleteButtonController::createDeletionUI):
706         * html/ValidationMessage.cpp:
707         (WebCore::adjustBubblePosition):
708         * html/shadow/MediaControlElements.cpp:
709         (WebCore::MediaControlPanelElement::setPosition):
710         (WebCore::MediaControlPanelElement::resetPosition):
711         (WebCore::MediaControlPanelElement::makeOpaque):
712         (WebCore::MediaControlPanelElement::makeTransparent):
713         * html/shadow/SliderThumbElement.cpp:
714         (WebCore::TrackLimiterElement::create):
715         * svg/SVGFontFaceElement.cpp:
716         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
717
718 2012-01-23  Pavel Feldman  <pfeldman@google.com>
719
720         Not reviewed: annotate inspector's js so that it compiled.
721
722         * inspector/front-end/ElementsTreeOutline.js:
723         * inspector/front-end/TextPrompt.js:
724         (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
725         (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
726
727 2012-01-23  Philippe Normand  <pnormand@igalia.com>
728
729         [GStreamer] fix WebAudio build after r105431
730         https://bugs.webkit.org/show_bug.cgi?id=76819
731
732         Reviewed by Martin Robinson.
733
734         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
735         (WebCore::copyGstreamerBuffersToAudioChannel): Use mutableData()
736         when copying.
737         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
738         (webKitWebAudioSrcLoop): Drop constness when setting the buffer
739         data pointer.
740
741 2012-01-23  Pavel Feldman  <pfeldman@google.com>
742
743         Web Inspector: add touch events to the event listeners list.
744         https://bugs.webkit.org/show_bug.cgi?id=76830
745
746         Reviewed by Yury Semikhatsky.
747
748         * English.lproj/localizedStrings.js:
749         * inspector/InjectedScriptSource.js:
750         (.):
751         * inspector/front-end/BreakpointsSidebarPane.js:
752         (WebInspector.EventListenerBreakpointsSidebarPane):
753
754 2012-01-23  Pavel Feldman  <pfeldman@google.com>
755
756         Web Inspector: inspector close button is missing in the dock-to-right mode.
757         https://bugs.webkit.org/show_bug.cgi?id=76829
758
759         Reviewed by Timothy Hatcher.
760
761         * inspector/front-end/inspector.js:
762         (WebInspector.set attached):
763         (WebInspector.get _setCompactMode):
764
765 2012-01-23  Vsevolod Vlasov  <vsevik@chromium.org>
766
767         Web Inspector: IndexedDBModel should keep track of requests sent to the backend.
768         https://bugs.webkit.org/show_bug.cgi?id=76705
769
770         Reviewed by Pavel Feldman.
771
772         * inspector/Inspector.json:
773         * inspector/InspectorIndexedDBAgent.cpp:
774         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
775         * inspector/InspectorIndexedDBAgent.h:
776         * inspector/front-end/IndexedDBModel.js:
777         (WebInspector.IndexedDBModel):
778         (WebInspector.IndexedDBModel.prototype._frameDetached):
779         (WebInspector.IndexedDBModel.prototype._reset):
780         (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
781         (WebInspector.IndexedDBRequestManager):
782         (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame.innerCallback):
783         (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame):
784         (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
785         (WebInspector.IndexedDBRequestManager.prototype._requestId):
786         (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
787         (WebInspector.IndexedDBRequestManager.prototype._reset):
788         (WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest):
789         (WebInspector.IndexedDBDispatcher):
790         (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
791
792 2012-01-23  Pavel Feldman  <pfeldman@google.com>
793
794         Web Inspector: Inspecting an element inside an iframe no longer works
795         https://bugs.webkit.org/show_bug.cgi?id=76808
796
797         Reviewed by Timothy Hatcher.
798
799         Test: http/tests/inspector/inspect-element.html
800
801         * inspector/InspectorDOMAgent.cpp:
802         (WebCore::InspectorDOMAgent::innerParentNode):
803         * inspector/front-end/DOMAgent.js:
804         (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
805         (WebInspector.DOMNode.prototype.getChildNodes):
806         (WebInspector.DOMNode.prototype._setChildrenPayload):
807         * inspector/front-end/ElementsTreeOutline.js:
808         (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
809
810 2012-01-23  Andrey Kosyakov  <caseq@chromium.org>
811
812         Web Inspector: response.bodySize in HAR is invalid (negative) for cached resources
813         https://bugs.webkit.org/show_bug.cgi?id=76823
814
815         Reviewed by Yury Semikhatsky.
816
817         - fix response.bodySize for cached resources;
818         Also some drive-by fixes:
819         - pretty-print HAR when exported
820         - proper annotation for JSON.stringify()
821         - de-obfuscate a piece of code in TimelinePanel
822
823         * inspector/front-end/HAREntry.js:
824         (WebInspector.HAREntry.prototype.get responseBodySize):
825         * inspector/front-end/NetworkPanel.js:
826         (WebInspector.NetworkLogView.prototype._exportAll):
827         (WebInspector.NetworkLogView.prototype._exportResource):
828
829 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
830
831         [GTK] Refactor GTK's accessibilitity code to be more modular
832         https://bugs.webkit.org/show_bug.cgi?id=76783
833
834         Reviewed by Martin Robinson.
835
836         New files for the implementation of the AtkAction interface,
837         containing the related code from WebKitAccessibleWrapperAtk.cpp.
838
839         * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp: Added.
840         (core):
841         (webkitAccessibleActionInterfaceInit):
842         (webkitAccessibleActionDoAction):
843         (webkitAccessibleActionGetNActions):
844         (webkitAccessibleActionGetDescription):
845         (webkitAccessibleActionGetKeybinding):
846         (webkitAccessibleActionGetName):
847         * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Added.
848
849         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
850         related to the implementation of the AtkAction interface.
851
852         Add new files to build files.
853
854         * GNUmakefile.list.am: Add WebKitAccessibleInterfaceAction.[h|cpp].
855         * WebCore.gypi: Ditto.
856
857 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
858
859         SVG animation repaint issue with image and dynamic clipPath
860         https://bugs.webkit.org/show_bug.cgi?id=76559
861
862         Reviewed by Zoltan Herczeg.
863
864         Based on patch by Kelly Norton <knorton@google.com>. I extended the patch
865         to correctly handle relative length resolution as well.
866
867         RenderSVGImage doesn't react on setNeedsBoundariesUpdate() calls
868         and thus fails to update its boundaries in some cases.
869
870         The logic is also inconsistent, compared to the other renderers.
871         Fix that properly, by reusing the method used in RenderSVGViewportContainer.
872         Call calculateImageViewport() immediately, after initializing the LayoutRepainter.
873         Previously we resolved the image viewport in RenderSVGImage::updateFromElement. This is
874         wrong, as it queries the frameRect() of the RenderSVGRoot in a state, where the renderer
875         still needs layout, leading to wrong results.
876
877         I turned Kellys manual testcase into a predictable test, see svg/repaint/image-with-clip-path.svg
878         Relative sized image handling is tested in svg/custom/relative-sized-image.xhtml now.
879
880         Tests: svg/custom/relative-sized-image.xhtml
881                svg/repaint/image-with-clip-path.svg
882
883         * rendering/svg/RenderSVGImage.cpp:
884         (WebCore::RenderSVGImage::RenderSVGImage):
885         (WebCore::RenderSVGImage::updateImageViewport):
886         (WebCore::RenderSVGImage::layout):
887         * rendering/svg/RenderSVGImage.h:
888         (WebCore::RenderSVGImage::setNeedsBoundariesUpdate):
889         * svg/SVGImageElement.cpp:
890         (WebCore::SVGImageElement::svgAttributeChanged):
891
892 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
893
894         <feImage> has problems referencing local elements
895         https://bugs.webkit.org/show_bug.cgi?id=76800
896
897         Reviewed by Zoltan Herczeg.
898
899         <feImage> referencing local elements are currently rendered into an ImageBuffer
900         by SVGFEImageElement, using the local coordinates of the referenced renderer.
901
902         This approach is buggy and should be avoided, by moving the rendering fully
903         into SVGFEImage, which takes care of respecting the correct transformations.
904
905         This fixes <feImage> + local references, which currently breaks two tests in trunk.
906         Covered by existing tests.
907
908         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
909         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
910         * svg/SVGFEImageElement.cpp:
911         (WebCore::SVGFEImageElement::build):
912         * svg/graphics/filters/SVGFEImage.cpp:
913         (WebCore::FEImage::FEImage):
914         (WebCore::FEImage::createWithImage):
915         (WebCore::FEImage::createWithIRIReference):
916         (WebCore::FEImage::determineAbsolutePaintRect):
917         (WebCore::FEImage::referencedRenderer):
918         (WebCore::FEImage::platformApplySoftware):
919         (WebCore::FEImage::externalRepresentation):
920         * svg/graphics/filters/SVGFEImage.h:
921         (WebCore::FEImage::~FEImage):
922         * svg/graphics/filters/SVGFilter.h:
923         (WebCore::SVGFilter::absoluteTransform):
924
925 2012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
926
927         Not reviewed. Fix Mac build, by exporting a new symbol.
928
929         * WebCore.exp.in:
930
931 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
932
933         [GTK] Refactor GTK's accessibilitity code to be more modular
934         https://bugs.webkit.org/show_bug.cgi?id=76783
935
936         Reviewed by Martin Robinson.
937
938         Move common function returnString() from the wrapper and
939         hyperlink implementations to a new utility file.
940
941         * accessibility/gtk/WebKitAccessibleUtil.cpp: Added.
942         (returnString): Taken from WebKitAccessibleWrapperAtk.cpp and
943         WebKitAccessibleHyperlink.cpp
944         * accessibility/gtk/WebKitAccessibleUtil.h: Added.
945
946         * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Remove local
947         implementation of returnString.
948         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Ditto.
949
950         Add new files to build files.
951
952         * GNUmakefile.list.am: Add WebKitAccessibleUtil.[h|cpp].
953         * WebCore.gypi: Ditto.
954
955 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
956
957         [GTK] Refactor GTK's accessibilitity code to be more modular
958         https://bugs.webkit.org/show_bug.cgi?id=76783
959
960         Reviewed by Martin Robinson.
961
962         Fix typo in class struct (parent class field had the wrong type),
963         fix coding style issues and update date in headers.
964
965         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
966         * accessibility/gtk/WebKitAccessibleHyperlink.h:
967
968 2012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
969
970         [GTK] Refactor GTK's accessibilitity code to be more modular
971         https://bugs.webkit.org/show_bug.cgi?id=76783
972
973         Reviewed by Martin Robinson.
974
975         Rename WebKitAccessible's public functions to follow WebKit's
976         coding style and update callers.
977
978         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
979         (webkitAccessibleNew): Renamed from webkit_accessible_new.
980         (webkitAccessibleGetAccessibilityObject): Likewise.
981         (webkitAccessibleDetach):Likewise.
982         (webkitAccessibleGetFocusedElement): Likewise.
983         * accessibility/gtk/WebKitAccessibleWrapperAtk.h:
984
985         Update calls to WebKitAccessible's public functions.
986
987         * accessibility/gtk/AXObjectCacheAtk.cpp:
988         (WebCore::AXObjectCache::detachWrapper): Update call.
989         (WebCore::AXObjectCache::attachWrapper): Ditto.
990         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
991         (core): Update call.
992
993 2012-01-19  Kenichi Ishibashi  <bashi@chromium.org>
994
995         WebKit fails IETC composition event types
996         https://bugs.webkit.org/show_bug.cgi?id=76690
997
998         Reviewed by Ryosuke Niwa.
999
1000         Dispatches at least one compositionupdate event.
1001         The spec(*) says that a composition session includes one or more
1002         compositionupdate event(s).
1003         Other major browsers (Firefox and IE) don't populate the data attribute
1004         of the compositionstart event, but we set the given text in the data
1005         attribute to minimize the effect of this change.
1006
1007         (*) http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-compositionevents
1008
1009         Updated existing test: fast/fast/events/ime-composition-events-001.html.
1010
1011         * editing/Editor.cpp:
1012         (WebCore::Editor::setComposition):
1013
1014 2012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>
1015
1016         [GTK] Refactor GTK's accessibilitity code to be more modular
1017         https://bugs.webkit.org/show_bug.cgi?id=76783
1018
1019         Reviewed by Martin Robinson.
1020
1021         Rename the file for the ATK AccessibilityObject wrapper to be more
1022         coherent with the rest of the files in the same directory.
1023
1024         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Renamed from
1025         Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp.
1026         (fallbackObject):
1027         (returnString):
1028         (core):
1029         (webkit_accessible_get_name):
1030         (webkit_accessible_get_description):
1031         (setAtkRelationSetFromCoreObject):
1032         (isRootObject):
1033         (atkParentOfRootObject):
1034         (webkit_accessible_get_parent):
1035         (getNChildrenForTable):
1036         (webkit_accessible_get_n_children):
1037         (getChildForTable):
1038         (webkit_accessible_ref_child):
1039         (getIndexInParentForCellInRow):
1040         (webkit_accessible_get_index_in_parent):
1041         (addAttributeToSet):
1042         (webkit_accessible_get_attributes):
1043         (atkRole):
1044         (webkit_accessible_get_role):
1045         (selectionBelongsToObject):
1046         (isTextWithCaret):
1047         (setAtkStateSetFromCoreObject):
1048         (webkit_accessible_ref_state_set):
1049         (webkit_accessible_ref_relation_set):
1050         (webkit_accessible_init):
1051         (webkit_accessible_finalize):
1052         (webkit_accessible_class_init):
1053         (webkit_accessible_get_type):
1054         (webkit_accessible_action_do_action):
1055         (webkit_accessible_action_get_n_actions):
1056         (webkit_accessible_action_get_description):
1057         (webkit_accessible_action_get_keybinding):
1058         (webkit_accessible_action_get_name):
1059         (atk_action_interface_init):
1060         (listObjectForSelection):
1061         (optionFromList):
1062         (optionFromSelection):
1063         (webkit_accessible_selection_add_selection):
1064         (webkit_accessible_selection_clear_selection):
1065         (webkit_accessible_selection_ref_selection):
1066         (webkit_accessible_selection_get_selection_count):
1067         (webkit_accessible_selection_is_child_selected):
1068         (webkit_accessible_selection_remove_selection):
1069         (webkit_accessible_selection_select_all_selection):
1070         (atk_selection_interface_init):
1071         (utf8Substr):
1072         (convertUniCharToUTF8):
1073         (textForRenderer):
1074         (textForObject):
1075         (webkit_accessible_text_get_text):
1076         (getGailTextUtilForAtk):
1077         (getPangoLayoutForAtk):
1078         (webkit_accessible_text_get_text_after_offset):
1079         (webkit_accessible_text_get_text_at_offset):
1080         (webkit_accessible_text_get_text_before_offset):
1081         (webkit_accessible_text_get_character_at_offset):
1082         (webkit_accessible_text_get_caret_offset):
1083         (baselinePositionForRenderObject):
1084         (getAttributeSetForAccessibilityObject):
1085         (compareAttribute):
1086         (attributeSetDifference):
1087         (accessibilityObjectLength):
1088         (getAccessibilityObjectForOffset):
1089         (getRunAttributesFromAccesibilityObject):
1090         (webkit_accessible_text_get_run_attributes):
1091         (webkit_accessible_text_get_default_attributes):
1092         (textExtents):
1093         (webkit_accessible_text_get_character_extents):
1094         (webkit_accessible_text_get_range_extents):
1095         (webkit_accessible_text_get_character_count):
1096         (webkit_accessible_text_get_offset_at_point):
1097         (getSelectionOffsetsForObject):
1098         (webkit_accessible_text_get_n_selections):
1099         (webkit_accessible_text_get_selection):
1100         (webkit_accessible_text_add_selection):
1101         (webkit_accessible_text_set_selection):
1102         (webkit_accessible_text_remove_selection):
1103         (webkit_accessible_text_set_caret_offset):
1104         (atk_text_interface_init):
1105         (webkit_accessible_editable_text_set_run_attributes):
1106         (webkit_accessible_editable_text_set_text_contents):
1107         (webkit_accessible_editable_text_insert_text):
1108         (webkit_accessible_editable_text_copy_text):
1109         (webkit_accessible_editable_text_cut_text):
1110         (webkit_accessible_editable_text_delete_text):
1111         (webkit_accessible_editable_text_paste_text):
1112         (atk_editable_text_interface_init):
1113         (contentsToAtk):
1114         (atkToContents):
1115         (webkit_accessible_component_ref_accessible_at_point):
1116         (webkit_accessible_component_get_extents):
1117         (webkit_accessible_component_grab_focus):
1118         (atk_component_interface_init):
1119         (webkit_accessible_image_get_image_position):
1120         (webkit_accessible_image_get_image_description):
1121         (webkit_accessible_image_get_image_size):
1122         (atk_image_interface_init):
1123         (cell):
1124         (cellIndex):
1125         (cellAtIndex):
1126         (webkit_accessible_table_ref_at):
1127         (webkit_accessible_table_get_index_at):
1128         (webkit_accessible_table_get_column_at_index):
1129         (webkit_accessible_table_get_row_at_index):
1130         (webkit_accessible_table_get_n_columns):
1131         (webkit_accessible_table_get_n_rows):
1132         (webkit_accessible_table_get_column_extent_at):
1133         (webkit_accessible_table_get_row_extent_at):
1134         (webkit_accessible_table_get_column_header):
1135         (webkit_accessible_table_get_row_header):
1136         (webkit_accessible_table_get_caption):
1137         (webkit_accessible_table_get_column_description):
1138         (webkit_accessible_table_get_row_description):
1139         (atk_table_interface_init):
1140         (webkitAccessibleHypertextGetLink):
1141         (webkitAccessibleHypertextGetNLinks):
1142         (webkitAccessibleHypertextGetLinkIndex):
1143         (atkHypertextInterfaceInit):
1144         (webkitAccessibleHyperlinkImplGetHyperlink):
1145         (atkHyperlinkImplInterfaceInit):
1146         (documentAttributeValue):
1147         (webkit_accessible_document_get_attribute_value):
1148         (webkit_accessible_document_get_attributes):
1149         (webkit_accessible_document_get_locale):
1150         (atk_document_interface_init):
1151         (webkitAccessibleValueGetCurrentValue):
1152         (webkitAccessibleValueGetMaximumValue):
1153         (webkitAccessibleValueGetMinimumValue):
1154         (webkitAccessibleValueSetCurrentValue):
1155         (webkitAccessibleValueGetMinimumIncrement):
1156         (atkValueInterfaceInit):
1157         (GetAtkInterfaceTypeFromWAIType):
1158         (getInterfaceMaskFromObject):
1159         (getUniqueAccessibilityTypeName):
1160         (getAccessibilityTypeFromObject):
1161         (webkit_accessible_new):
1162         (webkit_accessible_get_accessibility_object):
1163         (webkit_accessible_detach):
1164         (webkit_accessible_get_focused_element):
1165         (objectFocusedAndCaretOffsetUnignored):
1166         * accessibility/gtk/WebKitAccessibleWrapperAtk.h: Renamed from
1167         Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h.
1168
1169         Update the include for the AccessibilityObject wrapper header.
1170
1171         * accessibility/gtk/AXObjectCacheAtk.cpp: Update include.
1172         * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Ditto.
1173         * accessibility/gtk/WebKitAccessibleHyperlink.h: Ditto.
1174         * editing/gtk/FrameSelectionGtk.cpp:
1175
1176         Update filename for the ATK wrapper in build files.
1177
1178         * GNUmakefile.list.am: Updated.
1179         * WebCore.gypi: Updated.
1180
1181 2012-01-20  Pavel Feldman  <pfeldman@google.com>
1182
1183         Web Inspector: PageAgent.open() dosen't belong to the protocol.
1184         https://bugs.webkit.org/show_bug.cgi?id=74790
1185
1186         Reviewed by Yury Semikhatsky.
1187
1188         * inspector/Inspector.json:
1189         * inspector/InspectorFrontendClient.h:
1190         * inspector/InspectorFrontendClientLocal.cpp:
1191         (WebCore::InspectorFrontendClientLocal::openInNewTab):
1192         * inspector/InspectorFrontendClientLocal.h:
1193         * inspector/InspectorFrontendHost.cpp:
1194         (WebCore::InspectorFrontendHost::openInNewTab):
1195         * inspector/InspectorFrontendHost.h:
1196         * inspector/InspectorFrontendHost.idl:
1197         * inspector/InspectorPageAgent.cpp:
1198         (WebCore::InspectorPageAgent::navigate):
1199         * inspector/InspectorPageAgent.h:
1200         * inspector/front-end/ImageView.js:
1201         (WebInspector.ImageView.prototype._openInNewTab):
1202         * inspector/front-end/InspectorFrontendHostStub.js:
1203         (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
1204         * inspector/front-end/NetworkPanel.js:
1205         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
1206         * inspector/front-end/ResourcesPanel.js:
1207         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
1208         * inspector/front-end/inspector.js:
1209         (WebInspector.openResource):
1210
1211 2012-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
1212
1213         Web Inspector: DetailedHeapSnapshot: Replace the list of retainers with the expandable tree (to get rid of cycles)
1214         https://bugs.webkit.org/show_bug.cgi?id=76813
1215
1216         Reviewed by Pavel Feldman.
1217
1218         * English.lproj/localizedStrings.js:
1219         * inspector/front-end/DetailedHeapshotGridNodes.js:
1220         (WebInspector.HeapSnapshotObjectNode):
1221         * inspector/front-end/DetailedHeapshotView.js:
1222         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
1223         (WebInspector.HeapSnapshotRetainmentDataGrid):
1224         (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
1225         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
1226         * inspector/front-end/HeapSnapshot.js:
1227         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
1228         (WebInspector.HeapSnapshotEdgesProvider):
1229         * inspector/front-end/HeapSnapshotProxy.js:
1230         (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
1231         (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
1232
1233 2012-01-20  Andrey Kosyakov  <caseq@chromium.org>
1234
1235         Web Inspector: HAR pageref attributes are wrong and inconsistent with pages array
1236         https://bugs.webkit.org/show_bug.cgi?id=76398
1237
1238         Reviewed by Pavel Feldman.
1239
1240         - introduce a notion of LoadPage;
1241         - move page load times to LoadPage;
1242         - associate network resources with LoadPage;
1243         - export pages for all available resoruces to HAR, not just the last page;
1244         - use page ids, not document URLs in HAR entries to refer to pages;
1245         - use page URL as a title field of a HAR page;
1246
1247         * inspector/front-end/AuditsPanel.js:
1248         (WebInspector.AuditsPanel):
1249         * inspector/front-end/HAREntry.js:
1250         (WebInspector.HAREntry.prototype.build):
1251         (WebInspector.HAREntry.prototype.get responseCompression):
1252         (WebInspector.HARLog.prototype._buildPages):
1253         (WebInspector.HARLog.prototype._convertPage):
1254         (WebInspector.HARLog.prototype._pageEventTime):
1255         * inspector/front-end/NetworkLog.js:
1256         (WebInspector.NetworkLog):
1257         (WebInspector.NetworkLog.prototype._mainFrameNavigated):
1258         (WebInspector.NetworkLog.prototype._onResourceStarted):
1259         (WebInspector.Page):
1260         (WebInspector.Page.prototype.get id):
1261         (WebInspector.Page.prototype.get url):
1262         (WebInspector.Page.prototype.get contentLoadTime):
1263         (WebInspector.Page.prototype.set contentLoadTime):
1264         (WebInspector.Page.prototype.get loadTime):
1265         (WebInspector.Page.prototype.set loadTime):
1266         (WebInspector.Page.prototype.get startTime):
1267         (WebInspector.Page.prototype._bindResource):
1268         * inspector/front-end/NetworkManager.js:
1269         (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
1270         * inspector/front-end/Resource.js:
1271         (WebInspector.Resource.prototype.get page):
1272         (WebInspector.Resource.prototype.set page):
1273         * inspector/front-end/ResourceTreeModel.js:
1274         (WebInspector.ResourceTreeFrame):
1275         (WebInspector.ResourceTreeFrame.prototype.get page):
1276         (WebInspector.PageDispatcher.prototype.domContentEventFired):
1277         (WebInspector.PageDispatcher.prototype.loadEventFired):
1278
1279 2012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>
1280
1281         [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
1282         https://bugs.webkit.org/show_bug.cgi?id=76069
1283
1284         Reviewed by Martin Robinson.
1285
1286         Fix bug introduced with patch for Bug 72830.
1287
1288         * accessibility/AccessibilityObject.cpp:
1289         (WebCore::AccessibilityObject::isDescendantOfObject): New function,
1290         to check if an accessibility object is a descendant of other object.
1291         (WebCore::AccessibilityObject::isAncestorOfObject): New function,
1292         to check if an accessibility object is an ancestor of other object.
1293         * accessibility/AccessibilityObject.h:
1294
1295         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1296         (webkit_accessible_text_get_caret_offset): Make sure to pass the
1297         right reference object to objectFocusedAndCaretOffsetUnignored.
1298         (objectFocusedAndCaretOffsetUnignored): Use positionBeforeNode
1299         instead of firstPositionInNode for calculating the begining of the
1300         range used to calculate the offsets. Ensure that the reference
1301         object is never a descendant of the actual object being returned.
1302
1303         * editing/gtk/FrameSelectionGtk.cpp:
1304         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1305         Pass the right accessibility object associated with the current
1306         selection to objectFocusedAndCaretOffsetUnignored.
1307
1308 2012-01-21  David Reveman  <reveman@chromium.org>
1309
1310         [Chromium] Incremental texture updates are not atomic.
1311         https://bugs.webkit.org/show_bug.cgi?id=72672
1312
1313         Reviewed by Adam Barth.
1314
1315         Use a new set of textures for each commit when incremental
1316         texture updates are enabled.
1317
1318         This patch is tested by the following unit test:
1319         - CCLayerTreeHostTestAtomicCommit.runMultiThread
1320
1321         * platform/graphics/chromium/ManagedTexture.cpp:
1322         (WebCore::ManagedTexture::ManagedTexture):
1323         (WebCore::ManagedTexture::steal):
1324         * platform/graphics/chromium/ManagedTexture.h:
1325         * platform/graphics/chromium/TiledLayerChromium.cpp:
1326         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1327         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1328         (WebCore::CCLayerTreeHost::initialize):
1329         (WebCore::CCLayerTreeHost::commitComplete):
1330         (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
1331         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1332         (WebCore::CCSettings::CCSettings):
1333         * platform/graphics/chromium/cc/CCProxy.h:
1334         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1335         (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
1336         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1337         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
1338         (WebCore::CCThreadProxy::partialTextureUpdateCapability):
1339         * platform/graphics/chromium/cc/CCThreadProxy.h:
1340
1341 2012-01-21  Pablo Flouret  <pablof@motorola.com>
1342
1343         Add .url attribute alongside .URL in EventSource and WebSocket to comply with the specs but not break existing usage.
1344         https://bugs.webkit.org/show_bug.cgi?id=40899
1345
1346         Reviewed by Adam Barth.
1347
1348         Tests: fast/eventsource/eventsource-url-attribute.html
1349                http/tests/websocket/tests/hixie76/url-attribute.html
1350                http/tests/websocket/tests/hybi/url-attribute.html
1351
1352         * page/EventSource.idl:
1353         * websockets/WebSocket.idl:
1354
1355 2012-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1356
1357         Unreviewed, rolling out r105564.
1358         http://trac.webkit.org/changeset/105564
1359         https://bugs.webkit.org/show_bug.cgi?id=76792
1360
1361         Does not compile on Chromium Mac (Requested by abarth on
1362         #webkit).
1363
1364         * platform/graphics/chromium/ManagedTexture.cpp:
1365         * platform/graphics/chromium/ManagedTexture.h:
1366         * platform/graphics/chromium/TiledLayerChromium.cpp:
1367         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1368         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1369         (WebCore::CCLayerTreeHost::initialize):
1370         (WebCore::CCLayerTreeHost::commitComplete):
1371         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1372         (WebCore::CCSettings::CCSettings):
1373         * platform/graphics/chromium/cc/CCProxy.h:
1374         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1375         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1376         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
1377         * platform/graphics/chromium/cc/CCThreadProxy.h:
1378
1379 2012-01-20  Chris Marrin  <cmarrin@apple.com>
1380
1381         Implement hardware accelerated Brightness and contrast filters
1382         https://bugs.webkit.org/show_bug.cgi?id=75521
1383         https://bugs.webkit.org/show_bug.cgi?id=76719
1384
1385         Reviewed by Simon Fraser.
1386
1387         Implemented hardware accelerated brightness and contrast filters. This also fixes
1388         the bug where grayscale filter was accidentally never getting hardware accelerated.
1389         It also complies with proposed spec changes for the brightness filter to be additive 
1390         rather than multiplicative, according to https://bugs.webkit.org/show_bug.cgi?id=76719. 
1391         Had to make both fixes in the same patch because I had to change the allowed brightness
1392         values for the hardware version, so I had to change the software version as well.
1393
1394         Tests: css3/filters/effect-brightness-hw.html
1395                css3/filters/effect-contrast-hw.html
1396
1397         * css/CSSParser.cpp:
1398         (WebCore::CSSParser::parseBuiltinFilterArguments):
1399         * css/CSSStyleSelector.cpp:
1400         (WebCore::CSSStyleSelector::createFilterOperations):
1401         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1402         (PlatformCALayer::setFilters):
1403         (PlatformCALayer::filtersCanBeComposited):
1404         * rendering/FilterEffectRenderer.cpp:
1405         (WebCore::FilterEffectRenderer::build):
1406
1407 2012-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
1408
1409         <feImage> ignores preserveAspectRatio="none"
1410         https://bugs.webkit.org/show_bug.cgi?id=76780
1411
1412         Reviewed by Antti Koivisto.
1413
1414         preserveAspectRatio="none" was ignored in SVGFEImage. It always called transformRect() w/o checking
1415         whether it was supposed to transform the rect or not - move code from RenderSVGImage right into
1416         transformRect(), to do nothing if preserveAspectRatio="none" was given.
1417
1418         Test: svg/filters/feImage-preserveAspectratio.svg
1419
1420         * rendering/svg/RenderSVGImage.cpp:
1421         (WebCore::RenderSVGImage::paint):
1422         * svg/SVGPreserveAspectRatio.cpp:
1423         (WebCore::SVGPreserveAspectRatio::transformRect):
1424
1425 2012-01-21  Jochen Eisinger  <jochen@chromium.org>
1426
1427         history.replaceState should update the HistoryItem to use a GET method if previously non-GET (POST)
1428         https://bugs.webkit.org/show_bug.cgi?id=76721
1429
1430         Reviewed by Mihai Parparita.
1431
1432         Tests: http/tests/history/replacestate-post-to-get-2.html
1433                http/tests/history/replacestate-post-to-get.html
1434
1435         * loader/HistoryController.cpp:
1436         (WebCore::HistoryController::replaceState):
1437
1438 2012-01-21  Florin Malita  <fmalita@google.com>
1439
1440         Null dereference in SVGDocumentExtensions::removePendingResource when updating <use>'s href
1441         https://bugs.webkit.org/show_bug.cgi?id=69284
1442
1443         Reviewed by Nikolas Zimmermann.
1444
1445         Test: svg/custom/use-crash-pending-resource.svg
1446
1447         The crash is caused by assumptions in SVGUseElement that xlink:href is the only
1448         pending resource. This patch adds support for dealing with multiple pending resources.
1449
1450         * rendering/svg/RenderSVGResourceContainer.cpp:
1451         (WebCore::RenderSVGResourceContainer::registerResource):
1452         * svg/SVGDocumentExtensions.cpp:
1453         (WebCore::SVGDocumentExtensions::hasPendingResource):
1454         (WebCore::SVGDocumentExtensions::isElementPendingResources):
1455         (WebCore::SVGDocumentExtensions::isElementPendingResource):
1456         (WebCore::SVGDocumentExtensions::removePendingResourceForElement):
1457         * svg/SVGDocumentExtensions.h:
1458         * svg/SVGStyledElement.cpp:
1459         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
1460         (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible):
1461         Renamed SVGDocumentExtensions::hasPendingResources -> Renamed SVGDocumentExtensions::hasPendingResource.
1462         Renamed SVGDocumentExtensions::isElementInPendingResources -> SVGDocumentExtensions::isElementPendingResources.
1463         Added support for querying and removing pending resources for a specific element.
1464
1465         * svg/SVGUseElement.cpp:
1466         (WebCore::SVGUseElement::svgAttributeChanged):
1467         (WebCore::SVGUseElement::buildPendingResource):
1468         Refactored to support multiple pending resources.
1469
1470 2012-01-21  Stephen Chenney  <schenney@chromium.org>
1471
1472         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
1473         https://bugs.webkit.org/show_bug.cgi?id=64671
1474
1475         Reviewed by Nikolas Zimmermann.
1476
1477         No new tests. This change is to fix crashes in existing tests.
1478
1479         * svg/animation/SVGSMILElement.cpp:
1480         (WebCore::SVGSMILElement::beginListChanged): If the new begin time is
1481         later than the current end time, and the event time is also after then
1482         end time (but we have not yet updated to that time) and the animation
1483         is active, we need to make the animation inactive explicitly.
1484
1485 2012-01-21  Benjamin Poulain  <bpoulain@apple.com>
1486
1487         PopupMenuClient::multiple() should be const
1488         https://bugs.webkit.org/show_bug.cgi?id=76771
1489
1490         Reviewed by Kent Tamura.
1491
1492         * platform/PopupMenuClient.h:
1493         (WebCore::PopupMenuClient::multiple):
1494         * rendering/RenderMenuList.cpp:
1495         (WebCore::RenderMenuList::multiple):
1496         * rendering/RenderMenuList.h:
1497
1498 2012-01-20  Mark Pilgrim  <pilgrim@chromium.org>
1499
1500         Switch indexeddb to use supplemental IDL for DOMWindow
1501         https://bugs.webkit.org/show_bug.cgi?id=76723
1502
1503         Reviewed by Adam Barth.
1504
1505         No new tests required, all existing tests pass.
1506
1507         * Modules/indexeddb: Added.
1508         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: Added. webkitIndexedDB() method previously in DOMWindow.cpp
1509         (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
1510         (WebCore::DOMWindowIndexedDatabase::~DOMWindowIndexedDatabase):
1511         (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
1512         * Modules/indexeddb/DOMWindowIndexedDatabase.h: Added.
1513         * Modules/indexeddb/DOMWindowIndexedDatabase.idl: Added. attributes previously in DOMWindow.idl
1514         * WebCore.gyp/WebCore.gyp: add Modules/indexeddb/ directory
1515         * WebCore.gypi: add Modules/indexeddb/*
1516         * page/DOMWindow.cpp: remove webkitIndexedDB() method, add accessor methods for m_idbFactory
1517         (WebCore::DOMWindow::getIDBFactory):
1518         (WebCore::DOMWindow::setIDBFactory):
1519         * page/DOMWindow.h:
1520         * page/DOMWindow.idl:
1521
1522 2012-01-20  David Levin  <levin@chromium.org>
1523
1524         Allow isContextThread to be called while in ~ScriptExecutionContext.
1525         https://bugs.webkit.org/show_bug.cgi?id=76756
1526
1527         Reviewed by Adam Barth.
1528
1529         It is possible for objects to get torn down or get called from ~ScriptExecutionContext
1530         and in turn call isContextThread. The resulting behavior is undefined. This change defines
1531         the behavior. I don't know of any places that do this but I have a test that is rarely
1532         failing due to isContextThread being false. This is my best guess as to why, and I
1533         don't see a reason to try to avoid calling isContextThread at this point.
1534
1535         No new functionality exposed so no new tests.
1536
1537         * dom/ScriptExecutionContext.h:
1538         (WebCore::ScriptExecutionContext::isContextThread):
1539
1540 2012-01-20  Alexandre Elias  <aelias@google.com>
1541
1542         [chromium] Write unit tests for compositor-thread zooming
1543         https://bugs.webkit.org/show_bug.cgi?id=71529
1544
1545         Reviewed by James Robinson.
1546
1547         Add unit tests for pinch zoom and page scale animation.  Includes
1548         small cleanups in CCLayerTreeHostImpl for testability.
1549
1550         * platform/graphics/chromium/cc/CCInputHandler.h:
1551         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1552         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
1553         (WebCore::CCLayerTreeHostImpl::setViewportSize):
1554         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1555
1556 2012-01-20  David Reveman  <reveman@chromium.org>
1557
1558         [Chromium] Incremental texture updates are not atomic.
1559         https://bugs.webkit.org/show_bug.cgi?id=72672
1560
1561         Reviewed by James Robinson.
1562
1563         Use a new set of textures for each commit when incremental
1564         texture updates are enabled.
1565
1566         This patch is tested by the following unit test:
1567         - CCLayerTreeHostTestAtomicCommit.runMultiThread
1568
1569         * platform/graphics/chromium/ManagedTexture.cpp:
1570         (WebCore::ManagedTexture::ManagedTexture):
1571         (WebCore::ManagedTexture::steal):
1572         * platform/graphics/chromium/ManagedTexture.h:
1573         * platform/graphics/chromium/TiledLayerChromium.cpp:
1574         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1575         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1576         (WebCore::CCLayerTreeHost::initialize):
1577         (WebCore::CCLayerTreeHost::commitComplete):
1578         (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
1579         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1580         (WebCore::CCSettings::CCSettings):
1581         * platform/graphics/chromium/cc/CCProxy.h:
1582         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1583         (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
1584         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1585         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
1586         (WebCore::CCThreadProxy::partialTextureUpdateCapability):
1587         * platform/graphics/chromium/cc/CCThreadProxy.h:
1588
1589 2012-01-20  Chris Rogers  <crogers@google.com>
1590
1591         De-zippering incorrectly snaps to target gain
1592         https://bugs.webkit.org/show_bug.cgi?id=76741
1593
1594         Reviewed by Kenneth Russell.
1595
1596         * platform/audio/AudioBus.cpp:
1597
1598 2012-01-20  Dana Jansens  <danakj@chromium.org>
1599
1600         [chromium] Partially filled pixels do not occlude pixels below them.
1601         https://bugs.webkit.org/show_bug.cgi?id=76658
1602
1603         Reviewed by James Robinson.
1604
1605         Test: compositing/culling/tile-occlusion-boundaries.html
1606
1607         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1608         (WebCore::enclosedIntRect):
1609         (WebCore::CCQuadCuller::cullOccludedQuads):
1610
1611 2012-01-20  Ami Fischman  <fischman@chromium.org>
1612
1613         Small cleanup of {get,put}CurrentFrame for  WebMediaPlayerClientImpl/CCVideoLayerImpl.
1614         https://bugs.webkit.org/show_bug.cgi?id=76332
1615
1616         Reviewed by James Robinson.
1617
1618         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1619         (WebCore::CCVideoLayerImpl::draw):
1620
1621 2012-01-20  Brady Eidson  <beidson@apple.com>
1622
1623         <rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764
1624         Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
1625
1626         Reviewed by Sam Weinig.
1627
1628         No way to reproduce without special malloc debugging and that doesn't even reproduce on all platforms.  So still no test.
1629
1630         * loader/DocumentLoader.cpp:
1631         (WebCore::DocumentLoader::detachFromFrame): Protect m_frame for the duration of this method.
1632
1633 2012-01-20  Alexey Proskuryakov  <ap@apple.com>
1634
1635         WebCore should not send invalid URLs to client createWindow methods.
1636         https://bugs.webkit.org/show_bug.cgi?id=39017
1637
1638         Unreviewed test fix.
1639
1640         * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Let empty URLs through.
1641
1642 2012-01-20  Sam Weinig  <sam@webkit.org>
1643
1644         Make WebCore RunLoop work for WebKit1
1645         https://bugs.webkit.org/show_bug.cgi?id=76739
1646
1647         Reviewed by Anders Carlsson.
1648
1649         * platform/RunLoop.cpp:
1650         Specialize RunLoop initialization for Mac, where it can happen on any thread.
1651         
1652         * platform/RunLoop.h:
1653         Add RunLoop constructor that takes a CFRunLoopRef on the mac for initializing
1654         the main thread.
1655
1656         * platform/mac/RunLoopMac.mm:
1657         (WebCore::RunLoop::initializeMainRunLoop):
1658         Add new implementation that can work from any thread (and multiple threads at the
1659         same time if necessary).
1660
1661         (WebCore::RunLoop::current):
1662         Treat the main thread specially, not storing it in thread specific data.
1663
1664         (WebCore::RunLoop::main):
1665         Copy main accessor since it needs access to the file static.
1666
1667         (WebCore::RunLoop::RunLoop):
1668         Add constructor which takes a CFRunLoopRef.
1669
1670 2012-01-20  Tim Horton  <timothy_horton@apple.com>
1671
1672         Crash in RenderSVGResourceContainer::markAllClientsForInvalidation
1673         https://bugs.webkit.org/show_bug.cgi?id=76606
1674         <rdar://problem/10720970>
1675
1676         Reviewed by Dirk Schulze.
1677
1678         Notify SVGResourcesCache and superclass when RenderSVGInline is about
1679         to be destroyed, preventing a crash.
1680
1681         Test: svg/custom/crash-inline-container-client.html
1682
1683         * rendering/svg/RenderSVGInline.cpp:
1684         (WebCore::RenderSVGInline::willBeDestroyed):
1685         * rendering/svg/RenderSVGInline.h:
1686
1687 2012-01-20  Alexey Proskuryakov  <ap@apple.com>
1688
1689         WebCore should not send invalid URLs to client createWindow methods.
1690         https://bugs.webkit.org/show_bug.cgi?id=39017
1691
1692         Reviewed by Sam Weinig.
1693
1694         Test: fast/dom/window/open-invalid-url.html
1695
1696         * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Bail out early for invalid URLs.
1697
1698 2012-01-20  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1699
1700         Remove unused variable in RenderReplaced after r105513
1701         https://bugs.webkit.org/show_bug.cgi?id=76742
1702
1703         Reviewed by Daniel Bates.
1704
1705         * rendering/RenderReplaced.cpp:
1706         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1707         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
1708
1709 2012-01-20  Jonathan Backer  <backer@chromium.org>
1710
1711         [chromium] Plumb damage from accelerated canvas 2D.
1712         https://bugs.webkit.org/show_bug.cgi?id=76728
1713
1714         Reviewed by Kenneth Russell.
1715
1716         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1717         (WebCore::Canvas2DLayerChromium::contentChanged):
1718
1719 2012-01-20  Julien Chaffraix  <jchaffraix@webkit.org>
1720
1721         Crash in RenderTable::borderBefore
1722         https://bugs.webkit.org/show_bug.cgi?id=75215
1723
1724         Reviewed by David Hyatt.
1725
1726         Test: fast/table/crash-beforeBorder-dirty-section.html
1727
1728         This is a regression from r97661 that added some calls to get the object's borders but tables are a
1729         special case and they may need to recompute some sections' pointers.
1730
1731         The whole sections' pointers lazy recomputation logic is unfortunately far from being bullet proof and
1732         this change is only a mitigation for the current crash.
1733
1734         * rendering/RenderTable.cpp:
1735         (WebCore::RenderTable::borderBefore):
1736         (WebCore::RenderTable::borderAfter):
1737         Make sure we recompute our sections. The change was made here to avoid hitting the
1738         path used inside the table code (ie outerBorder{Before|After}) that shouldn't be
1739         affected.
1740
1741         * rendering/RenderTable.h:
1742         (WebCore::RenderTable::topSection):
1743         Added an ASSERT to catch more bad use in the future.
1744
1745 2012-01-20  Marc-Andre Decoste  <mad@chromium.org>
1746
1747         Add proper offset to position right click to simulate a context menu invocation.
1748         https://bugs.webkit.org/show_bug.cgi?id=76421
1749
1750         Reviewed by Ojan Vafai.
1751
1752         Manual tests only because DRT doesn't support context menu key.
1753
1754         * page/EventHandler.cpp:
1755         (WebCore::EventHandler::sendContextMenuEventForKey):
1756
1757 2012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1758
1759         Unreviewed, rolling out r105426.
1760         http://trac.webkit.org/changeset/105426
1761         https://bugs.webkit.org/show_bug.cgi?id=76726
1762
1763         Might have caused a 20% regression in the PLT (Requested by
1764         abarth|gardener on #webkit).
1765
1766         * rendering/RenderObject.h:
1767         (WebCore::RenderObject::style):
1768
1769 2012-01-20  Sadrul Habib Chowdhury  <sadrul@chromium.org>
1770
1771         [chromium] Revert a couple of changes in fileapi/ that break tests in chromeos.
1772         https://bugs.webkit.org/show_bug.cgi?id=76718
1773
1774         Reviewed by Darin Fisher.
1775
1776         * fileapi/BlobURL.cpp:
1777         (WebCore::BlobURL::getIdentifier):
1778         (WebCore::BlobURL::createBlobURL):
1779         * fileapi/BlobURL.h:
1780         (WebCore::BlobURL::blobProtocol):
1781         * fileapi/DOMFileSystemBase.cpp:
1782         (WebCore::DOMFileSystemBase::crackFileSystemURL):
1783         * fileapi/DOMFileSystemBase.h:
1784         * fileapi/EntryBase.cpp:
1785         (WebCore::EntryBase::toURL):
1786         * fileapi/FileWriter.cpp:
1787         (WebCore::FileWriter::write):
1788         (WebCore::FileWriter::truncate):
1789         * page/DOMWindow.cpp:
1790         (WebCore::DOMWindow::webkitRequestFileSystem):
1791         * page/DOMWindow.h:
1792         * platform/AsyncFileSystem.cpp:
1793         * platform/AsyncFileSystem.h:
1794         * workers/WorkerContext.cpp:
1795         (WebCore::WorkerContext::webkitRequestFileSystem):
1796         (WebCore::WorkerContext::webkitRequestFileSystemSync):
1797
1798 2012-01-20  Tim Dresser  <tdresser@chromium.org>
1799
1800         Refactor canvas drawing to be more data driven
1801         https://bugs.webkit.org/show_bug.cgi?id=76635
1802
1803         CCCanvasLayerImpl no longer handles drawing itself, but produces a list of CCCanvasDrawQuads.
1804         These quads are then drawn by LayerRendererChromium.
1805
1806         This is a refactor, so no new tests were added.
1807
1808         Reviewed by James Robinson.
1809
1810         * platform/graphics/chromium/LayerRendererChromium.cpp:
1811         (WebCore::LayerRendererChromium::drawCanvasQuad):
1812         * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp:
1813         (WebCore::CCCanvasDrawQuad::create):
1814         (WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):
1815         * platform/graphics/chromium/cc/CCCanvasDrawQuad.h:
1816         (WebCore::CCCanvasDrawQuad::textureId):
1817         (WebCore::CCCanvasDrawQuad::hasAlpha):
1818         (WebCore::CCCanvasDrawQuad::premultipliedAlpha):
1819         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1820         (WebCore::CCCanvasLayerImpl::appendQuads):
1821         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
1822
1823 2012-01-19  Abhishek Arya  <inferno@chromium.org>
1824
1825         Crash in xsltParseGlobalVariable.
1826         https://bugs.webkit.org/show_bug.cgi?id=75978
1827
1828         Reviewed by Andreas Kling.
1829
1830         The code missed to reset the stylesheet pointer after we fail
1831         to compile the XSLT stylesheet. As a result, the stylesheet gets
1832         reused with a removed document in the next transformToFragment call.
1833
1834         Test: fast/xsl/xslt-transform-to-fragment-crash.html
1835
1836         * xml/XSLTProcessorLibxslt.cpp:
1837         (WebCore::XSLTProcessor::transformToString):
1838
1839 2012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1840
1841         REGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
1842         https://bugs.webkit.org/show_bug.cgi?id=76249
1843
1844         Reviewed by Andreas Kling.
1845
1846         Fix regression with full-page zoom & border-image. paintNinePieceImage() expects local, unzoomed coordinates.
1847         Restore the behaviour as it was before r98852, fixing the regression.
1848
1849         Test: fast/borders/scaled-border-image.html
1850
1851         * rendering/RenderBoxModelObject.cpp:
1852         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1853
1854 2012-01-20  Mihnea Ovidenie  <mihnea@adobe.com>
1855
1856         [CSSRegion]Expose DOM interface for WebKitCSSRegionRule
1857         https://bugs.webkit.org/show_bug.cgi?id=73985
1858
1859         Reviewed by Antti Koivisto.
1860
1861         Start by exposing the interface and the cssRules attribute of type CSSRuleList.
1862         Test: fast/regions/webkit-region-rule.html
1863
1864         * CMakeLists.txt:
1865         * DerivedSources.cpp:
1866         * DerivedSources.make:
1867         * DerivedSources.pri:
1868         * GNUmakefile.list.am:
1869         * WebCore.gypi:
1870         * WebCore.vcproj/WebCore.vcproj:
1871         * WebCore.xcodeproj/project.pbxproj:
1872         * bindings/js/JSCSSRuleCustom.cpp:
1873         (WebCore::toJS):
1874         * bindings/objc/DOMCSS.mm:
1875         (kitClass):
1876         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1877         (WebCore::toV8):
1878         * css/WebKitCSSRegionRule.cpp:
1879         * css/WebKitCSSRegionRule.h:
1880         * css/WebKitCSSRegionRule.idl:
1881         * page/DOMWindow.idl:
1882
1883 2012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1884
1885         Differentiate between SVG/CSS width/height attributes/properties
1886         https://bugs.webkit.org/show_bug.cgi?id=76447
1887
1888         Reviewed by Antti Koivisto.
1889
1890         Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
1891         SVG width/height attributes and the CSS width/height properties. They need to be treated independently
1892         when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.
1893
1894         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.
1895
1896         * css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
1897         * rendering/RenderBox.h:
1898         (WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
1899         * rendering/RenderBoxModelObject.cpp:
1900         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
1901         * rendering/RenderImage.cpp:
1902         (WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
1903         (WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
1904         * rendering/RenderImage.h: Ditto.
1905         * rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
1906         (WebCore::firstContainingBlockWithLogicalWidth): Refactored.
1907         (WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
1908         (WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
1909         (WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
1910         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
1911         (WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
1912         * rendering/RenderReplaced.h:
1913         * rendering/svg/RenderSVGRoot.cpp:
1914         (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.
1915         (WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
1916         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
1917         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
1918         * rendering/svg/RenderSVGRoot.h:
1919         * rendering/svg/RenderSVGViewportContainer.h:
1920         (WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
1921         * svg/SVGLengthContext.cpp:
1922         (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.
1923         * svg/SVGSVGElement.cpp: 
1924         (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.
1925         (WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
1926         (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
1927         (WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
1928         (WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
1929         (WebCore::SVGSVGElement::currentViewportSize): Ditto.
1930         (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
1931         (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
1932         (WebCore::SVGSVGElement::intrinsicWidth): Helper.
1933         (WebCore::SVGSVGElement::intrinsicHeight): Ditto.
1934         * svg/SVGSVGElement.h:
1935         * svg/graphics/SVGImage.cpp:
1936         (WebCore::SVGImage::size): Cleanup code.
1937         (WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
1938         (WebCore::SVGImage::hasRelativeHeight): Ditto.
1939         (WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
1940         * svg/graphics/SVGImage.h:
1941
1942 2012-01-20  Sami Kyostila  <skyostil@chromium.org>
1943
1944         window.innerWidth/Height should not include page scale
1945         https://bugs.webkit.org/show_bug.cgi?id=76555
1946
1947         The DOM attributes window.innerWidth and window.innerHeight should be in
1948         CSS pixels instead of device pixels. Currently the text zoom factor is
1949         cancelled out when calculating these values, but the same also needs to
1950         be done for the page scale.
1951
1952         There is an additional subtlety concerning frames/iframes since their
1953         visible content rectangle is already in (unscaled) CSS pixels. By using
1954         Frame::frameScaleFactor() we avoid unnecessarily cancelling out the page
1955         scale factor in this case.
1956
1957         Reviewed by Kenneth Rohde Christiansen.
1958
1959         Tests: fast/dom/iframe-inner-size-scaling.html
1960                fast/dom/window-inner-size-scaling.html
1961
1962         * page/DOMWindow.cpp:
1963         (WebCore::DOMWindow::innerHeight):
1964         (WebCore::DOMWindow::innerWidth):
1965
1966 2012-01-20  Kinuko Yasuda  <kinuko@chromium.org>
1967
1968         Add DataTransferItems support for drag-and-drop'ed files and texts
1969         https://bugs.webkit.org/show_bug.cgi?id=76367
1970
1971         Reviewed by Tony Chang.
1972
1973         Per http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransfer-interface
1974         the new interface should also support drag-and-dropped files and texts in
1975         addition to pasted texts/images.  The user apps should also be able to add
1976         texts/files to the drag store by calling event.dataTransfer.items.add().
1977
1978         This patch adds drag-and-drop'ed items support in DataTransferItem and
1979         DataTransferItemList so that they work for dropped files and texts (as well as
1980         the copy-pasted texts/images).
1981
1982         This patch also adds customized toJS()/toV8() code to Blob/File javascript
1983         binding so that the JS code can get either Blob or File underlying object
1984         where the API returns Blob. This change is necessary since we return Blob
1985         from DataTransferItem.getAsFile() for pasted images but want to return File
1986         for dropped files.
1987
1988         Tests: editing/pasteboard/data-transfer-items-drag-drop-file.html
1989                editing/pasteboard/data-transfer-items-drag-drop-string.html
1990
1991         * GNUmakefile.list.am: Added entries for the new {JS,V8}BlobCustom.
1992         * Target.pri: Ditto.
1993         * UseJSC.cmake: Ditto.
1994         * WebCore.gypi: Ditto.
1995         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1996         * bindings/js/JSBlobCustom.cpp: Added toJS custom code that returns File or
1997         Blob depending on the return value of isFile().
1998         (WebCore::toJS):
1999         * bindings/v8/custom/V8BlobCustom.cpp: Added toV8 custom code.
2000         (WebCore::toV8):
2001         * dom/DataTransferItem.h: Added a new create() method which takes File.
2002         * dom/DataTransferItemList.cpp: Added add(File) method.
2003         (WebCore::DataTransferItemList::add):
2004         * dom/DataTransferItemList.h: Ditto.
2005         * dom/DataTransferItemList.idl: Ditto.
2006         * fileapi/Blob.idl: Added CustomToJS for toJS/toV8.
2007         * platform/chromium/ClipboardChromium.cpp: Added code for drag-and-drop'ed items.
2008         (WebCore::ClipboardChromium::items): Revised.
2009         (WebCore::ClipboardChromium::mayUpdateItems): Added.
2010         (WebCore::ClipboardChromium::isStorageUpdated): Added.
2011         * platform/chromium/ClipboardChromium.h:
2012         * platform/chromium/DataTransferItemChromium.cpp: Added a new constructor that
2013         takes File and updated getAsFile() to make it support dropped files.
2014         (WebCore::DataTransferItem::create):
2015         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
2016         (WebCore::DataTransferItemChromium::getAsFile):
2017         * platform/chromium/DataTransferItemChromium.h:
2018         * platform/chromium/DataTransferItemListChromium.cpp:
2019         (WebCore::DataTransferItemListChromium::addInternalItem):
2020         * platform/chromium/DataTransferItemListChromium.cpp: Added overrides implementation for m_item accessors to make them reflect the changes in the owner clipboard.
2021         (WebCore::DataTransferItemListChromium::length):
2022         (WebCore::DataTransferItemListChromium::item):
2023         (WebCore::DataTransferItemListChromium::deleteItem):
2024         (WebCore::DataTransferItemListChromium::clear):
2025         (WebCore::DataTransferItemListChromium::add):
2026         (WebCore::DataTransferItemListChromium::mayUpdateItems): Added.
2027         * platform/qt/DataTransferItemQt.cpp: Added a new constructor that takes File and updated
2028         getAsFile() to make it support dropped files.
2029         (WebCore::DataTransferItem::create):
2030         (WebCore::DataTransferItemQt::DataTransferItemQt):
2031         (WebCore::DataTransferItemQt::getAsFile):
2032         * platform/qt/DataTransferItemQt.h:
2033
2034 2012-01-20  Alexis Menard  <alexis.menard@openbossa.org>
2035
2036         remove CSSBorderImageValue
2037         https://bugs.webkit.org/show_bug.cgi?id=75563
2038
2039         Reviewed by Tony Chang.
2040
2041         Remove CSSBorderImageValue as border-image is a shorthand therefore we don't
2042         need a dedicated CSS class type for it. CSSBorderImageValue was here for
2043         -webkit-border-image which is not a shorthand. This is the first step to move border-image
2044         close to a correct shorthand implementation while keeping -webkit-border-image being a regular
2045         CSS property.
2046
2047         No new tests : It's a refactor, existing tests should cover it.
2048
2049         * CMakeLists.txt:
2050         * GNUmakefile.list.am:
2051         * Target.pri:
2052         * WebCore.gypi:
2053         * WebCore.order:
2054         * WebCore.vcproj/WebCore.vcproj:
2055         * WebCore.xcodeproj/project.pbxproj:
2056         * css/CSSAllInOne.cpp:
2057         * css/CSSBorderImage.cpp: Added.
2058         (WebCore::createBorderImageValue):
2059         * css/CSSBorderImage.h: Added.
2060         * css/CSSBorderImageValue.cpp: Removed.
2061         * css/CSSBorderImageValue.h: Removed.
2062         * css/CSSComputedStyleDeclaration.cpp:
2063         (WebCore::valueForNinePieceImage):
2064         * css/CSSParser.cpp:
2065         (WebCore::BorderImageParseContext::commitBorderImage):
2066         * css/CSSStyleSelector.cpp:
2067         (WebCore::CSSStyleSelector::mapNinePieceImage):
2068         * css/CSSValue.cpp:
2069         (WebCore::CSSValue::addSubresourceStyleURLs):
2070         (WebCore::CSSValue::cssText):
2071         (WebCore::CSSValue::destroy):
2072         * css/CSSValue.h:
2073
2074 2012-01-20  Hayato Ito  <hayato@chromium.org>
2075
2076         Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
2077         https://bugs.webkit.org/show_bug.cgi?id=76353
2078
2079         Reviewed by Hajime Morita.
2080
2081         Add ShadowRoot.idl, which is enabled only on chromium port since this is
2082         under development feature.
2083         ShadowRoot.idl contains minimum API so that we can test it.
2084         Other APIs should be added on other changes so that we can isolate issues.
2085
2086         Test: fast/dom/shadow/shadow-root-js-api.html
2087
2088         * WebCore.gypi:
2089         * bindings/generic/RuntimeEnabledFeatures.cpp:
2090         * bindings/generic/RuntimeEnabledFeatures.h:
2091         (WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
2092         (WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
2093         * dom/ShadowRoot.h:
2094         (WebCore::ShadowRoot::host):
2095         * dom/ShadowRoot.idl: Added.
2096         * testing/Internals.cpp:
2097         (WebCore::Internals::ensureShadowRoot):
2098         (WebCore::Internals::shadowRoot):
2099         * testing/Internals.h:
2100         * testing/Internals.idl:
2101
2102 2012-01-19  Kent Tamura  <tkent@chromium.org>
2103
2104         Change LocalizedNumber interface
2105         https://bugs.webkit.org/show_bug.cgi?id=76613
2106
2107         Reviewed by Hajime Morita.
2108
2109         Change the functions of LocalizedNumber from:
2110           double parseLocalizedNumber(const String&);
2111           String formatLocalizedNumber(double, unsigned fractionDigits);
2112         To:
2113           String convertToLocalizedNumber(const String&, usnigned fractionDigits);
2114           String convertFromLocalizedNumber(const String&);
2115         in order that we can avoid conversion from/to a double value.
2116
2117         The fractionDigits argumetn of convertToLocalizedNumber() will be
2118         removed in the future.  We need it because we'd like to recycle the old
2119         functions to implement new functions for now and functions in
2120         LocalizedNumber can't call functions in HTMLParserIdioms.cpp.
2121
2122         No new tests because the change doesn't make any behavior change.
2123
2124         * html/NumberInputType.cpp:
2125         (WebCore::NumberInputType::visibleValue):
2126         Use convertToLocalizedNumber.
2127         (WebCore::NumberInputType::convertFromVisibleValue):
2128         Use convertFromLocalizedNumber.
2129         (WebCore::NumberInputType::isAcceptableValue): ditto.
2130         * platform/text/LocalizedNumber.h:
2131         Remove parseLocalizedNumber and formatLocalizedNumber, and
2132         introduce convertToLocalizedNumber and convertFromLocalizedNumber.
2133         * platform/text/LocalizedNumberICU.cpp:
2134         (WebCore::parseLocalizedNumber): Make this static.
2135         (WebCore::formatLocalizedNumber): Make this static.
2136         (WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
2137         (WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
2138         * platform/text/LocalizedNumberNone.cpp:
2139         (WebCore::convertToLocalizedNumber):
2140         Implement this as a function returning the input string.
2141         (WebCore::convertFromLocalizedNumber): ditto.
2142         * platform/text/mac/LocalizedNumberMac.mm:
2143         (WebCore::parseLocalizedNumber): Make this static.
2144         (WebCore::formatLocalizedNumber): Make this static.
2145         (WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
2146         (WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
2147
2148 2012-01-19  Pavel Feldman  <pfeldman@google.com>
2149
2150         Web Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
2151         https://bugs.webkit.org/show_bug.cgi?id=76622
2152
2153         Reviewed by Yury Semikhatsky.
2154
2155         * inspector/front-end/InspectorView.js:
2156         (WebInspector.InspectorView.prototype._keyDown):
2157         * inspector/front-end/TextViewer.js:
2158         (WebInspector.TextViewer.prototype.set readOnly):
2159         (WebInspector.TextViewer.prototype._cancelEditing):
2160         (WebInspector.TextViewer.prototype.wasShown):
2161         (WebInspector.TextViewer.prototype.willHide):
2162         * inspector/front-end/UIUtils.js:
2163         (WebInspector.isInEditMode):
2164         * inspector/front-end/inspector.js:
2165         (WebInspector.documentKeyDown):
2166
2167 2012-01-19  Kaustubh Atrawalkar  <kaustubh@motorola.com> & Erik Arvidsson  <arv@chromium.org>
2168
2169         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
2170         https://bugs.webkit.org/show_bug.cgi?id=74386
2171
2172         Reviewed by Adam Barth.
2173
2174         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
2175         Already Existing -
2176             fast/files/revoke-blob-url.html
2177             fast/dom/window-domurl-crash.html
2178             fast/files/apply-blob-url-to-img.html
2179             fast/files/create-blob-url-crash.html
2180             fast/files/workers/inline-worker-via-blob-url.html
2181
2182         * html/DOMURL.cpp: Added HashMap for local static objects.
2183         (WebCore::PublicURLManager::PublicURLManager):
2184         (WebCore::PublicURLManager::contextDestroyed):
2185         (WebCore::PublicURLManager::blobURLs):
2186         (WebCore::PublicURLManager::streamURLs):
2187         (WebCore::publicURLManagerMap):
2188         (WebCore::publicURLManager):
2189         (WebCore::publicBlobURLs):
2190         (WebCore::publicStreamURLs):
2191         (WebCore::DOMURL::createObjectURL): Changed to static.
2192         (WebCore::DOMURL::revokeObjectURL): ditto.
2193         * html/DOMURL.h:
2194         (WebCore::DOMURL::create):
2195         (WebCore::DOMURL::~DOMURL):
2196         (WebCore::DOMURL::DOMURL):
2197         * html/DOMURL.idl:
2198         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
2199         * page/DOMWindow.h: ditto.
2200         * page/DOMWindow.idl: ditto.
2201         * workers/WorkerContext.cpp: ditto.
2202         * workers/WorkerContext.h: ditto.
2203         * workers/WorkerContext.idl: ditto.
2204
2205 2012-01-20  Alexandru Chiculita  <achicu@adobe.com>
2206
2207         CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
2208         https://bugs.webkit.org/show_bug.cgi?id=76444
2209         
2210         Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
2211         I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
2212         WebGL enabled, so it ends up being disabled by default.
2213
2214         Reviewed by Nikolas Zimmermann.
2215
2216         Test: css3/filters/effect-custom-disabled.html
2217
2218         * css/CSSParser.cpp:
2219         (WebCore::CSSParser::parseFilter):
2220             Do not parse the custom() function when shaders are disabled.
2221             
2222         * css/CSSStyleSelector.cpp:
2223         (WebCore::CSSStyleSelector::applyProperty):
2224             Do not overwrite the old style->filter() if parsing fails.
2225             
2226         (WebCore::CSSStyleSelector::createFilterOperations):
2227             Do not continue if one custom() filter fails to parse.
2228             
2229         * page/Settings.cpp:
2230         (WebCore::Settings::Settings):
2231         * page/Settings.h:
2232         (WebCore::Settings::setCSSCustomFilterEnabled):
2233         (WebCore::Settings::isCSSCustomFilterEnabled):
2234         * rendering/FilterEffectRenderer.cpp:
2235         (WebCore::isCSSCustomFilterEnabled):
2236         (WebCore::FilterEffectRenderer::build):
2237             Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.
2238         
2239 2012-01-19  Shinya Kawanaka  <shinyak@google.com>
2240
2241         Node::canHaveLightChildRendererWithShadow is not used anywhere.
2242         https://bugs.webkit.org/show_bug.cgi?id=76627
2243
2244         Reviewed by Darin Adler.
2245
2246         Since Node::canHaveLightChildRendererWithShadow is not overriden anywhere, and it returns always false.
2247         We can remove it.
2248
2249         No new tests, because no change in behavior.
2250
2251         * dom/Node.h:
2252         * dom/NodeRenderingContext.cpp:
2253         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2254
2255 2012-01-19  Kinuko Yasuda  <kinuko@chromium.org>
2256
2257         Cleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
2258         https://bugs.webkit.org/show_bug.cgi?id=76625
2259
2260         Reviewed by David Levin.
2261
2262         No new tests as this patch has no functional changes.
2263
2264         * fileapi/BlobURL.cpp:
2265         (WebCore::BlobURL::getIdentifier):
2266         (WebCore::BlobURL::createBlobURL):
2267         * fileapi/BlobURL.h:
2268         * fileapi/FileWriter.cpp:
2269         (WebCore::FileWriter::write):
2270         (WebCore::FileWriter::truncate):
2271         * platform/AsyncFileSystem.cpp:
2272         (WebCore::AsyncFileSystem::crackFileSystemURL):
2273         (WebCore::AsyncFileSystem::toURL):
2274         (WebCore::AsyncFileSystem::isAvailable):
2275         * platform/AsyncFileSystem.h:
2276
2277 2012-01-18  Sam Weinig  <sam@webkit.org>
2278
2279         Move RunLoop to WebCore/platform
2280         https://bugs.webkit.org/show_bug.cgi?id=76471
2281
2282         Reviewed by Anders Carlsson.
2283
2284         * GNUmakefile.list.am:
2285         * Target.pri:
2286         * WebCore.exp.in:
2287         * WebCore.vcproj/WebCore.vcproj:
2288         * WebCore.xcodeproj/project.pbxproj:
2289         Add newly moved files.
2290
2291         * platform/RunLoop.cpp: Moved from Source/WebKit2/Platform/RunLoop.cpp.
2292         * platform/RunLoop.h: Moved from Source/WebKit2/Platform/RunLoop.h.
2293         * platform/gtk/RunLoopGtk.cpp: Moved from Source/WebKit2/Platform/gtk/RunLoopGtk.cpp.
2294         * platform/mac/RunLoopMac.mm: Moved from Source/WebKit2/Platform/mac/RunLoopMac.mm.
2295         * platform/qt/RunLoopQt.cpp: Moved from Source/WebKit2/Platform/qt/RunLoopQt.cpp.
2296         * platform/win/RunLoopWin.cpp: Moved from Source/WebKit2/Platform/win/RunLoopWin.cpp.
2297         Move the files.
2298
2299 2012-01-19  Pablo Flouret  <pablof@motorola.com>
2300
2301         Fix inconsistent text selection behavior with option-shift-left/right/up/down.
2302         https://bugs.webkit.org/show_bug.cgi?id=75652
2303
2304         Reviewed by Enrica Casucci.
2305
2306         On Mac, selecting backwards by word, line or paragraph from the middle
2307         of some text, and then going forward leaves the caret back in the middle
2308         with no selection, instead of directly selecting to the other end of the
2309         word/line/paragraph (Unix/Windows behavior). Fix this by adding a new
2310         editing behavior to control whether the selection should go across the
2311         initial position of the caret directly or not in situations like the one
2312         outlined above.
2313
2314         Test: editing/selection/selection-extend-should-not-move-across-caret-on-mac.html
2315
2316         * editing/EditingBehavior.h:
2317         (WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
2318         * editing/FrameSelection.cpp:
2319         (WebCore::FrameSelection::modify):
2320
2321 2012-01-19  Simon Fraser  <simon.fraser@apple.com>
2322
2323         Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
2324         https://bugs.webkit.org/show_bug.cgi?id=75682
2325
2326         Reviewed by James Robinson.
2327         
2328         RenderLayerBacking::isSimpleContainerCompositingLayer() gave incorret
2329         results in the case where the layer itself was visibility:hidden, but
2330         where it had visible, non-composited descendant layers.
2331         
2332         Fix by breaking RenderLayerBacking::hasVisibleNonCompositingDescendants()
2333         into two methods, one that tests for renderers in this layer which
2334         render stuff (and are thus affected by visibility on this layer), and
2335         another which walks descendant, non-composited layers looking for those
2336         which are visible.
2337         
2338         Removed an early return in the "renderObject->node()->isDocumentNode()"
2339         clause, because we want to run the same code that we run for non-document
2340         nodes.
2341
2342         Test: compositing/visibility/layer-visible-content.html
2343
2344         * rendering/RenderLayerBacking.cpp:
2345         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2346         (WebCore::RenderLayerBacking::containsNonEmptyRenderers):
2347         (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
2348         * rendering/RenderLayerBacking.h:
2349
2350 2012-01-19  Alexandre Elias  <aelias@google.com>
2351
2352         [chromium] Draw gutter quads outside root content layer
2353         https://bugs.webkit.org/show_bug.cgi?id=76328
2354
2355         Reviewed by James Robinson.
2356
2357         Add new layer property "backgroundCoversViewport".  If the content
2358         layers don't fully cover the render surface, this code calculates the
2359         difference between the root clip rect and the root content layer and
2360         draws up to four background-color quads in exactly the area that would
2361         be undrawn.
2362
2363         Test: CCTiledLayerImplTest::backgroundCoversViewport
2364
2365         * platform/graphics/chromium/LayerChromium.cpp:
2366         (WebCore::LayerChromium::LayerChromium):
2367         (WebCore::LayerChromium::setBackgroundCoversViewport):
2368         (WebCore::LayerChromium::pushPropertiesTo):
2369         * platform/graphics/chromium/LayerChromium.h:
2370         (WebCore::LayerChromium::backgroundCoversViewport):
2371         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2372         (WebCore::CCLayerImpl::CCLayerImpl):
2373         (WebCore::CCLayerImpl::setBackgroundCoversViewport):
2374         * platform/graphics/chromium/cc/CCLayerImpl.h:
2375         (WebCore::CCLayerImpl::backgroundCoversViewport):
2376         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2377         (WebCore::CCTiledLayerImpl::appendQuads):
2378
2379 2012-01-19  Cary Clark  <caryclark@google.com>
2380
2381         [Skia Mac] Match style of platform error underline for misspellings
2382         https://bugs.webkit.org/show_bug.cgi?id=76556
2383
2384         Reviewed by Stephen White.
2385
2386         Add Darwin-specific code in Skia to draw the error underline so that
2387         it matches the CoreGraphics style.
2388
2389         Many existing layout tests inadvertantly trigger the misspelling
2390         underline by including the word 'foo' in an editable field. Those
2391         tests are temporarily suppressed separately in an edit to
2392         test_expectations.txt.
2393
2394         * platform/graphics/skia/GraphicsContextSkia.cpp:
2395         (WebCore::GraphicsContext::drawLineForTextChecking):
2396
2397 2012-01-19  No'am Rosenthal  <noam.rosenthal@nokia.com>
2398
2399         [Texmap] TextureMapper creates two many big intermediate surfaces
2400         https://bugs.webkit.org/show_bug.cgi?id=76336
2401
2402         Reviewed by Simon Hausmann.
2403
2404         The following has been done to optimize surface allocation:
2405         1. Instead of using a viewport-size surface, use a surface in the size of the layer's
2406            bounding rect and apply the transform after the content has been rendered into it.
2407         2. Avoid generating intermediate surface for occasions where they're not necessary,
2408            such as nested reflections without opacity.
2409         3. Releasing of textures from the pool is now implicit, based on refCount.
2410         4. Do not use intermediate surfaces for preserve-3d layers. This is in alignment with
2411            other ports.
2412
2413         Tests in LayoutTests/compositing/masks and LayoutTests/compositing/reflection cover this.
2414
2415         * platform/graphics/texmap/TextureMapper.cpp:
2416         (WebCore::TextureMapper::acquireTextureFromPool):
2417         * platform/graphics/texmap/TextureMapper.h:
2418         * platform/graphics/texmap/TextureMapperNode.cpp:
2419         (WebCore::TextureMapperNode::paintSelf):
2420         (WebCore::TextureMapperNode::paintSelfAndChildren):
2421         (WebCore::TextureMapperNode::intermediateSurfaceRect):
2422         (WebCore::TextureMapperNode::shouldPaintToIntermediateSurface):
2423         (WebCore::TextureMapperNode::isVisible):
2424         (WebCore::TextureMapperNode::paintSelfAndChildrenWithReplica):
2425         (WebCore::TextureMapperNode::paintRecursive):
2426         (WebCore::TextureMapperNode::syncCompositingStateSelf):
2427         (WebCore::TextureMapperNode::syncCompositingState):
2428         * platform/graphics/texmap/TextureMapperNode.h:
2429         (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
2430
2431 2012-01-19  Eric Seidel  <eric@webkit.org>
2432
2433         Assertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
2434         https://bugs.webkit.org/show_bug.cgi?id=50312
2435
2436         Reviewed by Alexey Proskuryakov.
2437
2438         Removed the ASSERT and updated the comment.
2439
2440         Test: fast/frames/assert-on-insertedIntoDocument.html
2441
2442         * html/HTMLFrameElementBase.cpp:
2443         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
2444
2445 2012-01-19  James Robinson  <jamesr@chromium.org>
2446
2447         [chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
2448         https://bugs.webkit.org/show_bug.cgi?id=76663
2449
2450         Reviewed by Kenneth Russell.
2451
2452         CCLayerDelegate used to be an interface with a half-dozen callbacks on it, but now it has only one call -
2453         paintContents() - and that one call is only valid for one subclass of LayerChromium, ContentLayerChromium. This
2454         removes the CCLayerDelegate pointer from LayerChromium and adds a ContentLayerDelegate for the paint call.
2455
2456         The majority of the code changes in this patch are removing the nil parameter from various places that construct
2457         LayerChromium instances. Also tightens the type of GraphicsLayerChromium::m_layer to ContentLayerChromium.
2458
2459         Refactoring/removing dead code, so no new tests.
2460
2461         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2462         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
2463         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2464         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
2465         * platform/graphics/chromium/CanvasLayerChromium.h:
2466         * platform/graphics/chromium/ContentLayerChromium.cpp:
2467         (WebCore::ContentLayerPainter::create):
2468         (WebCore::ContentLayerPainter::ContentLayerPainter):
2469         (WebCore::ContentLayerChromium::create):
2470         (WebCore::ContentLayerChromium::ContentLayerChromium):
2471         * platform/graphics/chromium/ContentLayerChromium.h:
2472         (WebCore::ContentLayerDelegate::~ContentLayerDelegate):
2473         (WebCore::ContentLayerChromium::clearDelegate):
2474         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2475         (WebCore::DrawingBuffer::platformLayer):
2476         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2477         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2478         (WebCore::GraphicsLayerChromium::setContentsToImage):
2479         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2480         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2481         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2482         * platform/graphics/chromium/GraphicsLayerChromium.h:
2483         * platform/graphics/chromium/ImageLayerChromium.cpp:
2484         (WebCore::ImageLayerChromium::create):
2485         (WebCore::ImageLayerChromium::ImageLayerChromium):
2486         * platform/graphics/chromium/ImageLayerChromium.h:
2487         * platform/graphics/chromium/LayerChromium.cpp:
2488         (WebCore::LayerChromium::create):
2489         (WebCore::LayerChromium::LayerChromium):
2490         * platform/graphics/chromium/LayerChromium.h:
2491         * platform/graphics/chromium/PluginLayerChromium.cpp:
2492         (WebCore::PluginLayerChromium::create):
2493         (WebCore::PluginLayerChromium::PluginLayerChromium):
2494         * platform/graphics/chromium/PluginLayerChromium.h:
2495         * platform/graphics/chromium/TiledLayerChromium.cpp:
2496         (WebCore::TiledLayerChromium::TiledLayerChromium):
2497         (WebCore::TiledLayerChromium::drawsContent):
2498         * platform/graphics/chromium/TiledLayerChromium.h:
2499         * platform/graphics/chromium/VideoLayerChromium.cpp:
2500         (WebCore::VideoLayerChromium::create):
2501         (WebCore::VideoLayerChromium::VideoLayerChromium):
2502         * platform/graphics/chromium/VideoLayerChromium.h:
2503         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2504         (WebCore::WebGLLayerChromium::create):
2505         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2506         * platform/graphics/chromium/WebGLLayerChromium.h:
2507
2508 2012-01-19  Greg Billock  <gbillock@google.com>
2509
2510         [Coverity] Fix uninitialized constructor defects in .../html
2511         https://bugs.webkit.org/show_bug.cgi?id=74965
2512
2513         Reviewed by Simon Fraser.
2514
2515         Test: fast/canvas/script-tests/canvas-webkitLineDash.js
2516
2517         * html/HTMLFormCollection.cpp:
2518         (WebCore::HTMLFormCollection::HTMLFormCollection):
2519         * html/StepRange.cpp:
2520         (WebCore::StepRange::StepRange):
2521         * html/canvas/CanvasRenderingContext2D.cpp:
2522         (WebCore::CanvasRenderingContext2D::State::State):
2523         * html/canvas/CanvasStyle.h:
2524         (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
2525         * html/canvas/WebGLGetInfo.cpp:
2526         (WebCore::WebGLGetInfo::WebGLGetInfo):
2527         * html/parser/CSSPreloadScanner.cpp:
2528         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
2529         * html/track/WebVTTParser.cpp:
2530         (WebCore::WebVTTParser::WebVTTParser):
2531
2532 2012-01-19  Alexandru Chiculita  <achicu@adobe.com>
2533
2534         CSS Shaders: Remove the setTimeout from the layout tests
2535         https://bugs.webkit.org/show_bug.cgi?id=76535
2536
2537         Reviewed by Tony Chang.
2538
2539         We had setTimeout on old tests because the snapshot picture was taken too early, before the shaders were loaded.
2540         The problem was that the RenderLayer was notified that the shader was loaded only after the onload event was triggered,
2541         so a simple setTimeout(0) would have fixed the issue, but better than that would be to to always call CachedResource::data 
2542         in CachedShader::data, which notifies the load earlier (before onload).
2543
2544         No new tests, just removed the setTimeout from old ones.
2545
2546         * loader/cache/CachedShader.cpp:
2547         (WebCore::CachedShader::data):
2548
2549 2012-01-19  Min Qin  <qinmin@google.com>
2550
2551         Improve touch handling performance by reusing the hitTest result
2552         https://bugs.webkit.org/show_bug.cgi?id=75506
2553
2554         Reviewed by Adam Barth.
2555
2556         This is a performance optimization and should not cause behavior changes. Existing tests should cover it.
2557
2558         * page/EventHandler.cpp:
2559         (WebCore::EventHandler::handleTouchEvent):
2560
2561 2012-01-19  Jon Lee  <jonlee@apple.com>
2562
2563         Add text-overflow support that allows placeholder and value text to show an ellipsis when not focused
2564         https://bugs.webkit.org/show_bug.cgi?id=76118
2565         <rdar://problem/9271742>
2566
2567         Reviewed by Dan Bernstein.
2568
2569         Tests: fast/css/text-overflow-input-focus-placeholder-expected.html
2570                fast/css/text-overflow-input-focus-placeholder.html
2571                fast/css/text-overflow-input-focus-value-expected.html
2572                fast/css/text-overflow-input-focus-value.html
2573                fast/css/text-overflow-input.html
2574
2575         * rendering/RenderTextControlSingleLine.cpp:
2576         (WebCore::RenderTextControlSingleLine::styleDidChange): When the style of the text control
2577         changes, we update the text overflow property of the placeholder.
2578         (WebCore::RenderTextControlSingleLine::createInnerTextStyle): When the style of the text control
2579         changes, we update the text overflow property of the inner text block.
2580         (WebCore::RenderTextControlSingleLine::textShouldBeTruncated): The text of the value and placeholder should
2581         only contain the ellipsis if the input's text-overflow property is set to ellipsis, and the input is not focused.
2582         * rendering/RenderTextControlSingleLine.h:
2583
2584 2012-01-19  Mark Hahnenberg  <mhahnenberg@apple.com>
2585
2586         Implement a new allocator for backing stores
2587         https://bugs.webkit.org/show_bug.cgi?id=75181
2588
2589         Reviewed by Filip Pizlo.
2590
2591         No new tests.
2592
2593         Added forwarding header for new CheckedBoolean used in the bump allocator.
2594
2595         * ForwardingHeaders/wtf/CheckedBoolean.h: Added.
2596
2597 2012-01-13  Ryosuke Niwa  <rniwa@webkit.org>
2598
2599         Crash in CompositeEditCommand::ensureComposition
2600         https://bugs.webkit.org/show_bug.cgi?id=76207
2601
2602         Reviewed by Chang Shu.
2603
2604         The crash was caused by TypingCommand not kept alive when new editing commands are executed
2605         during adding more typings to the open last typing command since m_lastEditCommand is replaced
2606         by the new command. Fixed the bug by keeping them alive a little longer with RefPtr.
2607
2608         Test: editing/execCommand/editing-command-while-executing-typing-command-crash.html
2609
2610         * editing/FrameSelection.cpp:
2611         (WebCore::shouldStopBlinkingDueToTypingCommand):
2612         (WebCore::FrameSelection::updateAppearance):
2613         * editing/TypingCommand.cpp:
2614         (WebCore::TypingCommand::deleteSelection):
2615         (WebCore::TypingCommand::deleteKeyPressed):
2616         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2617         (WebCore::TypingCommand::insertText):
2618         (WebCore::TypingCommand::insertLineBreak):
2619         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
2620         (WebCore::TypingCommand::insertParagraphSeparator):
2621         (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
2622         (WebCore::TypingCommand::closeTyping):
2623         * editing/TypingCommand.h:
2624
2625 2012-01-19  Andreas Kling  <awesomekling@apple.com>
2626
2627         Unreviewed debug build fix.
2628
2629         Remove ASSERT that the cached match is cacheable (we don't store that flag anymore.)
2630
2631         * css/CSSStyleSelector.cpp:
2632         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
2633
2634 2012-01-19  Robert Hogan  <robert@webkit.org>
2635
2636         Fix Debug build after r105433
2637
2638         Unreviewed, build fix.
2639
2640         * rendering/RenderTable.cpp:
2641         (WebCore::RenderTable::recalcCollapsedBorders):
2642
2643 2012-01-19  Andreas Kling  <awesomekling@apple.com>
2644
2645         CSSStyleSelector: Factor 'isCacheable' flag out of MatchedResult.
2646         <http://webkit.org/b/76376>
2647
2648         Reviewed by Antti Koivisto.
2649
2650         Break up the MatchResult struct into MatchResult and MatchRanges. The matched
2651         declaration cache only needs the ranges, so we save 4 bytes per entry.
2652
2653         * css/CSSStyleSelector.cpp:
2654         (WebCore::CSSStyleSelector::matchAllRules):
2655         (WebCore::CSSStyleSelector::matchUARules):
2656         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2657         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
2658         (WebCore::operator==):
2659         (WebCore::operator!=):
2660         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
2661         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
2662         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
2663         * css/CSSStyleSelector.h:
2664         (WebCore::CSSStyleSelector::MatchRanges::MatchRanges):
2665         (WebCore::CSSStyleSelector::MatchResult::MatchResult):
2666
2667 2012-01-19  Eric Carlson  <eric.carlson@apple.com>
2668
2669         https://bugs.webkit.org/show_bug.cgi?id=75192
2670
2671         Reviewed by Darin Adler.
2672
2673         Notify the media element when tracks are added to and removed from a document instead of
2674         a tree because we don't want to trigger loading unless a track element is in the document.
2675
2676         Test: media/track/track-delete-during-setup.html
2677
2678         * html/HTMLMediaElement.cpp:
2679         (WebCore::HTMLMediaElement::trackWasRemoved): Renamed from trackWillBeRemoved because it is
2680             now called after removal.
2681         * html/HTMLMediaElement.h:
2682
2683         * html/HTMLTrackElement.cpp:
2684         (WebCore::HTMLTrackElement::insertedIntoDocument): Was insertedIntoTree. Use this instead
2685             because we care about when a track is inserted and removed from a document, not a tree.
2686         (WebCore::HTMLTrackElement::removedFromDocument): Ditto.
2687         * html/HTMLTrackElement.h:
2688
2689 2012-01-18  Robert Hogan  <robert@webkit.org>
2690
2691         Hit ASSERTION FAILED: table()->collapseBorders() on techcrunch.com
2692         https://bugs.webkit.org/show_bug.cgi?id=76405
2693
2694         Reviewed by Julien Chaffraix.
2695
2696         Tests: fast/css/nested-table-with-collapsed-borders.html
2697
2698         Change recalcCollapsedBorders() so that it only collects border values for the current
2699         table. Calculating the borders for nested tables was wrong as well as wasting cycles, though it would never
2700         have impacted rendering since a cell only paints the borders that match its own.
2701
2702         * rendering/RenderTable.cpp:
2703         (WebCore::RenderTable::recalcCollapsedBorders):
2704
2705 2012-01-18  Jer Noble  <jer.noble@apple.com>
2706
2707         Make WebAudio API const-correct.
2708         https://bugs.webkit.org/show_bug.cgi?id=76573
2709
2710         Reviewed by Daniel Bates.
2711
2712         No new tests; no net change in functionality, so covered by existing tests.
2713
2714         The non-const data() accessor was renamed mutableData() to expose const-correctness
2715         bugs during compile time:
2716         * platform/audio/AudioChannel.h:
2717         (WebCore::AudioChannel::mutableData):
2718
2719         The following functions were made const correct:
2720         * platform/audio/AudioArray.h:
2721         (WebCore::AudioArray::copyToRange):
2722         * platform/audio/AudioBus.h:
2723         (WebCore::AudioBus::createBufferFromRange):
2724         (WebCore::AudioBus::createBySampleRateConverting):
2725         (WebCore::AudioBus::createByMixingToMono):
2726         * platform/audio/FFTConvolver.cpp:
2727         (WebCore::FFTConvolver::process):
2728         * platform/audio/FFTConvolver.h:
2729         * platform/audio/FFTFrame.cpp:
2730         (WebCore::FFTFrame::doPaddedFFT):
2731         (WebCore::FFTFrame::doFFT):
2732         * platform/audio/FFTFrame.h:
2733         * platform/audio/ReverbConvolverStage.cpp:
2734         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
2735         (WebCore::ReverbConvolverStage::process):
2736         * platform/audio/ReverbConvolverStage.h:
2737         * platform/audio/ReverbInputBuffer.cpp:
2738         (WebCore::ReverbInputBuffer::write):
2739         * platform/audio/ReverbInputBuffer.h:
2740         * platform/audio/SincResampler.cpp:
2741         (WebCore::SincResampler::process):
2742         * platform/audio/SincResampler.h:
2743         * platform/audio/ZeroPole.cpp:
2744         (WebCore::ZeroPole::process):
2745         * platform/audio/ZeroPole.h:
2746         * platform/audio/AudioBus.cpp:
2747         (WebCore::AudioBus::channelByType):
2748         * platform/audio/AudioBus.h:
2749         (WebCore::AudioBus::gain):
2750         * platform/audio/AudioDSPKernelProcessor.cpp:
2751         (WebCore::AudioDSPKernelProcessor::process):
2752         * platform/audio/AudioDSPKernelProcessor.h:
2753         * platform/audio/AudioProcessor.h:
2754         * platform/audio/DynamicsCompressor.cpp:
2755         (WebCore::DynamicsCompressor::process):
2756         * platform/audio/DynamicsCompressor.h:
2757         * platform/audio/DynamicsCompressorKernel.cpp:
2758         (WebCore::DynamicsCompressorKernel::process):
2759         * platform/audio/DynamicsCompressorKernel.h:
2760         * platform/audio/EqualPowerPanner.cpp:
2761         (WebCore::EqualPowerPanner::pan):
2762         * platform/audio/EqualPowerPanner.h:
2763         * platform/audio/HRTFElevation.h:
2764         (WebCore::HRTFElevation::numberOfAzimuths):
2765         * platform/audio/HRTFPanner.cpp:
2766         (WebCore::HRTFPanner::pan):
2767         * platform/audio/HRTFPanner.h:
2768         * platform/audio/Panner.h:
2769         * platform/audio/Reverb.cpp:
2770         (WebCore::Reverb::process):
2771         * platform/audio/Reverb.h:
2772         * platform/audio/ReverbConvolver.cpp:
2773         (WebCore::ReverbConvolver::process):
2774         * platform/audio/ReverbConvolver.h:
2775         * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
2776         (WebCore::FFTFrame::doFFT):
2777         * platform/audio/mkl/FFTFrameMKL.cpp:
2778         (WebCore::FFTFrame::doFFT):
2779
2780         The following functions were modified to use the renamed mutableData() accessor:
2781         * platform/audio/AudioBus.cpp:
2782         (WebCore::AudioBus::processWithGainFromMonoStereo):
2783         (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
2784         * platform/audio/AudioChannel.cpp:
2785         (WebCore::AudioChannel::scale):
2786         (WebCore::AudioChannel::copyFrom):
2787         (WebCore::AudioChannel::copyFromRange):
2788         (WebCore::AudioChannel::sumFrom):
2789         * platform/audio/AudioDSPKernelProcessor.cpp:
2790         (WebCore::AudioDSPKernelProcessor::process):
2791         * platform/audio/AudioResampler.cpp:
2792         (WebCore::AudioResampler::process):
2793         * platform/audio/DynamicsCompressor.cpp:
2794         (WebCore::DynamicsCompressor::process):
2795         * platform/audio/EqualPowerPanner.cpp:
2796         (WebCore::EqualPowerPanner::pan):
2797         * platform/audio/HRTFKernel.cpp:
2798         (WebCore::extractAverageGroupDelay):
2799         (WebCore::HRTFKernel::HRTFKernel):
2800         (WebCore::HRTFKernel::createImpulseResponse):
2801         * platform/audio/HRTFPanner.cpp:
2802         (WebCore::HRTFPanner::pan):
2803         * platform/audio/MultiChannelResampler.cpp:
2804         (WebCore::MultiChannelResampler::process):
2805         * platform/audio/Reverb.cpp:
2806         (WebCore::Reverb::process):
2807         * platform/audio/ReverbConvolver.cpp:
2808         (WebCore::ReverbConvolver::ReverbConvolver):
2809         (WebCore::ReverbConvolver::process):
2810         * platform/audio/mac/AudioFileReaderMac.cpp:
2811         (WebCore::AudioFileReader::createBus):
2812         * platform/audio/mac/FFTFrameMac.cpp:
2813         (WebCore::FFTFrame::doFFT):
2814         * webaudio/AudioBufferSourceNode.cpp:
2815         (WebCore::AudioBufferSourceNode::process):
2816         (WebCore::AudioBufferSourceNode::renderFromBuffer):
2817         * webaudio/BiquadProcessor.cpp:
2818         (WebCore::BiquadProcessor::process):
2819         * webaudio/JavaScriptAudioNode.cpp:
2820         (WebCore::JavaScriptAudioNode::process):
2821         * webaudio/OfflineAudioDestinationNode.cpp:
2822         (WebCore::OfflineAudioDestinationNode::render):
2823         * webaudio/RealtimeAnalyser.cpp:
2824         (WebCore::RealtimeAnalyser::writeInput):
2825         * webaudio/WaveShaperProcessor.cpp:
2826         (WebCore::WaveShaperProcessor::process):
2827
2828 2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
2829
2830         Unreviewed, inspector closure compilation fix.
2831
2832         * inspector/front-end/ScriptsPanel.js:
2833         * inspector/front-end/TabbedEditorContainer.js:
2834
2835 2012-01-19  David Hyatt  <hyatt@apple.com>
2836
2837         https://bugs.webkit.org/show_bug.cgi?id=76644
2838
2839         Before landing support for centering, fix the keyword value to match the latest draft.
2840         The new keyword is "contain" instead of "bounds."
2841
2842         Revised the existing parsing tests to reflect the updated value.
2843
2844         Reviewed by Dan Bernstein.
2845
2846         * css/CSSParser.cpp:
2847         (WebCore::CSSParser::parseValue):
2848         * css/CSSPrimitiveValueMappings.h:
2849         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2850         (WebCore::CSSPrimitiveValue::operator LineGridSnap):
2851         * css/CSSValueKeywords.in:
2852         * rendering/style/RenderStyleConstants.h:
2853
2854 2012-01-19  Joi Sigurdsson  <joi@chromium.org>
2855
2856         Enable use of precompiled headers in Chromium port on Windows.
2857
2858         Bug 76381 - Use precompiled headers in Chromium port on Windows
2859         https://bugs.webkit.org/show_bug.cgi?id=76381
2860
2861         Reviewed by Tony Chang.
2862
2863         No new tests needed; if the change builds and existing tests pass
2864         that should provide enough coverage.
2865
2866         * WebCore.gyp/WebCore.gyp: Include WinPrecompile.gypi.
2867
2868 2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
2869
2870         Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script in navigator.
2871         https://bugs.webkit.org/show_bug.cgi?id=76636
2872
2873         Reviewed by Pavel Feldman.
2874
2875         Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
2876         event to EditorContainer.
2877         Renamed _showSourceFrame into _showFile.
2878         Made _uiSourceCodeRemoved reuse _removeSourceFrame.
2879
2880         * inspector/front-end/ScriptsNavigator.js:
2881         (WebInspector.ScriptsNavigator.prototype.scriptSelected):
2882         * inspector/front-end/ScriptsPanel.js:
2883         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
2884         (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
2885         (WebInspector.ScriptsPanel.prototype._editorSelected):
2886         (WebInspector.ScriptsPanel.prototype._fileSelected):
2887         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
2888         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
2889         (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
2890         * inspector/front-end/TabbedEditorContainer.js:
2891         (WebInspector.TabbedEditorContainer):
2892         (WebInspector.TabbedEditorContainer.prototype._tabSelected):
2893
2894 2012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>
2895
2896         [CSSRegions]Add support for background-color in region styling
2897         https://bugs.webkit.org/show_bug.cgi?id=71488
2898
2899         Reviewed by David Hyatt.
2900
2901         This patch enables region styling again. The region styling tests were also added back. 
2902         With the improvements from https://bugs.webkit.org/show_bug.cgi?id=76265, hopefully we will not see the same 3% regressions
2903         in performance.
2904
2905         * rendering/RenderObject.h:
2906         (WebCore::RenderObject::style):
2907
2908 2012-01-16  Jer Noble  <jer.noble@apple.com>
2909
2910         Crash at WebCore::MediaControlRootElement::makeOpaque + 97
2911         https://bugs.webkit.org/show_bug.cgi?id=76391
2912
2913         Reviewed by John Sullivan.
2914
2915         No new tests; Speculative fix for crash.
2916
2917         Crash report data suggests this crash is occurring as the document is being
2918         closed.  Check the nullity of document()->page() before deref-ing.
2919
2920         * html/shadow/MediaControlElements.cpp:
2921         (WebCore::MediaControlPanelElement::makeOpaque):
2922
2923 2012-01-19  Ken Buchanan <kenrb@chromium.org>
2924
2925         Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
2926         https://bugs.webkit.org/show_bug.cgi?id=75787
2927
2928         Reviewed by Simon Fraser.
2929
2930         This is a tweak to my patch in r104322. On some platforms
2931         RenderCombineText::combineText() can abort early during inline
2932         iteration, causing this loop in skipLeadingWhitespace to spin,
2933         hence the layout test timeouts. This patch accounts for that
2934         condition and makes the loop iteration more robust.
2935
2936         No new test because this is fixing a failure on an existing test.
2937
2938         * rendering/RenderBlockLineLayout.cpp:
2939         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
2940
2941 2012-01-19  Jer Noble  <jer.noble@apple.com>
2942
2943         HRTFPanner not rendering correctly on mac port
2944         https://bugs.webkit.org/show_bug.cgi?id=76397
2945
2946         Reviewed by Eric Carlson.
2947
2948         No new tests; HRTF results are currently not testable.
2949
2950         Re-generate the Composite.wav file from its constituent azimuth & elevation files.
2951
2952         * platform/audio/resources/Composite.wav:
2953
2954 2012-01-19  David Hyatt  <hyatt@apple.com>
2955
2956         https://bugs.webkit.org/show_bug.cgi?id=76577
2957         
2958         Fix crash when nested line grids are used. Make sure to bail out if no line grid
2959         is found rather than crashing.
2960
2961         Reviewed by Dan Bernstein.
2962
2963         Added fast/line-grid/line-grid-nested.html.
2964
2965         * rendering/LayoutState.cpp:
2966         (WebCore::LayoutState::establishLineGrid):
2967
2968 2012-01-18  Enrica Casucci  <enrica@apple.com>
2969
2970         editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName.
2971         https://bugs.webkit.org/show_bug.cgi?id=76588
2972         <rdar://problem/9325183>
2973
2974         Reviewed by Dan Bernstein.
2975
2976         Added TestWebKitAPI test.
2977
2978         * platform/mac/HTMLConverter.mm:
2979         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2980
2981 2012-01-18  Alexander Pavlov  <apavlov@chromium.org>
2982
2983         Web Inspector: Implement screen resolution emulation backend
2984         https://bugs.webkit.org/show_bug.cgi?id=76532
2985
2986         Reviewed by Pavel Feldman.
2987
2988         The emulation affects [min-|max-]device-(width|height) media queries, window.screen.(width|height),
2989         and window.inner(Width|Height).
2990
2991         Test: inspector/styles/override-screen-size.html
2992
2993         * css/MediaQueryEvaluator.cpp:
2994         (WebCore::device_heightMediaFeatureEval): Apply device-height override if necessary.
2995         (WebCore::device_widthMediaFeatureEval): Apply device-width override if necessary.
2996         * inspector/Inspector.json:
2997         * inspector/InspectorCSSAgent.cpp:
2998         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2999         (WebCore::InspectorCSSAgent::startSelectorProfiler):
3000         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
3001         (WebCore::InspectorCSSAgent::willMatchRule):
3002         (WebCore::InspectorCSSAgent::didMatchRule):
3003         (WebCore::InspectorCSSAgent::willProcessRule):
3004         (WebCore::InspectorCSSAgent::didProcessRule):
3005         * inspector/InspectorInstrumentation.cpp:
3006         (WebCore::InspectorInstrumentation::applyScreenWidthOverrideImpl):
3007         (WebCore::InspectorInstrumentation::applyScreenHeightOverrideImpl):
3008         * inspector/InspectorInstrumentation.h:
3009         (WebCore::InspectorInstrumentation::applyScreenWidthOverride):
3010         (WebCore::InspectorInstrumentation::applyScreenHeightOverride):
3011         * inspector/InspectorPageAgent.cpp:
3012         (WebCore::InspectorPageAgent::InspectorPageAgent):
3013         (WebCore::InspectorPageAgent::restore):
3014         (WebCore::InspectorPageAgent::disable):
3015         (WebCore::InspectorPageAgent::setScreenSizeOverride):
3016         (WebCore::InspectorPageAgent::applyScreenWidthOverride):
3017         (WebCore::InspectorPageAgent::applyScreenHeightOverride):
3018         (WebCore::InspectorPageAgent::updateFrameViewFixedLayout):
3019         (WebCore::InspectorPageAgent::clearFrameViewFixedLayout):
3020         (WebCore::InspectorPageAgent::setFrameViewFixedLayout):
3021         * inspector/InspectorPageAgent.h:
3022         * page/DOMWindow.cpp:
3023         (WebCore::DOMWindow::innerHeight): Apply height override if necessary.
3024         (WebCore::DOMWindow::innerWidth): Apply width override if necessary.
3025         * page/Screen.cpp:
3026         (WebCore::Screen::height): Apply height override if necessary.
3027         (WebCore::Screen::width): Apply width override if necessary.
3028
3029 2012-01-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3030
3031         [Qt] Handle the layers visible rect calculation on the web process.
3032         https://bugs.webkit.org/show_bug.cgi?id=74720
3033
3034         Reviewed by Noam Rosenthal.
3035
3036         Remove all visible rect calculation related code from TextureMapperNode.
3037
3038         * platform/graphics/texmap/TextureMapperNode.cpp:
3039         * platform/graphics/texmap/TextureMapperNode.h:
3040
3041 2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
3042
3043         Web Inspector: Improve focus switching in scripts panel.
3044         https://bugs.webkit.org/show_bug.cgi?id=76628
3045
3046         Reviewed by Pavel Feldman.
3047
3048         * inspector/front-end/Dialog.js:
3049         (WebInspector.Dialog.prototype._hide):
3050         * inspector/front-end/FilteredItemSelectionDialog.js:
3051         (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
3052         (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
3053         * inspector/front-end/ScriptsNavigator.js:
3054         (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
3055         * inspector/front-end/ScriptsPanel.js:
3056         (WebInspector.ScriptsPanel.prototype._showSourceLine):
3057
3058 2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
3059
3060         Web Inspector: Add isSelfOrAnsector and isSelfOrDescendant methods to utilities.
3061         https://bugs.webkit.org/show_bug.cgi?id=76618
3062
3063         Added isSelfOrAncestor, isSelfOrDescendant and WebInspector.restoreFocusFromElement methods.
3064
3065         Reviewed by Pavel Feldman.
3066
3067         * inspector/front-end/Drawer.js:
3068         * inspector/front-end/HelpScreen.js:
3069         (WebInspector.HelpScreen.prototype._onBlur):
3070         * inspector/front-end/MetricsSidebarPane.js:
3071         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
3072         * inspector/front-end/Popover.js:
3073         * inspector/front-end/ScriptsPanel.js:
3074         (WebInspector.ScriptsPanel.prototype.showUISourceCode):
3075         * inspector/front-end/StylesSidebarPane.js:
3076         ():
3077         * inspector/front-end/TextPrompt.js:
3078         (WebInspector.TextPrompt.prototype.detach):
3079         (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
3080         * inspector/front-end/TextViewer.js:
3081         (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
3082         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
3083         * inspector/front-end/UIUtils.js:
3084         (WebInspector.startEditing.cleanUpAfterEditing):
3085         (WebInspector.restoreFocusFromElement):
3086         * inspector/front-end/utilities.js:
3087         (Element.prototype.isInsertionCaretInside):
3088         ():
3089
3090 2012-01-19  Andreas Kling  <awesomekling@apple.com>
3091
3092         DynamicNodeList: Simplify internal Caches object.
3093         <http://webkit.org/b/76600>
3094
3095         Reviewed by Ryosuke Niwa.
3096
3097         Move m_caches from DynamicSubtreeNodeList and ChildNodeList up into DynamicNodeList.
3098         Remove the inheritance from RefCounted and store it simply as "Caches m_caches"
3099         This avoids one heap allocation per DynamicNodeList. Also reordered the Caches members
3100         to pack slightly better on 64-bit.
3101
3102         * dom/ChildNodeList.cpp:
3103         (WebCore::ChildNodeList::ChildNodeList):
3104         (WebCore::ChildNodeList::length):
3105         (WebCore::ChildNodeList::item):
3106         * dom/ChildNodeList.h:
3107         * dom/DynamicNodeList.cpp:
3108         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
3109         (WebCore::DynamicSubtreeNodeList::length):
3110         (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
3111         (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
3112         (WebCore::DynamicSubtreeNodeList::item):
3113         * dom/DynamicNodeList.h:
3114         (WebCore::DynamicNodeList::invalidateCache):
3115         * dom/Node.cpp:
3116         (WebCore::NodeRareData::clearChildNodeListCache):
3117
3118 2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
3119
3120         Web Inspector: TabbedPane closeAllTabs does not close all tabs.
3121         https://bugs.webkit.org/show_bug.cgi?id=76624
3122
3123         Reviewed by Pavel Feldman.
3124
3125         * inspector/front-end/ScriptsPanel.js:
3126         * inspector/front-end/TabbedPane.js:
3127         (WebInspector.TabbedPane.prototype.closeAllTabs):
3128
3129 2012-01-18  Rob Buis  <rbuis@rim.com>
3130
3131         image/pjpeg not supported for decoding on BlackBerry platform
3132         https://bugs.webkit.org/show_bug.cgi?id=76595
3133
3134         Reviewed by Antonio Gomes.
3135
3136         Add image/pjpeg as one of the supported types for image decoding on BlackBerry platform.
3137
3138         * platform/MIMETypeRegistry.cpp:
3139         (WebCore::initializeSupportedImageMIMETypes):
3140
3141 2012-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3142
3143         Unreviewed, rolling out r105402.
3144         http://trac.webkit.org/changeset/105402
3145         https://bugs.webkit.org/show_bug.cgi?id=76623
3146
3147         Layout test problems (Requested by WildFox on #webkit).
3148
3149         * css/svg.css:
3150         (svg):
3151         * rendering/RenderBox.h:
3152         (WebCore::RenderBox::computeIntrinsicRatioInformation):
3153         * rendering/RenderBoxModelObject.cpp:
3154         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
3155         * rendering/RenderImage.cpp:
3156         (WebCore::RenderImage::computeReplacedLogicalWidth):
3157         (WebCore::RenderImage::computeIntrinsicRatioInformation):
3158         * rendering/RenderImage.h:
3159         * rendering/RenderReplaced.cpp:
3160         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
3161         (WebCore::RenderReplaced::logicalHeightIsAuto):
3162         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
3163         * rendering/RenderReplaced.h:
3164         * rendering/svg/RenderSVGRoot.cpp:
3165         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
3166         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
3167         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
3168         * rendering/svg/RenderSVGRoot.h:
3169         * rendering/svg/RenderSVGViewportContainer.h:
3170         * svg/SVGLengthContext.cpp:
3171         (WebCore::SVGLengthContext::determineViewport):
3172         * svg/SVGSVGElement.cpp:
3173         (WebCore::SVGSVGElement::viewport):
3174         (WebCore::SVGSVGElement::parseMappedAttribute):
3175         (WebCore::updateCSSForAttribute):
3176         (WebCore::SVGSVGElement::svgAttributeChanged):
3177         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
3178         (WebCore::SVGSVGElement::currentViewBoxRect):
3179         * svg/SVGSVGElement.h:
3180         * svg/graphics/SVGImage.cpp:
3181         (WebCore::SVGImage::size):
3182         (WebCore::SVGImage::computeIntrinsicDimensions):
3183         * svg/graphics/SVGImage.h:
3184
3185 2012-01-19  Alexis Menard  <alexis.menard@openbossa.org>
3186
3187         Strange Result for getComputedStyle on borderWidth set in em
3188         https://bugs.webkit.org/show_bug.cgi?id=18294
3189
3190         Reviewed by Tony Chang.
3191
3192         BorderValue stores its width on a 12 bits unsigned. This patch 
3193         increase it to 27. The patch also modify the way to set the 
3194         width or to get it, we now use a unsigned rather than a short.
3195
3196         Test: fast/css/border-width-large.html
3197
3198         * css/CSSPrimitiveValue.cpp:
3199         (WebCore::CSSPrimitiveValue::computeLength):
3200         * css/CSSStyleApplyProperty.cpp:
3201         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3202         * page/animation/AnimationBase.cpp:
3203         (WebCore::blendFunc):
3204         (WebCore::AnimationBase::ensurePropertyMap):
3205         * platform/animation/AnimationUtilities.h:
3206         (WebCore::blend):
3207         * rendering/RenderTheme.cpp:
3208         (WebCore::RenderTheme::adjustStyle):
3209         * rendering/style/BorderData.h:
3210         (WebCore::BorderData::borderLeftWidth):
3211         (WebCore::BorderData::borderRightWidth):
3212         (WebCore::BorderData::borderTopWidth):
3213         (WebCore::BorderData::borderBottomWidth):
3214         * rendering/style/BorderValue.h:
3215         (WebCore::BorderValue::width):
3216         * rendering/style/RenderStyle.cpp:
3217         * rendering/style/RenderStyle.h:
3218         (WebCore::RenderStyleBitfields::borderLeftWidth):
3219         (WebCore::RenderStyleBitfields::borderRightWidth):
3220         (WebCore::RenderStyleBitfields::borderTopWidth):
3221         (WebCore::RenderStyleBitfields::borderBottomWidth):
3222         (WebCore::RenderStyleBitfields::setBorderLeftWidth):
3223         (WebCore::RenderStyleBitfields::setBorderRightWidth):
3224         (WebCore::RenderStyleBitfields::setBorderTopWidth):
3225         (WebCore::RenderStyleBitfields::setBorderBottomWidth):
3226         (WebCore::RenderStyleBitfields::initialBorderWidth):
3227         (WebCore::RenderStyleBitfields::initialColumnRuleWidth):
3228         (WebCore::RenderStyleBitfields::initialOutlineWidth):
3229
3230 2012-01-18  Nikolas Zimmermann  <nzimmermann@rim.com>
3231
3232         Differentiate between SVG/CSS width/height attributes/properties
3233         https://bugs.webkit.org/show_bug.cgi?id=76447
3234
3235         Reviewed by Antti Koivisto.
3236
3237         Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
3238         SVG width/height attributes and the CSS width/height properties. They need to be treated independently
3239         when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.
3240
3241         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.
3242
3243         * css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
3244         * rendering/RenderBox.h:
3245         (WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
3246         * rendering/RenderBoxModelObject.cpp:
3247         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
3248         * rendering/RenderImage.cpp:
3249         (WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
3250         (WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
3251         * rendering/RenderImage.h: Ditto.
3252         * rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
3253         (WebCore::firstContainingBlockWithLogicalWidth): Refactored.
3254         (WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
3255         (WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
3256         (WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
3257         (WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
3258         (WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
3259         * rendering/RenderReplaced.h:
3260         * rendering/svg/RenderSVGRoot.cpp:
3261         (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.
3262         (WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
3263         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
3264         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
3265         * rendering/svg/RenderSVGRoot.h:
3266         * rendering/svg/RenderSVGViewportContainer.h:
3267         (WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
3268         * svg/SVGLengthContext.cpp:
3269         (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.
3270         * svg/SVGSVGElement.cpp: 
3271         (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.
3272         (WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
3273         (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
3274         (WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
3275         (WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
3276         (WebCore::SVGSVGElement::currentViewportSize): Ditto.
3277         (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
3278         (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
3279         (WebCore::SVGSVGElement::intrinsicWidth): Helper.
3280         (WebCore::SVGSVGElement::intrinsicHeight): Ditto.
3281         * svg/SVGSVGElement.h:
3282         * svg/graphics/SVGImage.cpp:
3283         (WebCore::SVGImage::size): Cleanup code.
3284         (WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
3285         (WebCore::SVGImage::hasRelativeHeight): Ditto.
3286         (WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
3287         * svg/graphics/SVGImage.h:
3288
3289 2012-01-19  Ryosuke Niwa  <rniwa@webkit.org>
3290
3291         drop event isn't fired for contentEditable in edit drag
3292         https://bugs.webkit.org/show_bug.cgi?id=57185
3293
3294         Reviewed by Adam Barth.
3295
3296         Dispatch drop and dragend events after edit drag per HTML5 spec:
3297         http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-and-drop-processing-model
3298
3299         There are two major differences between the spec and WebKit's new behavior:
3300
3301         While the spec says we have to insert the dragged contents immediately after dispatching drop event
3302         and delete the source in the default event handler of dragend event, doing so in WebKit is extremely
3303         difficult because of the way we manage the selection. Instead, we continue to delete the source
3304         and insert the dragged contents immediately after the drop event; this behavior matches that of Firefox 9.
3305
3306         When the dragged contents and the destination of the move is in the same text node, ReplaceSelectionCommand
3307         may end up replacing it with a new text node. But this removal causes a problem when EventHandler uses
3308         the node to dispatch dragend event because the node is "orphaned" from its parent at that point. To mitigate
3309         this issue, we update the dragState's m_dragSrc when the node is orphaned by the edit drag. While this behavior
3310         may differ from the spec and other browsers, not delivering dragend to the editing host seems strictly worse than
3311         dispatching it at the slightly wrong target.
3312
3313         Tests: fast/events/moving-text-should-fire-drop-and-dragend-events-2.html
3314                fast/events/moving-text-should-fire-drop-and-dragend-events.html
3315
3316         * page/DragController.cpp:
3317         (WebCore::DragController::performDrag): Dispatch drop event even when m_isHandlingDrag is true as long
3318         as DragDestinationActionDHTML is an acceptable action.
3319         (WebCore::DragController::concludeEditDrag): Call updateDragStateAfterEditDragIfNeeded after inserting
3320         the dragged contents. This is necessary when ReplaceSelectionCommand or MoveSelectionCommand modifies
3321         the source node while inserting the dragged contents.
3322         * page/EventHandler.cpp:
3323         (WebCore::EventHandler::performDragAndDrop): Clear the drag state only if drop event's default action
3324         was prevented so that we dispatch dragevent event later.
3325         (WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Update dragState's m_dragSrc when the node
3326         is orphaned. See above for the rationale.
3327         * page/EventHandler.h:
3328
3329 2012-01-18  Kinuko Yasuda  <kinuko@chromium.org>
3330
3331         Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory
3332         https://bugs.webkit.org/show_bug.cgi?id=76551
3333
3334         Reviewed by Darin Fisher.
3335
3336         Moved the implementation of crackFileSystemURL() and toURL() from
3337         WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
3338         so that each platform can extend/implement their behavior if necessary.
3339
3340         No new tests since this patch has no functionality changes. (Existing
3341         tests should pass)
3342
3343         * fileapi/DOMFileSystemBase.cpp: Moved the implementation of
3344         crackFileSystemURL() to AsyncFileSystem
3345         (WebCore::DOMFileSystemBase::crackFileSystemURL):
3346         * fileapi/DOMFileSystemBase.h:
3347         * fileapi/EntryBase.cpp: Moved the implementation of toURL() to AsyncFileSystem
3348         (WebCore::EntryBase::toURL):
3349         * page/DOMWindow.cpp: Removed chrome-specific type handling code.
3350         (WebCore::DOMWindow::webkitRequestFileSystem):
3351         * page/DOMWindow.h: Removed chrome-specific filesystem type
3352         (EXTERNAL).
3353         * platform/AsyncFileSystem.cpp: Added default implementation of toURL() and crackFileSystemURL()
3354         (WebCore::AsyncFileSystem::toURL):
3355         (WebCore::AsyncFileSystem::crackFileSystemURL):
3356         * platform/AsyncFileSystem.h:
3357         * workers/WorkerContext.cpp: Removed chrome-specific type handling code.
3358         (WebCore::WorkerContext::webkitRequestFileSystem):
3359         (WebCore::WorkerContext::webkitRequestFileSystemSync):
3360
3361 2012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>
3362
3363         Cache RenderStyle pointer as a method to avoid performance regression for region styling
3364         https://bugs.webkit.org/show_bug.cgi?id=76265
3365
3366         Reviewed by David Hyatt.
3367
3368         No new tests since this is just refactoring.
3369         When region styling was enabled in https://bugs.webkit.org/show_bug.cgi?id=71488,
3370         it introduced a performance regression due to the change of RenderObject::style() method.
3371         This patch tries to avoid a new performance regression when region styling will be enabled again.
3372
3373         * rendering/RenderBlock.cpp:
3374         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3375         (WebCore::RenderBlock::styleWillChange):
3376         (WebCore::RenderBlock::layoutBlock):
3377         (WebCore::RenderBlock::layoutBlockChildren):
3378         (WebCore::RenderBlock::layoutBlockChild):
3379         (WebCore::RenderBlock::computePreferredLogicalWidths):
3380         (WebCore::getBorderPaddingMargin):
3381         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3382         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
3383         * rendering/RenderBlockLineLayout.cpp:
3384         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
3385         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3386         * rendering/RenderBox.cpp:
3387         (WebCore::RenderBox::willBeDestroyed):
3388         (WebCore::RenderBox::styleWillChange):
3389         (WebCore::RenderBox::styleDidChange):
3390         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
3391         (WebCore::RenderBox::computeRectForRepaint):
3392         (WebCore::RenderBox::computeLogicalWidthInRegion):
3393         (WebCore::RenderBox::computeLogicalWidthUsing):
3394         (WebCore::RenderBox::computeLogicalHeight):
3395         (WebCore::RenderBox::computePercentageLogicalHeight):
3396         (WebCore::RenderBox::computePositionedLogicalHeight):
3397         * rendering/RenderBoxModelObject.cpp:
3398         (WebCore::RenderBoxModelObject::styleWillChange):
3399         (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
3400         * rendering/RenderInline.cpp:
3401         (WebCore::RenderInline::styleDidChange):
3402         * rendering/RenderText.cpp:
3403         (WebCore::RenderText::styleDidChange):
3404         (WebCore::RenderText::computePreferredLogicalWidths):
3405
3406 2012-01-19  Kazuhiro Inaba  <kinaba@chromium.org>
3407
3408         [Chromium] Random characters got rendered as empty boxes or with incorrect glyphs even when a font is present
3409         https://bugs.webkit.org/show_bug.cgi?id=76508
3410
3411         Reviewed by Kent Tamura.
3412
3413         Wrapped GetGlyphIndices() API calls so that when they failed we trigger font
3414         loading outside the sandbox and retry the call.
3415
3416         No new auto tests since the bug involves the system's occasional cache behavior
3417         and thus there's no reliable way to reproduce and test the situation.
3418
3419         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
3420         (WebCore::getGlyphIndices):
3421         GDI call wrapper ensuring fonts to be loaded.
3422         (WebCore::initSpaceGlyph):
3423         Changed to use the wrapper function.
3424         (WebCore::fillBMPGlyphs):
3425         Changed to use the wrapper function.
3426         Introduced scoped HDC management by HWndDC.
3427         (WebCore::GlyphPage::fill):
3428
3429 2012-01-19  Adam Barth  <abarth@webkit.org>
3430
3431         createAttributeNS should understand that "xmlns" is allowed in the http://www.w3.org/2000/xmlns/
3432         https://bugs.webkit.org/show_bug.cgi?id=76579
3433
3434         Reviewed by Eric Seidel.
3435
3436         This patch cleans up a tiny corner case involving the (somewhat
3437         magical) xmlns attribute that we uncovered when working on
3438         setAttributeNS.
3439
3440         Tests: fast/dom/Document/createAttributeNS-namespace-err.html
3441
3442         * dom/Document.cpp:
3443         (WebCore::Document::importNode):
3444         (WebCore::Document::hasValidNamespaceForElements):
3445         (WebCore::Document::hasValidNamespaceForAttributes):
3446         (WebCore::Document::createElementNS):
3447         (WebCore::Document::createAttributeNS):
3448         * dom/Document.h:
3449         * dom/Element.cpp:
3450         (WebCore::Element::setAttributeNS):
3451
3452 2012-01-19  Roland Steiner  <rolandsteiner@chromium.org>
3453
3454         Unreviewed build fix for DEBUG: remove comparison of an unsigned variable with '>= 0' in ASSERT.
3455
3456         No new tests. (no functionality change)
3457
3458         * webaudio/AudioNodeOutput.cpp:
3459         (WebCore::AudioNodeOutput::AudioNodeOutput):
3460
3461 2012-01-18  Li Yin  <li.yin@intel.com>
3462
3463         [v8] Low efficiency of writing long string from web application to plugin.
3464         https://bugs.webkit.org/show_bug.cgi?id=76592
3465