2011-02-15 Dirk Schulze <krit@webkit.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-15  Dirk Schulze  <krit@webkit.org>
2
3         Reviewed by Nikolas Zimmermann.
4
5         SVG animation doesn't support attribute value 'inherit'
6         https://bugs.webkit.org/show_bug.cgi?id=54410
7
8         SVG animation does not support 'inherit' as value for CSS property animations. With the patch, SVG determines
9         if the attribute of the target element is an animatable CSS Property and computes the style during the
10         animation.
11
12         This fixes the following tests on the W3C test suite:
13         * animate-elem-84-t.svg
14         * animate-elem-85-t.svg
15
16         Tests: svg/animations/animate-currentColor.html
17                svg/animations/animate-inherit-css-property.html
18
19         * svg/SVGAnimateElement.cpp:
20         (WebCore::adjustForCurrentColor):
21         (WebCore::adjustForInheritance):
22         (WebCore::SVGAnimateElement::calculateAnimatedValue): When a property value is 'inherit' or 'currentColor'
23         during the animation, get the computed style of the property since the values could be animated themselves.
24         (WebCore::inheritsFromProperty):
25         (WebCore::attributeValueIsCurrentColor):
26         (WebCore::SVGAnimateElement::calculateFromAndToValues): Check if 'from', 'by' or 'to' value has the
27         string 'inherit' or 'currentColor' and if the attribute supports one of these values.
28         (WebCore::SVGAnimateElement::calculateFromAndByValues): Ditto.
29         * svg/SVGAnimateElement.h:
30         * svg/SVGAnimationElement.cpp:
31         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Check if target element is stylable and
32         the attribute is an animatable CSS property by using the CSS property map in SVGStyledElement.
33         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): s/target/targetElement/ for consistency.
34         * svg/SVGAnimationElement.h:
35         * svg/SVGStyledElement.cpp: 
36         (WebCore::SVGStyledElement::isAnimatableCSSProperty): Checks if the CSS property is animatable.
37         * svg/SVGStyledElement.h:
38         * svg/animation/SMILTimeContainer.cpp: Use the new function isTargetAttributeCSSProperty to determine
39         if the target element is stylable and the attribute is an animatable CSS property.
40         (WebCore::SMILTimeContainer::baseValueFor):
41
42 2011-02-15  Antti Koivisto  <antti@apple.com>
43
44         Reviewed by Andreas Kling.
45
46         r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html
47         https://bugs.webkit.org/show_bug.cgi?id=54418
48         
49         Check for zero buffer length.
50
51         * platform/text/TextCodecUTF8.cpp:
52         (WebCore::TextCodecUTF8::decode):
53
54 2011-02-15  MORITA Hajime  <morrita@google.com>
55
56         Unreviewed build fix.
57
58         * page/EditorClient.h: Changed GrammarDetail forward declaration from class to struct.
59
60 2011-01-26  MORITA Hajime  <morrita@google.com>
61
62         Reviewed by Ryosuke Niwa.
63
64         Refactoring: Extract TextCheckerClient from EditorClient
65         https://bugs.webkit.org/show_bug.cgi?id=53213
66         
67         Created new abstract class TextCheckerClient. The class has
68         spellcheck related API which is split.
69         This is the first step for sharing spell-checking codebase
70         between ports. A standalone TextCheckerClient implementation
71         should be done in future changes.
72
73         No new tests. No behavioral change.
74
75         * GNUmakefile.am:
76         * WebCore.gypi:
77         * WebCore.pro:
78         * WebCore.vcproj/WebCore.vcproj:
79         * WebCore.xcodeproj/project.pbxproj:
80         * accessibility/mac/AccessibilityObjectWrapper.mm:
81         (AXAttributeStringSetSpelling):
82         * editing/Editor.cpp: Replacing some client() call with textChecker().
83         (WebCore::Editor::textChecker): Added.
84         (WebCore::Editor::ignoreSpelling):
85         (WebCore::Editor::learnSpelling):
86         (WebCore::Editor::isSelectionMisspelled):
87         (WebCore::Editor::guessesForMisspelledSelection):
88         (WebCore::Editor::markMisspellingsAfterTypingToWord):
89         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
90         (WebCore::Editor::correctionPanelTimerFired):
91         * editing/Editor.h:
92         * editing/SpellChecker.cpp:
93         (WebCore::SpellChecker::SpellChecker):
94         * editing/TextCheckingHelper.cpp: Replacing some client() call with textChecker().
95         (WebCore::TextCheckingHelper::findFirstMisspelling):
96         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
97         (WebCore::TextCheckingHelper::findFirstBadGrammar):
98         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
99         * loader/EmptyClients.h: Added EmptyTextCheckerClient.
100         (WebCore::EmptyTextCheckerClient::ignoreWordInSpellDocument):
101         (WebCore::EmptyTextCheckerClient::learnWord):
102         (WebCore::EmptyTextCheckerClient::checkSpellingOfString):
103         (WebCore::EmptyTextCheckerClient::getAutoCorrectSuggestionForMisspelledWord):
104         (WebCore::EmptyTextCheckerClient::checkGrammarOfString):
105         (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
106         (WebCore::EmptyTextCheckerClient::getGuessesForWord):
107         (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
108         (WebCore::EmptyEditorClient::textChecker):
109         * page/EditorClient.h: Extracted TextCheckerClient.
110         * page/Page.h:
111         * platform/text/TextCheckerClient.h: Added.
112         (WebCore::TextCheckerClient::~TextCheckerClient):
113
114 2011-02-07  Ryosuke Niwa  <rniwa@webkit.org>
115
116         Reviewed by Adam Barth.
117
118         Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
119         https://bugs.webkit.org/show_bug.cgi?id=52417
120
121         Added two callback functions, canCopyCut and canPaste to EditorClient. These functions
122         returns true iff the current frame should be able to copy/cut and paste respectively.
123         They take the default value determined by isDOMPasteAllowed and javaScriptCanAccessClipboard.
124
125         These callbacks allows embedders to decide whether or not copy/cut/paste should be enabled
126         per frame and thus per origin rather than per page.
127
128         No new tests are added since this is a WebKit/WebCore interface change.
129
130         * editing/EditorCommand.cpp:
131         (WebCore::supportedCopyCut): Calls canCopyCut.
132         (WebCore::supportedPaste): Calls canPaste.
133         * loader/EmptyClients.h:
134         (WebCore::EmptyEditorClient::canCopyCut): Added.
135         (WebCore::EmptyEditorClient::canPaste): Added.
136         * page/EditorClient.h:
137
138 2011-02-14  Jeremy Orlow  <jorlow@chromium.org>
139
140         efl build fix
141
142         * CMakeLists.txt:
143
144 2011-02-11  Jeremy Orlow  <jorlow@chromium.org>
145
146         Reviewed by Nate Chapin.
147
148         Finish up implementing the new event model in IndexedDB
149         https://bugs.webkit.org/show_bug.cgi?id=54331
150
151         We shouldn't have our own event subclasses. Instead, we
152         should just fire Event's with the proper type and bubble
153         settings. All the attributes on the events before should
154         just be on the request. IDBRequest should throw if they're
155         accessed before the success event fires.
156
157         * WebCore.gypi:
158         * bindings/generic/RuntimeEnabledFeatures.h:
159         * bindings/js/JSEventCustom.cpp:
160         (WebCore::toJS):
161         * bindings/v8/custom/V8EventCustom.cpp:
162         (WebCore::toV8):
163         * dom/Event.cpp:
164         * dom/Event.h:
165         * page/DOMWindow.idl:
166         * storage/IDBAbortEvent.h: Removed.
167         * storage/IDBCompleteEvent.cpp: Removed.
168         * storage/IDBCompleteEvent.h: Removed.
169         * storage/IDBDatabase.cpp:
170         (WebCore::IDBDatabase::~IDBDatabase):
171         * storage/IDBDatabaseException.h:
172         * storage/IDBDatabaseException.idl:
173         * storage/IDBErrorEvent.cpp: Removed.
174         * storage/IDBErrorEvent.h: Removed.
175         * storage/IDBErrorEvent.idl: Removed.
176         * storage/IDBEvent.h: Removed.
177         * storage/IDBEvent.idl: Removed.
178         * storage/IDBEventDispatcher.cpp:
179         (WebCore::IDBEventDispatcher::dispatch):
180         * storage/IDBRequest.cpp:
181         (WebCore::IDBRequest::IDBRequest):
182         (WebCore::IDBRequest::result):
183         (WebCore::IDBRequest::errorCode):
184         (WebCore::IDBRequest::webkitErrorMessage):
185         (WebCore::IDBRequest::source):
186         (WebCore::IDBRequest::transaction):
187         (WebCore::IDBRequest::readyState):
188         (WebCore::IDBRequest::resetReadyState):
189         (WebCore::IDBRequest::onError):
190         (WebCore::createSuccessEvent):
191         (WebCore::IDBRequest::onSuccess):
192         (WebCore::IDBRequest::dispatchEvent):
193         * storage/IDBRequest.h:
194         * storage/IDBRequest.idl:
195         * storage/IDBSuccessEvent.cpp: Removed.
196         * storage/IDBSuccessEvent.h: Removed.
197         * storage/IDBSuccessEvent.idl: Removed.
198         * storage/IDBTransaction.cpp:
199         (WebCore::IDBTransaction::onAbort):
200         (WebCore::IDBTransaction::onComplete):
201         (WebCore::IDBTransaction::dispatchEvent):
202
203 2011-02-14  Enrica Casucci  <enrica@apple.com>
204
205         Copy/paste from a WebKit window to a TextEdit window loses fonts.
206         <rdar://problem/8623090>
207         https://bugs.webkit.org/show_bug.cgi?id=54416
208         
209         Reviewed by Dan Bernstein.
210         
211         We don't have the complete solution that fixes this problem for WebKit2 yet.
212         This patch fixes the regression in WebKit.
213
214         * platform/mac/PasteboardMac.mm:
215         (WebCore::Pasteboard::writeSelection): For WebKit2 use only plain text,
216         for WebKit use the original API to create the NSAttributedString.
217
218 2011-02-14  Levi Weintraub  <leviw@chromium.org>
219
220         Reviewed by Alexey Proskuryakov.
221
222         Strikethrough disappears when posting a message on odnoklassniki.ru
223         https://bugs.webkit.org/show_bug.cgi?id=53475
224
225         Changing the behavior of the strikethrough execCommand when styleWithCSS
226         is false. We formerly created <s> tags, which was different than both IE
227         and FF and caused problems with some rich text editors that would strip
228         out unexpected tags such as <s>.
229
230         Test: editing/execCommand/strikethrough-uses-strike-tag.html
231
232         * editing/ApplyStyleCommand.cpp:
233         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
234
235 2011-02-14  Pratik Solanki  <psolanki@apple.com>
236
237         Remove dead code in FormDataStreamCFNet.cpp
238         https://bugs.webkit.org/show_bug.cgi?id=54401
239
240         Reviewed by Darin Adler.
241
242         The static functions in this file are no longer reachable. We added a conditional branch to
243         use new CFNetwork functions in r30329 and later made that code path permanent in r41517
244         which made these functions unreachable.
245
246         * platform/network/cf/FormDataStreamCFNet.cpp:
247
248 2011-02-14  Andreas Kling  <kling@webkit.org>
249
250         Reviewed by Darin Adler.
251
252         GraphicsContext: Add clip(IntRect) overload for Qt
253         https://bugs.webkit.org/show_bug.cgi?id=54365
254
255         Qt has special code paths for clipping to integer rectangles.
256         Add a GraphicsContext::clip() overload to allow us to take
257         advantage of the optimized code.
258
259         * platform/graphics/GraphicsContext.cpp:
260         (WebCore::GraphicsContext::clip):
261         * platform/graphics/GraphicsContext.h:
262         * platform/graphics/qt/GraphicsContextQt.cpp:
263         (WebCore::GraphicsContext::clip):
264
265 2011-02-14  Darin Adler  <darin@apple.com>
266
267         Reviewed by Alexey Proskuryakov.
268
269         Add built-in decoder for UTF-8 for improved performance
270         https://bugs.webkit.org/show_bug.cgi?id=53898
271
272         Covered by existing tests; not adding new tests at this time.
273
274         This patch now handles errors in the same way the existing codecs do,
275         and so passes our tests. The first version failed some tests because
276         of incorrect error handling. The second version was missing one line
277         of code that made it decode incomplete sequences at the end of the
278         buffer twice.
279
280         * platform/text/TextCodecICU.cpp:
281         (WebCore::create): Renamed from newTextCodecICU, made a static member
282         function, and added a call to adoptPtr.
283         (WebCore::TextCodecICU::registerEncodingNames): Renamed from
284         registerExtendedEncodingNames since this class is no longer used for
285         base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
286         (WebCore::TextCodecICU::registerCodecs): Renamed.
287         (WebCore::fallbackForGBK): Renamed to conform to our current style.
288
289         * platform/text/TextCodecICU.h: Updated for above changes. Changed
290         indentation. Made most functions private, including virtual function
291         overrides. Marked ICUConverterWrapper noncopyable.
292
293         * platform/text/TextCodecUTF8.cpp:
294         (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
295         that were formerly added by TextCodecICU.
296         (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
297         bytes F5-FF instead of failing.
298         (WebCore::decodeNonASCIISequence): Tweaked coding style.
299         (WebCore::appendCharacter): Added. Makes it easier to share code between
300         the partial-character handling and main loop.
301         (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
302         where there is a partial sequence. Fixed partial sequence handling so that
303         goto is no longer needed, since compilers sometimes make poor code when
304         goto is involved. Added a loop for partial sequences since we consume only
305         one byte when a partial sequence is invalid. Fixed logic in main decoding
306         loop so goto is not needed. Used early-exit style in both loops so the main
307         flow is not nested inside if statements. Added correct error handling for
308         flush when a partial sequence remains, which involved wrapping the function
309         in yet another loop.
310
311         * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
312
313         * platform/text/TextEncodingRegistry.cpp:
314         (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
315         calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
316         to be included here.
317         (WebCore::extendTextCodecMaps): Updated for the name change of the
318         TextCodecICU functions.
319
320 2011-02-14  Adam Barth  <abarth@webkit.org>
321
322         Reviewed by Eric Seidel.
323
324         Add basic parser for Content Security Policy
325         https://bugs.webkit.org/show_bug.cgi?id=54379
326
327         The parser in this patch is very basic.  It just segments the CSP
328         header into directives.  The exactly syntax will likely change a bit as
329         we discuss the details in public-web-security, but this parser will
330         allow us to make progress.
331
332         Sadly, this patch does not contain any tests.  That's because CSP
333         policies do not have any observable effects yet.  Hopefully we'll get
334         enough sketched out in the next couple patches to begin writing tests.
335
336         * page/ContentSecurityPolicy.cpp:
337         (WebCore::CSPDirective::CSPDirective):
338         (WebCore::CSPDirective::name):
339         (WebCore::CSPDirective::value):
340         (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
341         (WebCore::ContentSecurityPolicy::didReceiveHeader):
342         (WebCore::ContentSecurityPolicy::parse):
343         * page/ContentSecurityPolicy.h:
344
345 2011-02-14  Andrew Wason  <rectalogic@rectalogic.com>
346
347         Reviewed by Kenneth Russell.
348
349         [Qt] WebKit fails to compile for Qt when WebGL enabled
350         https://bugs.webkit.org/show_bug.cgi?id=53431
351
352         No new tests.
353
354         * WebCore.pro:
355           Add source and header files and include directory to Qt project.
356         * html/canvas/WebGLRenderingContext.cpp:
357           File uses 'emit' which is a Qt keyword - #undef emit.
358         * platform/graphics/gpu/qt: Added.
359         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: Added.
360           Partial implementation of DrawingBuffer for Qt.
361         (WebCore::DrawingBuffer::DrawingBuffer):
362         (WebCore::DrawingBuffer::~DrawingBuffer):
363         (WebCore::DrawingBuffer::didReset):
364         (WebCore::DrawingBuffer::platformLayer):
365         (WebCore::DrawingBuffer::platformColorBuffer):
366         * platform/graphics/qt/Extensions3DQt.cpp:
367           Noop implementation for pure virtual methods added to Extensions3D.h
368         (WebCore::Extensions3DQt::blitFramebuffer):
369         (WebCore::Extensions3DQt::renderbufferStorageMultisample):
370         * platform/graphics/qt/Extensions3DQt.h:
371           Declare new methods added to Extensions3D.h
372         * platform/graphics/qt/GraphicsContext3DQt.cpp:
373           Remove method implementations no longer in GraphicsContext3D.h.
374           Change m_syntheticErrors to use unsigned int to match new
375           GC3Denum type.
376         (WebCore::GraphicsContext3D::create):
377          Change return type to match GraphicsContext3D.h
378         (WebCore::GraphicsContext3D::lineWidth):
379          Change argument type to GC3Dfloat to match GraphicsContext3D.h
380         (WebCore::GraphicsContext3D::getUniformLocation):
381          Change return type to GC3Dfloat to match GraphicsContext3D.h
382         (WebCore::GraphicsContext3D::getExtensions):
383          Need to call get() on OwnPtr.
384         (WebCore::GraphicsContext3D::getImageData):
385          Rename enum values to match declarations in GraphicsContext3D.h
386
387 2011-02-14  Tony Chang  <tony@chromium.org>
388
389         Reviewed by Dimitri Glazkov.
390
391         <select> elements don't honor border:0px in chromium-linux
392         https://bugs.webkit.org/show_bug.cgi?id=51152
393
394         No new tests, covered by existing pixel results (fast/forms/basic-selects.html
395         convers lots of cases).
396
397         * css/themeChromiumLinux.css:
398         (select):
399         * platform/chromium/PlatformBridge.h:
400         * rendering/RenderThemeChromiumLinux.cpp:
401         (WebCore::RenderThemeChromiumLinux::paintButton):
402         (WebCore::RenderThemeChromiumLinux::paintMenuList):
403           match border logic in RenderThemeChromiumWin.cpp:
404           http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp#L463
405
406 2011-02-14  Xiaomei Ji  <xji@chromium.org>
407
408         Reviewed by Dan Bernstein.
409
410         Fix rendering of ISO-8859-8 when dir="rtl".
411         https://bugs.webkit.org/show_bug.cgi?id=52128
412
413         Test: fast/text/international/iso-8859-8.html
414
415         * platform/text/BidiResolver.h: Add VisualDirectionOverride enum.
416         (WebCore::::createBidiRunsForLine): For lines with visual direction override,
417         create bidi runs without resolving bidi levels (one run per render object), 
418         set bidi level as 0 or 1 depending on LTR or RTL override, 
419         and reverse runs for RTL override.
420         * rendering/RenderBlockLineLayout.cpp:
421         (WebCore::RenderBlock::constructLine): Set inline box bidi level the same as
422         BidiRun's bidi level without special handling of VisualDirectionOverride.
423         (WebCore::RenderBlock::layoutInlineChildren): Pass in VisualDirectionOverride 
424         to createBidiRunsForLine().
425
426 2011-02-14  Alexis Menard  <alexis.menard@nokia.com>
427
428         Reviewed by Andreas Kling.
429
430         [Qt] Crash on application exit after constructing and destroying a QWebView twice
431         https://bugs.webkit.org/show_bug.cgi?id=54000
432
433         Check the value is valid before use it.
434
435         * platform/qt/SharedTimerQt.cpp:
436         (WebCore::SharedTimerQt::~SharedTimerQt):
437
438 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
439
440         Reviewed by Yury Semikhatsky.
441
442         Web Inspector: 304 Not Modified responses have a yellow icon in Web Inspector Resources panel
443         https://bugs.webkit.org/show_bug.cgi?id=33220
444
445         * inspector/front-end/ResourceHeadersView.js:
446         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
447
448 2011-02-14  Adrienne Walker  <enne@google.com>
449
450         Reviewed by James Robinson.
451
452         [chromium] Modify LayerTilerChromium to use TilingData.
453         https://bugs.webkit.org/show_bug.cgi?id=54143
454
455         Most of the previous data in LayerTilerChromium is now calculated
456         from TilingData.  TilingData was modified to allow for a dynamic
457         tile size and page size.  LayerTilerChromium also gets its own
458         shader with a texture transform to handle drawing from a texture
459         that is larger than a tile.
460
461         * platform/graphics/chromium/LayerChromium.h:
462         * platform/graphics/chromium/LayerRendererChromium.cpp:
463         (WebCore::LayerRendererChromium::LayerRendererChromium):
464         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
465         (WebCore::LayerRendererChromium::initializeSharedObjects):
466         (WebCore::LayerRendererChromium::cleanupSharedObjects):
467         * platform/graphics/chromium/LayerRendererChromium.h:
468         (WebCore::LayerRendererChromium::tilerSharedValues):
469         * platform/graphics/chromium/LayerTilerChromium.cpp:
470         (WebCore::LayerTilerChromium::create):
471         (WebCore::LayerTilerChromium::LayerTilerChromium):
472         (WebCore::LayerTilerChromium::setTileSize):
473         (WebCore::LayerTilerChromium::reset):
474         (WebCore::LayerTilerChromium::contentRectToTileIndices):
475         (WebCore::LayerTilerChromium::tileIndex):
476         (WebCore::LayerTilerChromium::tileContentRect):
477         (WebCore::LayerTilerChromium::tileLayerRect):
478         (WebCore::LayerTilerChromium::layerSize):
479         (WebCore::LayerTilerChromium::layerTileSize):
480         (WebCore::LayerTilerChromium::invalidateEntireLayer):
481         (WebCore::LayerTilerChromium::draw):
482         (WebCore::LayerTilerChromium::resizeLayer):
483         (WebCore::LayerTilerChromium::growLayerToContain):
484         (WebCore::LayerTilerChromium::drawTexturedQuad):
485         (WebCore::LayerTilerChromium::SharedValues::SharedValues):
486         (WebCore::LayerTilerChromium::SharedValues::~SharedValues):
487         * platform/graphics/chromium/LayerTilerChromium.h:
488         (WebCore::LayerTilerChromium::SharedValues::tilerShaderProgram):
489         (WebCore::LayerTilerChromium::SharedValues::shaderSamplerLocation):
490         (WebCore::LayerTilerChromium::SharedValues::shaderMatrixLocation):
491         (WebCore::LayerTilerChromium::SharedValues::shaderAlphaLocation):
492         (WebCore::LayerTilerChromium::SharedValues::shaderTexTransformLocation):
493         (WebCore::LayerTilerChromium::SharedValues::initialized):
494         * platform/graphics/gpu/TilingData.cpp:
495         (WebCore::computeNumTiles):
496         (WebCore::TilingData::TilingData):
497         (WebCore::TilingData::setTotalSize):
498         (WebCore::TilingData::setMaxTextureSize):
499         (WebCore::TilingData::tileSizeX):
500         (WebCore::TilingData::tileSizeY):
501         (WebCore::TilingData::textureOffset):
502         (WebCore::TilingData::recomputeNumTiles):
503         * platform/graphics/gpu/TilingData.h:
504
505 2011-02-14  Andrey Adaikin  <aandrey@google.com>
506
507         Reviewed by Pavel Feldman.
508
509         Web Inspector: [Text editor] First implementation of the editable TextViewer without optimization
510         https://bugs.webkit.org/show_bug.cgi?id=54388
511
512         * inspector/front-end/TextViewer.js:
513         (WebInspector.TextViewer.prototype.set readOnly):
514         (WebInspector.TextEditorChunkedPanel):
515         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
516         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
517         (WebInspector.TextEditorChunkedPanel.prototype.beginDomUpdates):
518         (WebInspector.TextEditorChunkedPanel.prototype.endDomUpdates):
519         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
520         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
521         (WebInspector.TextEditorMainPanel):
522         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
523         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
524         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
525         (WebInspector.TextEditorMainPanel.prototype._paintLine):
526         (WebInspector.TextEditorMainPanel.prototype.textChanged):
527         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates.return):
528         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
529         (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
530         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
531         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
532         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
533         (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
534         (WebInspector.TextEditorMainChunk.prototype.set expanded):
535
536 2011-02-14  Pavel Podivilov  <podivilov@chromium.org>
537
538         Reviewed by Yury Semikhatsky.
539
540         Web Inspector: use call frame column to determine execution line in source frame.
541         https://bugs.webkit.org/show_bug.cgi?id=54001
542
543         - Make call frame line and column zero based
544         - Set execution line in source frame based on call frame line:column
545         - Determine currently hit breakpoint based on call frame line:column
546
547         * bindings/js/JavaScriptCallFrame.cpp:
548         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
549         * bindings/js/JavaScriptCallFrame.h:
550         (WebCore::JavaScriptCallFrame::create):
551         (WebCore::JavaScriptCallFrame::line):
552         (WebCore::JavaScriptCallFrame::column):
553         (WebCore::JavaScriptCallFrame::update):
554         * bindings/js/ScriptDebugServer.cpp:
555         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
556         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
557         * bindings/v8/DebuggerScript.js:
558         ():
559         * inspector/front-end/BreakpointsSidebarPane.js:
560         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
561         * inspector/front-end/CallStackSidebarPane.js:
562         (WebInspector.CallStackSidebarPane.prototype.update):
563         * inspector/front-end/DebuggerModel.js:
564         (WebInspector.DebuggerModel.prototype.continueToLocation):
565         (WebInspector.DebuggerModel.prototype._pausedScript):
566         (WebInspector.DebuggerModel.prototype._breakpointForCallFrame):
567         * inspector/front-end/ScriptsPanel.js:
568         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
569         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
570         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
571         * inspector/front-end/SourceFrame.js:
572         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
573         (WebInspector.SourceFrame.prototype.setExecutionLocation):
574         (WebInspector.SourceFrame.prototype.clearExecutionLocation):
575         (WebInspector.SourceFrame.prototype._setExecutionLocation):
576         (WebInspector.SourceFrame.prototype._breakpointAdded):
577         (WebInspector.SourceFrame.prototype._continueToLine):
578         (WebInspector.SourceFrame.prototype._originalLocationToTextViewerLineNumber):
579
580 2011-02-14  Christian Dywan  <christian@lanedo.com>
581
582         Reviewed by Gustavo Noronha Silva.
583
584         Regression: Back, Forward, Reload hidden in context menu
585         https://bugs.webkit.org/show_bug.cgi?id=54393
586
587         * page/ContextMenuController.cpp: Always show Back, Forward,
588             Reload and Stop context menu items for the GTK+ port.
589
590 2011-02-14  Johnny Ding  <jnd@chromium.org>
591
592         Reviewed by Andreas Kling.
593
594         Move the finiteness check into common code.
595
596         Test covered by canvas/philip/tests/2d.path.isPointInPath.nonfinite.html
597
598         * html/canvas/CanvasRenderingContext2D.cpp:
599         (WebCore::CanvasRenderingContext2D::isPointInPath):
600
601 2011-02-14  Roland Steiner  <rolandsteiner@chromium.org>
602
603         Reviewed by Kent Tamura.
604
605         Bug 54377 - Clean up RenderTextControlSingleLine::createSubtreeIfNeeded()
606         https://bugs.webkit.org/show_bug.cgi?id=54377
607
608         Rearranged the condition blocks, removed superfluous conditions:
609         .) if-statements where it's already clear that a search field is being generated
610         .) testing for spin-buttons on field types that can never have them.
611
612         createInnerBlockStyle(): only search fields create an inner block, and
613         these can never have spin buttons.
614
615         No new tests. (Refactoring - covered by existing tests)
616
617         * rendering/RenderTextControlSingleLine.cpp:
618         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
619         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
620
621 2011-02-10  Pavel Podivilov  <podivilov@chromium.org>
622
623         Reviewed by Yury Semikhatsky.
624
625         Web Inspector: refactoring, extract SourceMapping from SourceFrameContent.
626         https://bugs.webkit.org/show_bug.cgi?id=54195
627
628         Add SourceMapping interface with two implementations - IdenticalSourceMapping and SourceMappingForFormattedScript.
629         Rewrite SourceFrameContent based on SourceMapping. Make SourceFrame unaware of source mapping details.
630
631         * inspector/front-end/ResourceView.js:
632         (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
633         * inspector/front-end/ScriptFormatter.js:
634         (WebInspector.ScriptFormatter.locationToPosition):
635         (WebInspector.ScriptFormatter.positionToLocation):
636         (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
637         (WebInspector.ScriptFormatter.prototype.formatContent):
638         (WebInspector.ScriptFormatter.prototype._splitContentIntoChunks):
639         (WebInspector.SourceMappingForFormattedScript):
640         (WebInspector.SourceMappingForFormattedScript.prototype.fromScriptLocation):
641         (WebInspector.SourceMappingForFormattedScript.prototype.toScriptLocation):
642         (WebInspector.SourceMappingForFormattedScript.prototype.originalPositionToFormattedLocation):
643         (WebInspector.SourceMappingForFormattedScript.prototype._convertPosition):
644         * inspector/front-end/ScriptsPanel.js:
645         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
646         * inspector/front-end/SourceFrame.js:
647         (WebInspector.SourceFrame.prototype._createTextViewer):
648         (WebInspector.SourceFrame.prototype._shouldDisplayBreakpoint):
649         (WebInspector.SourceFrame.prototype.setExecutionLine):
650         (WebInspector.SourceFrame.prototype.clearExecutionLine):
651         (WebInspector.SourceFrame.prototype._breakpointAdded):
652         (WebInspector.SourceFrame.prototype.formatSource.didFormat):
653         (WebInspector.SourceFrame.prototype.formatSource):
654         (WebInspector.SourceFrame.prototype._continueToLine):
655         (WebInspector.SourceFrame.prototype._setBreakpoint):
656         (WebInspector.SourceFrame.prototype._findBreakpoint):
657         (WebInspector.SourceFrameContentProvider.prototype.requestContent):
658         * inspector/front-end/SourceFrameContent.js:
659         (WebInspector.SourceFrameContent):
660         (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToScriptLocation):
661         (WebInspector.SourceFrameContent.prototype.scriptLocationToSourceFrameLineNumber):
662         (WebInspector.SourceFrameContent.prototype._sourceIDForSourceFrameLineNumber):
663         (WebInspector.SourceMapping):
664         (WebInspector.SourceMapping.prototype.fromScriptLocation):
665         (WebInspector.SourceMapping.prototype.toScriptLocation):
666         (WebInspector.IdenticalSourceMapping):
667         (WebInspector.IdenticalSourceMapping.prototype.fromScriptLocation):
668         (WebInspector.IdenticalSourceMapping.prototype.toScriptLocation):
669         * inspector/front-end/utilities.js:
670         (String.prototype.lineEndings):
671
672 2011-02-14  Pavel Feldman  <pfeldman@chromium.org>
673
674         Reviewed by Yury Semikhatsky.
675
676         Web Inspector: [REGRESSION introduced in r77950] Develop -> Start Debugging JavaScript does not open Web Inspector.
677         https://bugs.webkit.org/show_bug.cgi?id=54277
678
679         * inspector/InspectorAgent.cpp:
680         (WebCore::InspectorAgent::populateScriptObjects):
681         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
682         (WebCore::InspectorAgent::showAndEnableDebugger):
683         (WebCore::InspectorAgent::showPanel):
684         * inspector/InspectorAgent.h:
685         * inspector/InspectorController.cpp:
686         (WebCore::InspectorController::showAndEnableDebugger):
687         (WebCore::InspectorController::stopUserInitiatedProfiling):
688
689 2011-02-14  Kenichi Ishibashi  <bashi@chromium.org>
690
691         Reviewed by Andreas Kling.
692
693         css style="max-width:none" works wrong
694         https://bugs.webkit.org/show_bug.cgi?id=53743
695
696         Fix a bug that "max-width:none" works wrong.
697         See also: http://trac.webkit.org/changeset/13462
698
699         Test: fast/css/max-width-none.html
700
701         * css/CSSStyleSelector.cpp:
702         (WebCore::CSSStyleSelector::applyProperty): For max-width of none,
703         set it to Length(undefinedLength, Fixed), which is the correct
704         value.
705
706 2011-02-14  Antti Koivisto  <antti@apple.com>
707
708         Reviewed by Andreas Kling.
709
710         REGRESSION (r77834): Assertion failing in svg/custom/use-multiple-on-nested-disallowed-font.svg
711         https://bugs.webkit.org/show_bug.cgi?id=54344
712         
713         Intead of recomputing, just mark style selector dirty if it is invalidated in the middle of a style recalc.
714
715         * dom/Document.cpp:
716         (WebCore::Document::Document):
717         (WebCore::Document::recalcStyle):
718         (WebCore::Document::recalcStyleSelector):
719         * dom/Document.h:
720
721 2011-02-14  Naoki Takano  <takano.naoki@gmail.com>
722
723         Reviewed by Kent Tamura.
724
725         [Chromium] Fix wrong popup position for RTL(again)
726         https://bugs.webkit.org/show_bug.cgi?id=54375
727
728         Fix right position bug introduce by https://bugs.webkit.org/show_bug.cgi?id=53567, because the previous fix was correct for the current behaviour, but not good for http://crbug.com/60427. To calculate the correct right offset value and apply to the position, change WebCore::PopupContainer::layout() to return right offset value and use the returned value to calculate position.
729
730         No new tests. However we can check manually with select_dropdown_box_alignment.html, autofill_alignment.html, select_alignment.html, select_dropdown_box_alignment.html, autofill-popup-width-and-item-direction.html
731
732         * platform/chromium/PopupMenuChromium.cpp:
733         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Change the input parameter to take popupInitialCoordinate again. And calculate correct right position with returned right offset from layoutAndGetRightOffset().
734         (WebCore::PopupContainer::showPopup): Change the passing parameter to layoutAndCalculateWidgetRect().
735         (WebCore::PopupContainer::layoutAndGetRightOffset): Change the name from layout() and to return rightOffset value.
736         (WebCore::PopupContainer::refresh): Change the passing parameter to layoutAndCalculateWidgetRect().
737         * platform/chromium/PopupMenuChromium.h: Change the function name and parameters.
738
739 2011-02-14  Alejandro G. Castro  <alex@igalia.com>
740
741         Unreviewed, rolling out r78451.
742         http://trac.webkit.org/changeset/78451
743         https://bugs.webkit.org/show_bug.cgi?id=53898
744
745         It is causing crashes in some bots
746
747         * platform/text/TextCodecICU.cpp:
748         (WebCore::newTextCodecICU):
749         (WebCore::TextCodecICU::registerBaseEncodingNames):
750         (WebCore::TextCodecICU::registerBaseCodecs):
751         (WebCore::TextCodecICU::registerExtendedEncodingNames):
752         (WebCore::TextCodecICU::registerExtendedCodecs):
753         (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter):
754         (WebCore::getGbkEscape):
755         (WebCore::urlEscapedEntityCallback):
756         (WebCore::gbkCallbackEscape):
757         (WebCore::gbkUrlEscapedEntityCallack):
758         (WebCore::gbkCallbackSubstitute):
759         * platform/text/TextCodecICU.h:
760         (WebCore::ICUConverterWrapper::ICUConverterWrapper):
761         * platform/text/TextCodecUTF8.cpp:
762         (WebCore::TextCodecUTF8::registerEncodingNames):
763         (WebCore::nonASCIISequenceLength):
764         (WebCore::decodeNonASCIISequence):
765         (WebCore::TextCodecUTF8::decode):
766         * platform/text/TextCodecUTF8.h:
767         * platform/text/TextEncodingRegistry.cpp:
768         (WebCore::buildBaseTextCodecMaps):
769         (WebCore::extendTextCodecMaps):
770
771 2011-02-13  Antti Koivisto  <antti@apple.com>
772
773         Reviewed by Dan Bernstein.
774
775         https://bugs.webkit.org/show_bug.cgi?id=54376
776         Make sorting of matched rules faster
777         
778         - use std::sort
779         - cache specificity, it is slow to compute
780         - inline compare function
781
782         * css/CSSStyleSelector.cpp:
783         (WebCore::RuleData::specificity):
784         (WebCore::CSSStyleSelector::matchRules):
785         (WebCore::compareRules):
786         (WebCore::CSSStyleSelector::sortMatchedRules):
787         (WebCore::RuleData::RuleData):
788         (WebCore::CSSStyleSelector::matchPageRules):
789         * css/CSSStyleSelector.h:
790
791 2011-02-12  Darin Adler  <darin@apple.com>
792
793         Reviewed by Alexey Proskuryakov.
794
795         Add built-in decoder for UTF-8 for improved performance
796         https://bugs.webkit.org/show_bug.cgi?id=53898
797
798         Covered by existing tests; not adding new tests at this time.
799
800         This patch now handles errors in the same way the existing codecs do,
801         and so passes our tests. The previous version failed some tests because
802         of incorrect error handling.
803
804         * platform/text/TextCodecICU.cpp:
805         (WebCore::create): Renamed from newTextCodecICU, made a static member
806         function, and added a call to adoptPtr.
807         (WebCore::TextCodecICU::registerEncodingNames): Renamed from
808         registerExtendedEncodingNames since this class is no longer used for
809         base codecs. Removed aliases for UTF-8; now handled by TextCodecUTF8.
810         (WebCore::TextCodecICU::registerCodecs): Renamed.
811         (WebCore::fallbackForGBK): Renamed to conform to our current style.
812
813         * platform/text/TextCodecICU.h: Updated for above changes. Changed
814         indentation. Made most functions private, including virtual function
815         overrides. Marked ICUConverterWrapper noncopyable.
816
817         * platform/text/TextCodecUTF8.cpp:
818         (WebCore::TextCodecUTF8::registerEncodingNames): Added the UTF-8 aliases
819         that were formerly added by TextCodecICU.
820         (WebCore::nonASCIISequenceLength): Fixed bug where this would return 4 for
821         bytes F5-FF instead of failing.
822         (WebCore::decodeNonASCIISequence): Tweaked coding style.
823         (WebCore::appendCharacter): Added. Makes it easier to share code between
824         the partial-character handling and main loop.
825         (WebCore::TextCodecUTF8::decode): Fixed buffer size computation for case
826         where there is a partial sequence. Fixed partial sequence handling so that
827         goto is no longer needed, since compilers sometimes make poor code when
828         goto is involved. Added a loop for partial sequences since we consume only
829         one byte when a partial sequence is invalid. Fixed logic in main decoding
830         loop so goto is not needed. Used early-exit style in both loops so the main
831         flow is not nested inside if statements. Added correct error handling for
832         flush when a partial sequence remains, which involved wrapping the function
833         in yet another loop.
834
835         * platform/text/TextCodecUTF8.h: Made virtual function overrides private.
836
837         * platform/text/TextEncodingRegistry.cpp:
838         (WebCore::buildBaseTextCodecMaps): Added calls to TextCodecUTF8. Removed
839         calls to TextCodecICU. Added FIXMEs for other codecs that no longer need
840         to be included here.
841         (WebCore::extendTextCodecMaps): Updated for the name change of the
842         TextCodecICU functions.
843
844 2011-02-13  Mark Rowe  <mrowe@apple.com>
845
846         Reviewed by Maciej Stachowiak.
847
848         <rdar://problem/8995490> WebCoreAuthenticationClientAsChallengeSender doesn't implement some necessary methods.
849
850         * platform/network/mac/AuthenticationMac.mm:
851         (-[WebCoreAuthenticationClientAsChallengeSender performDefaultHandlingForAuthenticationChallenge:]):
852         (-[WebCoreAuthenticationClientAsChallengeSender rejectProtectionSpaceAndContinueWithChallenge:]):
853
854 2011-02-13  Simon Fraser  <simon.fraser@apple.com>
855
856         Reviewed by Andreas Kling.
857
858         Repeating gradients drawn incorrectly
859         https://bugs.webkit.org/show_bug.cgi?id=53502
860         
861         The 'forward-fill' logic for repeating gradients used the wrong
862         starting stop index (0 rather than the original first index), which
863         resulted in incorrect gradients if backwards-fill had already been
864         applied.
865
866         Test: fast/gradients/css3-repeating-end-fill.html
867
868         * css/CSSGradientValue.cpp:
869         (WebCore::CSSGradientValue::addStops):
870
871 2011-02-13  Benjamin Poulain  <benjamin.poulain@nokia.com>
872
873         Reviewed by Andreas Kling.
874
875         Unused variable result in RenderBlock::addOverflowFromFloats()
876         https://bugs.webkit.org/show_bug.cgi?id=54363
877
878         Remove the unused variable.
879
880         * rendering/RenderBlock.cpp:
881         (WebCore::RenderBlock::addOverflowFromFloats):
882
883 2011-02-13  Cameron Zwarich  <zwarich@apple.com>
884
885         Reviewed by Anders Carlsson.
886
887         WebCore fails to build with Clang's -Woverloaded-virtual
888         https://bugs.webkit.org/show_bug.cgi?id=54367
889
890         * loader/PingLoader.h:
891         (WebCore::PingLoader::didReceiveData): Change the method signature to match the signature
892         in the base class.
893
894 2011-02-13  Nico Weber  <thakis@chromium.org>
895
896         Reviewed by Anders Carlsson.
897
898         RenderBR::width() tries but fails to override RenderText::width()
899         https://bugs.webkit.org/show_bug.cgi?id=54301
900
901         The superclass method's signature changed, e.g. in
902         http://trac.webkit.org/changeset/57215, but the subclass was not
903         updated.
904
905         * rendering/RenderBR.h:
906         (WebCore::RenderBR::width):
907
908 2011-02-13  Andreas Kling  <kling@webkit.org>
909
910         Reviewed by Dirk Schulze.
911
912         Canvas: 2d.fillStyle.parse.system.html fails
913         https://bugs.webkit.org/show_bug.cgi?id=39168
914
915         Based on previous work by Julien Chaffraix <jchaffraix@codeaurora.org>
916         and Jan Erik Hanssen <jhanssen@sencha.com>
917
918         * css/CSSParser.cpp:
919         (WebCore::CSSParser::parseColor): Changed the function to better match our
920         early return policy. Also we now return false when we don't parse the color.
921         This is needed for createFromString to fallback to using parseSystemColor.
922
923         (WebCore::CSSParser::parseSystemColor): Made use of the RenderTheme to get
924         the system colors.
925
926         * css/CSSParser.h: Added the new parseSystemColor method.
927
928         * html/canvas/CanvasRenderingContext2D.cpp:
929         (WebCore::CanvasRenderingContext2D::setStrokeColor): Pass the document to createFromString.
930         (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
931
932         * html/canvas/CanvasStyle.cpp:
933         (WebCore::parseColor):
934         (WebCore::parseColorOrCurrentColor):
935         (WebCore::CanvasStyle::createFromString): Try to parse the color using CSSParser::parseColor
936         and fall back to parseSystemColor if it did not work.
937
938         * html/canvas/CanvasStyle.h: Added the new Document* parameter to createFromString.
939
940 2011-02-13  Jeremy Moskovich  <jeremy@chromium.org>
941
942         Reviewed by Adam Barth.
943
944         Add a compile-time option to completely disable WebArchive support.
945         https://bugs.webkit.org/show_bug.cgi?id=52712
946
947         Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
948
949         ArchiveResource and ArchiveResourceCollection are notably still compiled in. They are used
950         in Safari for functionality such as "Save Image As" and Image copy & paste independent of
951         WebArchive support.
952
953         Ports Affected:
954             WebArchive support is currently enabled for all ports that define PLATFORM(CF) apart from Qt.
955             This patch preserves this behavior except that it also disables support in the Chromium port.
956
957         No behavior changes so no new tests.
958
959         * WebCore.gyp/WebCore.gyp: Don't compile LegacyWebArchive.cpp and friends.
960         * WebCore.pro: Don't compile ArchiveFactory.cpp in Qt port.
961         * loader/DocumentLoader.cpp: Surround WebArchive code with #ifdef.
962         (WebCore::DocumentLoader::commitLoad):
963         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
964         (WebCore::DocumentLoader::archiveResourceForURL):
965         * loader/DocumentLoader.h:
966         * loader/FrameLoader.cpp:
967         (WebCore::FrameLoader::loadURLIntoChildFrame):
968         (WebCore::FrameLoader::stopAllLoaders):
969         (WebCore::FrameLoader::finishedLoadingDocument):
970         * loader/FrameLoader.h:
971         * loader/ResourceLoader.cpp:
972         (WebCore::ResourceLoader::start):
973         * loader/archive/ArchiveFactory.cpp: Remove #ifdef since feature is now enabled/disabled wholesale.
974         (WebCore::archiveMIMETypes):
975         * page/Settings.cpp:
976         * page/Settings.h:
977         * platform/MIMETypeRegistry.cpp:
978         (WebCore::initializeSupportedNonImageMimeTypes):
979
980 2011-02-13  Aparna Nandyal  <aparna.nand@wipro.com>
981
982         Reviewed by Andreas Kling.
983
984         [Qt] QtWebKit does not properly handle D&D of a percent-encoded URL.
985         https://bugs.webkit.org/show_bug.cgi?id=53320
986
987         The encoding that was done is corrected in the fix.  
988         Replaced the KURL encoding function with QUrl API.
989
990         * platform/qt/DragDataQt.cpp:
991         (WebCore::DragData::asURL):
992
993 2011-02-13  Leo Yang  <leo.yang.c@gmail.com>
994
995         Reviewed by Andreas Kling.
996
997         Unnecessary call of containingBlock() in RenderBoxModelObject::relativePositionOffsetX()
998         https://bugs.webkit.org/show_bug.cgi?id=54351
999
1000         We were calling containingBlock() twice if the left is not auto. We only need to call it
1001         once because we can use 'cb' variable in the following line.
1002
1003         No functionality change, no new tests.
1004
1005         * rendering/RenderBoxModelObject.cpp:
1006         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
1007
1008 2011-02-13  Jarred Nicholls  <jarred@sencha.com>
1009
1010         Reviewed by Simon Fraser.
1011
1012         getComputedStyle returns wrong value for margin-right
1013         https://bugs.webkit.org/show_bug.cgi?id=13343
1014         
1015         Matching IE, Firefox, and Opera behavior by returning the computed margin
1016         values as specified, rather than the used/auto values (calculated via RenderBox).
1017         Also CSS 2.1+ compliant by returning margin percentage as specified, if applicable.
1018         Note: Firefox and Opera return calculated fixed lengths for percentage margins, IE
1019         returns the specified percentage.
1020
1021         Tests: fast/css/getComputedStyle/getComputedStyle-margin-auto.html
1022                fast/css/getComputedStyle/getComputedStyle-margin-length.html
1023                fast/css/getComputedStyle/getComputedStyle-margin-percentage.html
1024
1025         * css/CSSComputedStyleDeclaration.cpp:
1026         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1027
1028 2011-02-13  Adam Barth  <abarth@webkit.org>
1029
1030         Reviewed by Sam Weinig.
1031
1032         crypto.getRandomValues should throw TYPE_MISMATCH_ERR
1033         https://bugs.webkit.org/show_bug.cgi?id=54346
1034
1035         As requested by Sam.
1036
1037         * page/Crypto.cpp:
1038         (WebCore::Crypto::getRandomValues):
1039
1040 2011-02-13  Alexey Proskuryakov  <ap@apple.com>
1041
1042         Reviewed by Dan Bernstein.
1043
1044         https://bugs.webkit.org/show_bug.cgi?id=54349
1045         Inline some accessors in PrintContext
1046
1047         No change in behavior, so no tests.
1048
1049         * WebCore.exp.in:
1050         * page/PrintContext.cpp:
1051         * page/PrintContext.h:
1052         (WebCore::PrintContext::pageCount):
1053         (WebCore::PrintContext::pageRect):
1054         Inline pageCount() and pageRect() to match pageRects().
1055
1056 2011-02-13  Sam Weinig  <sam@webkit.org>
1057
1058         Roll r78424 [Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)] back
1059         in with fixes to make it work with render layers.
1060
1061         * platform/mac/ScrollAnimatorMac.h:
1062         * platform/mac/ScrollAnimatorMac.mm:
1063         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
1064         (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
1065         (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
1066         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
1067         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
1068         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
1069         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1070         * rendering/RenderLayer.cpp:
1071         (WebCore::RenderLayer::RenderLayer):
1072         (WebCore::RenderLayer::contentsSize):
1073         (WebCore::RenderLayer::visibleHeight):
1074         (WebCore::RenderLayer::visibleWidth):
1075         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1076         * rendering/RenderLayer.h:
1077         * rendering/RenderListBox.cpp:
1078         (WebCore::RenderListBox::visibleHeight):
1079         (WebCore::RenderListBox::visibleWidth):
1080         * rendering/RenderListBox.h:
1081
1082 2011-02-13  Sam Weinig  <sam@webkit.org>
1083
1084         Reviewed by Dan Bernstein.
1085
1086         Some Scrollbar functions assume an attached ScrollableArea but can be called without one
1087         https://bugs.webkit.org/show_bug.cgi?id=54262
1088
1089         Make sure that all calls to the scrollable area are null checked.
1090
1091         * platform/Scrollbar.cpp:
1092         (WebCore::Scrollbar::autoscrollPressedPart):
1093         (WebCore::Scrollbar::moveThumb):
1094         (WebCore::Scrollbar::mouseMoved):
1095
1096 2011-02-13  Sam Weinig  <sam@webkit.org>
1097
1098         Roll out r78424. It broke a bunch of tests.
1099
1100         * platform/mac/ScrollAnimatorMac.h:
1101         * platform/mac/ScrollAnimatorMac.mm:
1102         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
1103         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
1104         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
1105         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1106         * rendering/RenderLayer.cpp:
1107         * rendering/RenderLayer.h:
1108         (WebCore::RenderLayer::contentsSize):
1109         * rendering/RenderListBox.cpp:
1110         * rendering/RenderListBox.h:
1111
1112 2011-02-12  Sam Weinig  <sam@webkit.org>
1113
1114         Reviewed by Dan Bernstein.
1115
1116         WK2: Extra scrolling required when scrolling with a scroll wheel (Mighty Mouse)
1117         <rdar://problem/8984760> 
1118
1119         When going down the smooth scroll path, constrained scrolls (such as those from a
1120         Mighty Mouse) were being correctly constrained at the ScrollView level, but the 
1121         duplicate values being stored by the animator were not being constrained correctly.
1122
1123         In order to implement the constraint at this level, more of the ScrollableArea's API
1124         needed to be filled in for RenderLayer and RenderListBox.
1125
1126         * platform/mac/ScrollAnimatorMac.h:
1127         * platform/mac/ScrollAnimatorMac.mm:
1128         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): Call immediateScrollToPoint to stay
1129         consistent and get the desired behavior.
1130
1131         (WebCore::ScrollAnimatorMac::adjustScrollXPositionIfNecessary):
1132         (WebCore::ScrollAnimatorMac::adjustScrollYPositionIfNecessary):
1133         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
1134         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
1135         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
1136         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1137         Ensure that the scroll animators view of the current scroll position is the
1138         same as the scrollable areas by correctly clamping the value.
1139
1140         * rendering/RenderLayer.cpp:
1141         (WebCore::RenderLayer::contentsSize): Correct implementation
1142         to use the scroll size, not the visible size.
1143         (WebCore::RenderLayer::visibleHeight):
1144         (WebCore::RenderLayer::visibleWidth):
1145         * rendering/RenderLayer.h:
1146         * rendering/RenderListBox.cpp:
1147         (WebCore::RenderListBox::visibleHeight):
1148         (WebCore::RenderListBox::visibleWidth):
1149         * rendering/RenderListBox.h:
1150         Add implementations for visibleHeight/visibleWidth.
1151
1152 2011-02-12  Adam Barth  <abarth@webkit.org>
1153
1154         Reviewed by Sam Weinig.
1155
1156         crypto.getRandomValues should support all integer array types
1157         https://bugs.webkit.org/show_bug.cgi?id=54342
1158
1159         As discussed on whatwg, we should support all the integer array types.
1160
1161         Test: security/crypto-random-values-types.html
1162
1163         * page/Crypto.cpp:
1164         (WebCore::Crypto::getRandomValues):
1165
1166 2011-02-12  Adam Barth  <abarth@webkit.org>
1167
1168         Reviewed by Mark Rowe.
1169
1170         Use /dev/urandom as the OSRandomSource on OS(DARWIN)
1171         https://bugs.webkit.org/show_bug.cgi?id=54279
1172
1173         Update the ifdef.  OS(UNIX) includes OS(DARWIN), so this change is
1174         should be a NOP.
1175
1176         * config.h:
1177
1178 2011-02-11  Zhenyao Mo  <zmo@google.com>
1179
1180         Reviewed by Kenneth Russell.
1181
1182         [chromium] Allow turning off multisampling through web preference settings
1183         https://bugs.webkit.org/show_bug.cgi?id=54321
1184
1185         * html/canvas/WebGLRenderingContext.cpp:
1186         (WebCore::WebGLRenderingContext::create): Disable multisampling in WebGL if web reference says so.
1187         * page/Settings.cpp: Add a flag for multisampling preference.
1188         (WebCore::Settings::Settings):
1189         (WebCore::Settings::setOpenGLMultisamplingEnabled):
1190         * page/Settings.h: Ditto.
1191         (WebCore::Settings::openGLMultisamplingEnabled):
1192
1193 2011-02-12  Ryosuke Niwa  <rniwa@webkit.org>
1194
1195         Reviewed by Tony Chang.
1196
1197         Deploy EditingStyle in applyBlockStyle and applyInlineStyle
1198         https://bugs.webkit.org/show_bug.cgi?id=53911
1199
1200         Deployed EditingStyle in ApplyStyleCommand::applyBlockStyle and ApplyStyleCommand::applyInlineStyle.
1201         Extracted EditingStyle::extractAndRemoveTextDirection from applyInlineStyle.
1202         Also added propertiesToInclude to the argument list of EditingStyle's constructor that takes Node*
1203         so that splitAncestorsWithUnicodeBidi can call EditingStyle::textDirection to obtain the text direction.
1204
1205         No new tests are added since this is a refactoring.
1206
1207         * editing/ApplyStyleCommand.cpp:
1208         (WebCore::ApplyStyleCommand::doApply): Passes EditingStyle* to applyBlockStyle and applyInlineStyle.
1209         (WebCore::ApplyStyleCommand::applyBlockStyle): Takes EditingStyle*.
1210         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Changed the type of allowedDirection
1211         from int to WritingDirection. Uses EditingStyle's textDirection to obtain the writing direction.
1212         (WebCore::ApplyStyleCommand::applyInlineStyle): Takes EditingStyle*.
1213         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Allows style to be null; exit early instead.
1214         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Asserts that style is not null.
1215         (WebCore::ApplyStyleCommand::removeInlineStyle): Allows style to be null.
1216         * editing/ApplyStyleCommand.h: Includes WritingDirection.h; prototype changes.
1217         * editing/EditingStyle.cpp:
1218         (WebCore::EditingStyle::EditingStyle): Added PropertiesToInclude to the argument.
1219         (WebCore::EditingStyle::init): Supports PropertiesToInclude.
1220         (WebCore::EditingStyle::extractAndRemoveTextDirection): Extracted from applyInlineStyle.
1221         * editing/EditingStyle.h:
1222         (WebCore::EditingStyle::create): Supports PropertiesToInclude.
1223
1224 2011-02-12  Jochen Eisinger  <jochen@chromium.org>
1225
1226         Reviewed by Jeremy Orlow.
1227
1228         Implement IDBObjectStore::clear
1229         https://bugs.webkit.org/show_bug.cgi?id=54193
1230
1231         Test: storage/indexeddb/objectstore-clear.html
1232
1233         * storage/IDBObjectStore.cpp:
1234         (WebCore::IDBObjectStore::clear):
1235         * storage/IDBObjectStore.h:
1236         * storage/IDBObjectStore.idl:
1237         * storage/IDBObjectStoreBackendImpl.cpp:
1238         (WebCore::IDBObjectStoreBackendImpl::clear):
1239         (WebCore::doDelete):
1240         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
1241         * storage/IDBObjectStoreBackendImpl.h:
1242         * storage/IDBObjectStoreBackendInterface.h:
1243
1244 2011-02-12  Adam Barth  <abarth@webkit.org>
1245
1246         Another attempt to fix the EFL build.  Looks like we're missing one
1247         more file.
1248
1249         * CMakeLists.txt:
1250
1251 2011-02-12  Adam Barth  <abarth@webkit.org>
1252
1253         Attempt to fix the EFL build.  Apparently the CMake build had no
1254         concept of ArrayBuffers.
1255
1256         * CMakeLists.txt:
1257
1258 2011-02-12  Ryosuke Niwa  <rniwa@webkit.org>
1259
1260         Unreviewed build fix.
1261
1262         * dom/Range.cpp:
1263         (WebCore::lengthOfContentsInNode): Replaced static const unsigned LengthOfContentsInNode.
1264         (WebCore::Range::processContents):
1265         (WebCore::Range::processContentsBetweenOffsets):
1266
1267 2011-02-12  Adam Barth  <abarth@webkit.org>
1268
1269         CPP files belong in SOURCES not in HEADERS.  There are more errors like
1270         this for other disabled features, but I'm not fixing them in this
1271         patch.
1272
1273         * WebCore.pro:
1274
1275 2011-02-12  Adam Barth  <abarth@webkit.org>
1276
1277         Apparently lines in .pro files need to be \-terminated.
1278
1279         * WebCore.pro:
1280
1281 2011-02-11  Ryosuke Niwa  <rniwa@webkit.org>
1282
1283         Reviewed by Darin Adler.
1284
1285         Extract a function to process contents for one node from Range::processContents
1286         https://bugs.webkit.org/show_bug.cgi?id=54282
1287
1288         Extracted Range::processContentsBetweenOffsets, which process contents of a node
1289         between two offsets. This function is used for the simple case where the start
1290         and the end containers are of the same node, and to process start and end containers
1291         in the complex case.
1292
1293         When the function takes a non-null fragment (simple case), it appends the processed
1294         contents to the fragment; character data and processing instruction's contents are copied
1295         between the offsets, and descendants are copied for node of other types (not node itself).
1296
1297         When the fragment is null (complex case), the function copies contents of character data,
1298         processing instruction, and node of other types (including node itself).
1299
1300         No new tests are added since this is a refactoring.
1301
1302         * dom/Range.cpp:
1303         (WebCore::highestAncestorUnderCommonRoot): Added.
1304         (WebCore::Range::processContents): Calls highestAncestorUnderCommonRoot and
1305         processContentsBetweenOffsets.
1306         (WebCore::Range::processContentsBetweenOffsets): Added.
1307         * dom/Range.h:
1308
1309 2011-02-12  Adam Barth  <abarth@webkit.org>
1310
1311         Attempt to fix the Qt Windows build.
1312
1313         * WebCore.pro:
1314
1315 2011-02-12  Adam Barth  <abarth@webkit.org>
1316
1317         Reviewed by Kenneth Russell.
1318
1319         Enable ArrayBuffers by default
1320         https://bugs.webkit.org/show_bug.cgi?id=54310
1321
1322         As discussed on webkit-dev, ArrayBuffers are used by a bunch of
1323         different APIs, implemented by Firefox, and appear to be stable.
1324         Keeping them conditional is a large mantainance burden than it's worth.
1325
1326         * DerivedSources.cpp:
1327         * WebCore.vcproj/WebCore.vcproj:
1328         * bindings/generic/RuntimeEnabledFeatures.h:
1329         (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
1330         * bindings/js/JSArrayBufferCustom.cpp:
1331         * bindings/js/JSBindingsAllInOne.cpp:
1332         * bindings/js/JSDOMWindowCustom.cpp:
1333         * bindings/js/JSDataViewCustom.cpp:
1334         * bindings/js/JSFloat32ArrayCustom.cpp:
1335         * bindings/js/JSInt16ArrayCustom.cpp:
1336         * bindings/js/JSInt32ArrayCustom.cpp:
1337         * bindings/js/JSInt8ArrayCustom.cpp:
1338         * bindings/js/JSUint16ArrayCustom.cpp:
1339         * bindings/js/JSUint32ArrayCustom.cpp:
1340         * bindings/js/JSUint8ArrayCustom.cpp:
1341         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1342         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1343         * bindings/v8/custom/V8DataViewCustom.cpp:
1344         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1345         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1346         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1347         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1348         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1349         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1350         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1351         * html/canvas/ArrayBuffer.cpp:
1352         * html/canvas/ArrayBuffer.idl:
1353         * html/canvas/ArrayBufferView.cpp:
1354         * html/canvas/ArrayBufferView.idl:
1355         * html/canvas/DataView.cpp:
1356         * html/canvas/DataView.idl:
1357         * html/canvas/Float32Array.cpp:
1358         * html/canvas/Float32Array.idl:
1359         * html/canvas/Int16Array.cpp:
1360         * html/canvas/Int16Array.idl:
1361         * html/canvas/Int32Array.cpp:
1362         * html/canvas/Int32Array.idl:
1363         * html/canvas/Int8Array.cpp:
1364         * html/canvas/Int8Array.idl:
1365         * html/canvas/Uint16Array.cpp:
1366         * html/canvas/Uint16Array.idl:
1367         * html/canvas/Uint32Array.cpp:
1368         * html/canvas/Uint32Array.idl:
1369         * html/canvas/Uint8Array.cpp:
1370         * html/canvas/Uint8Array.idl:
1371         * page/Crypto.cpp:
1372         (WebCore::Crypto::getRandomValues):
1373         * page/Crypto.h:
1374         * page/Crypto.idl:
1375         * page/DOMWindow.idl:
1376         * workers/WorkerContext.idl:
1377
1378 2011-02-11  Yael Aharon  <yael.aharon@nokia.com>
1379
1380         Reviewed by Darin Adler.
1381
1382         Background image positioning on RTL text
1383         https://bugs.webkit.org/show_bug.cgi?id=32862
1384
1385         When the style of InlineFlowBox is right-to-left, the strips should be rearranged in reverse order.
1386
1387         Tests: fast/inline/inline-box-background-long-image.html
1388                fast/inline/inline-box-background-repeat-x.html
1389                fast/inline/inline-box-background-repeat-y.html
1390                fast/inline/inline-box-background.html
1391
1392         * rendering/InlineFlowBox.cpp:
1393         (WebCore::InlineFlowBox::paintFillLayer):
1394
1395 2011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1396
1397         Unreviewed, rolling out r78044.
1398         http://trac.webkit.org/changeset/78044
1399         https://bugs.webkit.org/show_bug.cgi?id=54318
1400
1401         Broke Safari extensions (Requested by eseidel on #webkit).
1402
1403         * platform/KURL.cpp:
1404         (WebCore::KURL::parse):
1405
1406 2011-02-11  Beth Dakin  <bdakin@apple.com>
1407
1408         Reviewed by Sam Weinig.
1409
1410         Fix for <rdar://problem/8976456> Scrollbars for overflow
1411         areas never appear for WKScrollbarPainter scrollers
1412
1413         Call ScrollableArea::didAddVerticalScrollbar() and 
1414         ScrollableArea::willRemoveVerticalScrollbar() when
1415         appropriate for RenderLayers.
1416         * rendering/RenderLayer.cpp:
1417         (WebCore::RenderLayer::setHasHorizontalScrollbar):
1418         (WebCore::RenderLayer::setHasVerticalScrollbar):
1419
1420 2011-02-11  Eric Seidel  <eric@webkit.org>
1421
1422         Reviewed by Adam Barth.
1423
1424         KURL should remove default port numbers when cannonicalizing urls (to match every other browser)
1425         https://bugs.webkit.org/show_bug.cgi?id=54090
1426
1427         * platform/KURL.cpp:
1428         (WebCore::isDefaultPortForScheme):
1429         (WebCore::KURL::parse):
1430
1431 2011-02-11  Mike Reed  <reed@google.com>
1432
1433         Reviewed by James Robinson.
1434
1435         Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend
1436         is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp
1437
1438         No new tests. All existing canvas layouttests exercise this code path
1439
1440         * platform/graphics/skia/PlatformContextSkia.cpp:
1441         (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
1442
1443 2011-02-11  Adam Klein  <adamk@chromium.org>
1444
1445         Reviewed by Darin Adler.
1446
1447         Check for empty scheme before accessing URLSchemeMaps in SchemeRegistry
1448         https://bugs.webkit.org/show_bug.cgi?id=54304
1449
1450         This avoids potential crashes in HashMap, as WTF's StringHash doesn't
1451         accept empty Strings.
1452
1453         * platform/SchemeRegistry.cpp:
1454         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
1455         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
1456         (WebCore::SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument):
1457
1458 2011-02-11  Adam Klein  <adamk@chromium.org>
1459
1460         Reviewed by Darin Fisher.
1461
1462         [fileapi] Add support for filesystem: URI handling
1463         https://bugs.webkit.org/show_bug.cgi?id=53529
1464
1465         There are two major parts to this patch: one is to add an
1466         implementation of Entry.toURI to the FileSystem API.
1467         The other is to implement security origin checking for this
1468         new scheme.
1469
1470         All changes are guarded by the FILE_SYSTEM feature. An accompanying
1471         Chromium change, to support loading of filesystem: URIs, has recently
1472         been submitted as Chromium r74082.
1473
1474         Spec:
1475           http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods-2
1476         Proposed URI format, and discussion of security origin issues:
1477           http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0218.html
1478
1479         Tests: fast/filesystem/directory-entry-to-uri.html
1480                fast/filesystem/file-entry-to-uri.html
1481                fast/filesystem/filesystem-uri-origin.html
1482                http/tests/security/filesystem-iframe-from-remote.html
1483
1484         * fileapi/Entry.cpp:
1485         (WebCore::Entry::toURI):
1486         * fileapi/Entry.h:
1487         * fileapi/Entry.idl:
1488         - Added toURI method to the IDL, omitting the MIME type argument
1489           specified in the spec as it will soon be removed.
1490         * page/SecurityOrigin.cpp:
1491         (WebCore::SecurityOrigin::SecurityOrigin):
1492         - crack the filesystem: URI to get at the origin of the site
1493         (WebCore::SecurityOrigin::canDisplay):
1494         - canDisplay for filesystem: URIs is equivalent to canRequest
1495         * platform/AsyncFileSystem.cpp:
1496         (WebCore::AsyncFileSystem::create):
1497         (WebCore::AsyncFileSystem::openFileSystem):
1498         * platform/AsyncFileSystem.h:
1499         (WebCore::AsyncFileSystem::type):
1500         - Exposed filesystem type to allow toURI to use it as part of the
1501           path.
1502         (WebCore::AsyncFileSystem::AsyncFileSystem):
1503         * platform/SchemeRegistry.cpp:
1504         (WebCore::canDisplayOnlyIfCanRequestSchemes):
1505         (WebCore::SchemeRegistry::canDisplayOnlyIfCanRequest):
1506         (WebCore::SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest):
1507         - Generalized canDisplayOnlyIfCanRequest as it applies to both
1508           filesystem: and blob: URIs.
1509         * platform/SchemeRegistry.h:
1510
1511 2011-02-11  Beth Dakin  <bdakin@apple.com>
1512
1513         Reviewed by Darin Adler.
1514
1515         Fix for <rdar://problem/8961061> CrashTracer: [USER] 
1516         1 crash at com.apple.WebCore: 
1517         -[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 62
1518
1519         Must check for null _animator.
1520         * platform/mac/ScrollAnimatorMac.mm:
1521         (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
1522         (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
1523         (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
1524         (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
1525         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
1526         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
1527         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1528
1529 2011-02-11  Chris Rogers  <crogers@google.com>
1530
1531         Reviewed by Kenneth Russell.
1532
1533         Throw exception when AudioContext's createBuffer() fails to properly decode audio file data
1534         https://bugs.webkit.org/show_bug.cgi?id=54158
1535
1536         No new tests since audio API is not yet implemented.
1537
1538         * bindings/js/JSAudioContextCustom.cpp:
1539         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1540         (WebCore::JSAudioContext::createBuffer):
1541         * bindings/v8/custom/V8AudioContextCustom.cpp:
1542         (WebCore::V8AudioContext::createBufferCallback):
1543         * platform/audio/chromium/AudioBusChromium.cpp:
1544         (WebCore::createBusFromInMemoryAudioFile):
1545         * webaudio/AudioContext.idl:
1546
1547 2011-02-11  Mike Reed  <reed@google.com>
1548
1549         Reviewed by James Robinson.
1550
1551         Fix toDataURL() to use device->readPixels() if need be, rather than always dereferencing
1552         the address returned by getPixels() (as the device may not be backed by a CPU bitmap)
1553         https://bugs.webkit.org/show_bug.cgi?id=54224
1554
1555         No new tests. Existing canvas tests exercise this...
1556         fast/canvas/script-tests/canvas-createPattern-fillRect-shadow.html
1557
1558         * platform/graphics/skia/ImageBufferSkia.cpp:
1559         (WebCore::ImageBuffer::toDataURL):
1560
1561 2011-02-11  Andrew Wason  <rectalogic@rectalogic.com>
1562
1563         Reviewed by David Levin.
1564
1565         Files missing ENABLE_VIDEO #ifdef
1566         https://bugs.webkit.org/show_bug.cgi?id=53390
1567
1568         No new tests.
1569
1570         * html/canvas/WebGLRenderingContext.cpp:
1571         * html/canvas/WebGLRenderingContext.h:
1572         * html/canvas/WebGLRenderingContext.idl:
1573           Wrap methods and declarations that use HTMLVideoElement
1574           with #if ENABLE(VIDEO).
1575
1576 2011-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1577
1578         Unreviewed, rolling out r78331.
1579         http://trac.webkit.org/changeset/78331
1580         https://bugs.webkit.org/show_bug.cgi?id=54295
1581
1582         This patch broke 11 tests in GTK bots (Requested by svillar on
1583         #webkit).
1584
1585         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1586         (webkit_accessible_get_name):
1587         (webkit_accessible_detach):
1588
1589 2011-02-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1590
1591         Reviewed by Xan Lopez.
1592
1593         [GDOM] Video element needs proper wrapping
1594         https://bugs.webkit.org/show_bug.cgi?id=54231
1595
1596         Use the same strategy as the one used for the audio tag to wrap
1597         video as well. No layout tests because this only adds API.
1598
1599         * bindings/gobject/GNUmakefile.am:
1600         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
1601         (WebKit::createVideoWrapper):
1602         (WebKit::createHTMLElementWrapper):
1603
1604 2011-02-11  Dirk Schulze  <krit@webkit.org>
1605
1606         Reviewed by Andreas Kling.
1607
1608         SVGStyledElement::fillAttributeToPropertyTypeMap triggers a clang warning (-Woverloaded-virtual)
1609         https://bugs.webkit.org/show_bug.cgi?id=54259
1610
1611         Renamed fillAttributeToPropertyTypeMap with passed map to fillPassedAttributeToPropertyTypeMap to
1612         avoid overloading a virtual function.
1613
1614         No change of functionality. Just fixing a build warning, so no new tests.
1615
1616         * svg/SVGAElement.cpp:
1617         (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
1618         * svg/SVGAltGlyphElement.cpp:
1619         (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
1620         * svg/SVGCircleElement.cpp:
1621         (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
1622         * svg/SVGClipPathElement.cpp:
1623         (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
1624         * svg/SVGEllipseElement.cpp:
1625         (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
1626         * svg/SVGFEBlendElement.cpp:
1627         (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
1628         * svg/SVGFEColorMatrixElement.cpp:
1629         (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
1630         * svg/SVGFEComponentTransferElement.cpp:
1631         (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
1632         * svg/SVGFECompositeElement.cpp:
1633         (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
1634         * svg/SVGFEConvolveMatrixElement.cpp:
1635         (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
1636         * svg/SVGFEDiffuseLightingElement.cpp:
1637         (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
1638         * svg/SVGFEDisplacementMapElement.cpp:
1639         (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
1640         * svg/SVGFEFloodElement.cpp:
1641         (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
1642         * svg/SVGFEGaussianBlurElement.cpp:
1643         (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
1644         * svg/SVGFEImageElement.cpp:
1645         (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
1646         * svg/SVGFEMergeElement.cpp:
1647         (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
1648         * svg/SVGFEMorphologyElement.cpp:
1649         (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
1650         * svg/SVGFEOffsetElement.cpp:
1651         (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
1652         * svg/SVGFESpecularLightingElement.cpp:
1653         (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
1654         * svg/SVGFETileElement.cpp:
1655         (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
1656         * svg/SVGFETurbulenceElement.cpp:
1657         (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
1658         * svg/SVGFilterElement.cpp:
1659         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
1660         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1661         (WebCore::SVGFilterPrimitiveStandardAttributes::fillPassedAttributeToPropertyTypeMap):
1662         * svg/SVGFilterPrimitiveStandardAttributes.h:
1663         * svg/SVGFontElement.cpp:
1664         (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
1665         * svg/SVGForeignObjectElement.cpp:
1666         (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
1667         * svg/SVGGlyphElement.cpp:
1668         (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
1669         * svg/SVGGradientElement.cpp:
1670         (WebCore::SVGGradientElement::fillPassedAttributeToPropertyTypeMap):
1671         * svg/SVGGradientElement.h:
1672         * svg/SVGImageElement.cpp:
1673         (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
1674         * svg/SVGLineElement.cpp:
1675         (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
1676         * svg/SVGLinearGradientElement.cpp:
1677         (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
1678         * svg/SVGMarkerElement.cpp:
1679         (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
1680         * svg/SVGMaskElement.cpp:
1681         (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
1682         * svg/SVGMissingGlyphElement.cpp:
1683         (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
1684         * svg/SVGPathElement.cpp:
1685         (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
1686         * svg/SVGPatternElement.cpp:
1687         (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
1688         * svg/SVGPolyElement.cpp:
1689         (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
1690         * svg/SVGRadialGradientElement.cpp:
1691         (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
1692         * svg/SVGRectElement.cpp:
1693         (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
1694         * svg/SVGStopElement.cpp:
1695         (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
1696         * svg/SVGStyledElement.cpp:
1697         (WebCore::SVGStyledElement::fillPassedAttributeToPropertyTypeMap):
1698         * svg/SVGStyledElement.h:
1699         * svg/SVGStyledTransformableElement.cpp:
1700         (WebCore::SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap):
1701         * svg/SVGStyledTransformableElement.h:
1702         * svg/SVGSwitchElement.cpp:
1703         (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
1704         * svg/SVGSymbolElement.cpp:
1705         (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
1706         * svg/SVGTRefElement.cpp:
1707         (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
1708         * svg/SVGTSpanElement.cpp:
1709         (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
1710         * svg/SVGTextContentElement.cpp:
1711         (WebCore::SVGTextContentElement::fillPassedAttributeToPropertyTypeMap):
1712         * svg/SVGTextContentElement.h:
1713         * svg/SVGTextElement.cpp:
1714         (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
1715         * svg/SVGTextPathElement.cpp:
1716         (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
1717         * svg/SVGTextPositioningElement.cpp:
1718         (WebCore::SVGTextPositioningElement::fillPassedAttributeToPropertyTypeMap):
1719         * svg/SVGTextPositioningElement.h:
1720         * svg/SVGTitleElement.cpp:
1721         (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
1722         * svg/SVGUseElement.cpp:
1723         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
1724         * svg/SVGViewElement.cpp:
1725         (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
1726
1727 2011-02-11  Andrey Adaikin  <aandrey@google.com>
1728
1729         Reviewed by Pavel Feldman.
1730
1731         Web Inspector: [REGRESSION] click on error message in console doesn't scroll into view
1732         https://bugs.webkit.org/show_bug.cgi?id=54089
1733
1734         * inspector/front-end/Drawer.js:
1735         (WebInspector.Drawer.prototype.show.animationFinished):
1736         (WebInspector.Drawer.prototype.show):
1737         (WebInspector.Drawer.prototype.hide):
1738         (WebInspector.Drawer.prototype.resize):
1739         (WebInspector.Drawer.prototype.immediatelyFinishAnimation):
1740         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
1741         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
1742         (WebInspector.Drawer.prototype._animateDrawerHeight):
1743         (WebInspector.Drawer.prototype._statusBarDragging):
1744         * inspector/front-end/inspector.js:
1745         (WebInspector.animateStyle):
1746         (WebInspector.animateStyle.forceComplete):
1747         (WebInspector.animateStyle.cancel):
1748         (WebInspector.showSourceLine):
1749
1750 2011-02-10  Nate Chapin  <japhet@chromium.org>
1751
1752         Reviewed by Adam Barth.
1753
1754         Make DocumentWriter a member of DocumentLoader
1755         instead of FrameLoader.
1756         https://bugs.webkit.org/show_bug.cgi?id=50489
1757
1758         Refactor, no new tests.
1759
1760         * bindings/ScriptControllerBase.cpp:
1761         (WebCore::ScriptController::executeIfJavaScriptURL):
1762         * dom/Document.cpp:
1763         (WebCore::Document::Document):
1764         (WebCore::Document::explicitClose):
1765         (WebCore::Document::lastModified):
1766         (WebCore::Document::initSecurityContext):
1767         (WebCore::Document::updateURLForPushOrReplaceState):
1768         * dom/Document.h:
1769         (WebCore::Document::setDocumentLoader):
1770         (WebCore::Document::loader):
1771         * html/MediaDocument.cpp:
1772         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1773         * html/PluginDocument.cpp:
1774         (WebCore::PluginDocumentParser::createDocumentStructure):
1775         * loader/DocumentLoader.cpp:
1776         (WebCore::DocumentLoader::DocumentLoader):
1777         (WebCore::DocumentLoader::finishedLoading):
1778         (WebCore::DocumentLoader::commitData):
1779         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1780         (WebCore::DocumentLoader::setFrame):
1781         * loader/DocumentLoader.h:
1782         (WebCore::DocumentLoader::writer):
1783         * loader/DocumentWriter.cpp:
1784         (WebCore::DocumentWriter::begin):
1785         * loader/DocumentWriter.h:
1786         (WebCore::DocumentWriter::setFrame):
1787         * loader/FrameLoader.cpp:
1788         (WebCore::FrameLoader::FrameLoader):
1789         (WebCore::FrameLoader::init):
1790         (WebCore::FrameLoader::clear):
1791         (WebCore::FrameLoader::receivedFirstData):
1792         (WebCore::FrameLoader::transitionToCommitted):
1793         (WebCore::FrameLoader::open):
1794         (WebCore::FrameLoader::finishedLoadingDocument):
1795         (WebCore::FrameLoader::addExtraFieldsToRequest):
1796         * loader/FrameLoader.h:
1797         (WebCore::FrameLoader::notifier):
1798         * svg/graphics/SVGImage.cpp:
1799         (WebCore::SVGImage::dataChanged):
1800
1801 2011-02-10  Pavel Feldman  <pfeldman@chromium.org>
1802
1803         Reviewed by Yury Semikhatsky.
1804
1805         Web Inspector: make InspectorAgent own sub-agents, align agent creation/deletion routines.
1806         https://bugs.webkit.org/show_bug.cgi?id=54227
1807
1808         * dom/Document.cpp:
1809         (WebCore::Document::finishedParsing):
1810         * inspector/InspectorAgent.cpp:
1811         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1812         (WebCore::InspectorAgent::setFrontend):
1813         (WebCore::InspectorAgent::disconnectFrontend):
1814         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1815         (WebCore::InspectorAgent::didCommitLoad):
1816         (WebCore::InspectorAgent::domContentLoadedEventFired):
1817         (WebCore::InspectorAgent::loadEventFired):
1818         (WebCore::InspectorAgent::startTimelineProfiler):
1819         (WebCore::InspectorAgent::stopTimelineProfiler):
1820         * inspector/InspectorAgent.h:
1821         * inspector/InspectorCSSAgent.cpp:
1822         * inspector/InspectorDOMAgent.cpp:
1823         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1824         (WebCore::InspectorDOMAgent::startListening):
1825         (WebCore::InspectorDOMAgent::stopListening):
1826         (WebCore::InspectorDOMAgent::mainDOMContentLoaded):
1827         (WebCore::InspectorDOMAgent::loadEventFired):
1828         * inspector/InspectorDOMAgent.h:
1829         (WebCore::InspectorDOMAgent::create):
1830         * inspector/InspectorDOMStorageAgent.cpp:
1831         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1832         * inspector/InspectorDOMStorageAgent.h:
1833         (WebCore::InspectorDOMStorageAgent::create):
1834         * inspector/InspectorDOMStorageResource.h:
1835         * inspector/InspectorDatabaseAgent.cpp:
1836         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1837         (WebCore::InspectorDatabaseAgent::executeSQL):
1838         (WebCore::InspectorDatabaseAgent::selectDatabase):
1839         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1840         * inspector/InspectorDatabaseAgent.h:
1841         (WebCore::InspectorDatabaseAgent::FrontendProvider::create):
1842         (WebCore::InspectorDatabaseAgent::FrontendProvider::~FrontendProvider):
1843         (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
1844         (WebCore::InspectorDatabaseAgent::FrontendProvider::clearFrontend):
1845         (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
1846         (WebCore::InspectorDatabaseAgent::create):
1847         * inspector/InspectorDatabaseResource.cpp:
1848         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
1849         (WebCore::InspectorDatabaseResource::bind):
1850         * inspector/InspectorDatabaseResource.h:
1851         * inspector/InspectorInstrumentation.cpp:
1852         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1853         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
1854         * inspector/InspectorInstrumentation.h:
1855         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
1856         (WebCore::InspectorInstrumentation::loadEventFired):
1857         * inspector/InspectorState.cpp:
1858         (WebCore::InspectorState::InspectorState):
1859         (WebCore::InspectorState::mute):
1860         (WebCore::InspectorState::updateCookie):
1861         * inspector/InspectorState.h:
1862         (WebCore::InspectorState::~InspectorState):
1863         * inspector/InspectorTimelineAgent.cpp:
1864         (WebCore::InspectorTimelineAgent::restore):
1865         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1866         (WebCore::InspectorTimelineAgent::didCommitLoad):
1867         (WebCore::InspectorTimelineAgent::setFrontend):
1868         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1869         * inspector/InspectorTimelineAgent.h:
1870         (WebCore::InspectorTimelineAgent::create):
1871         * page/DOMWindow.cpp:
1872         (WebCore::DOMWindow::dispatchLoadEvent):
1873
1874 2011-02-11  Pavel Feldman  <pfeldman@chromium.org>
1875
1876         Reviewed by Yury Semikhatsky.
1877
1878         Web Inspector: command line API $0 regressed.
1879         https://bugs.webkit.org/show_bug.cgi?id=54283
1880
1881         * inspector/InjectedScriptSource.js:
1882
1883 2011-02-11  Janne Koskinen  <janne.p.koskinen@digia.com>
1884
1885         Reviewed by Andreas Kling.
1886
1887         [Qt][S60] Vertical borders of buttons and frames are misaligned
1888         https://bugs.webkit.org/show_bug.cgi?id=51169
1889
1890         Force anti-aliasing for lines and rects when using OpenVG backend on Symbian.
1891         OpenVG cannot guarantee rendering to be on pixel in floating point co-ordinates
1892         without anti-aliasing. Patch idea by Laszlo Agocs.
1893
1894         * platform/graphics/qt/GraphicsContextQt.cpp:
1895         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1896
1897 2011-02-11  Mario Sanchez Prada  <msanchez@igalia.com>
1898
1899         Reviewed by Xan Lopez.
1900
1901         [GTK] events missing when a document is (re)loaded
1902         https://bugs.webkit.org/show_bug.cgi?id=25831
1903
1904         Make sure webArea returns a proper name and that a signal
1905         'state-change::defunct' is emitted when detaching the wrapper.
1906
1907         Test: platform/gtk/accessibility/document-reload-events.html
1908
1909         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1910         (webkit_accessible_get_name): Returns the current document's title
1911         as fallback mechanism for webArea objects.
1912         (webkit_accessible_detach): Emit 'state-change::defunct' function
1913         as soon as the wrapper is detached from the related core object.
1914
1915 2011-02-11  Pavel Feldman  <pfeldman@chromium.org>
1916
1917         Reviewed by Yury Semikhatsky.
1918
1919         Web Inspector: command line's API inspect() is broken.
1920         https://bugs.webkit.org/show_bug.cgi?id=54275
1921
1922         Test: inspector/command-line-api.html
1923
1924         * inspector/InjectedScriptSource.js:
1925
1926 2011-02-11  Adam Barth  <abarth@webkit.org>
1927
1928         Turns out window.crypto is supposed to be readonly.
1929
1930         * page/DOMWindow.idl:
1931
1932 2011-02-11  Adam Barth  <abarth@webkit.org>
1933
1934         Actually add Crypto.cpp to the Windows build.  I'm terrible.
1935
1936         * WebCore.vcproj/WebCore.vcproj:
1937
1938 2011-02-11  Adam Barth  <abarth@webkit.org>
1939
1940         Attempt to fix the Windows build.  Apparently we don't support
1941         conditional attributes on functions.  This patch makes the whole Crypto
1942         interface conditional on ArrayBuffer support.
1943
1944         * page/DOMWindow.idl:
1945         * page/Crypto.cpp:
1946         * page/Crypto.h:
1947         * page/Crypto.idl:
1948
1949 2011-02-10  Antti Koivisto  <antti@apple.com>
1950
1951         Reviewed by Dave Hyatt.
1952
1953         Enable ancestor identifier filtering for tree building
1954         https://bugs.webkit.org/show_bug.cgi?id=54241
1955         
1956         Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent
1957         element stack as needed.
1958         
1959         This roughly halves the remaining time in style matching over a typical page load.
1960
1961         * css/CSSStyleSelector.cpp:
1962         (WebCore::CSSStyleSelector::pushParentStackFrame):
1963         (WebCore::CSSStyleSelector::popParentStackFrame):
1964         (WebCore::CSSStyleSelector::pushParent):
1965         (WebCore::CSSStyleSelector::popParent):
1966         * css/CSSStyleSelector.h:
1967         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
1968         * dom/Document.h:
1969         (WebCore::Document::styleSelectorIfExists):
1970         * dom/Element.cpp:
1971         (WebCore::Element::beginParsingChildren):
1972         (WebCore::Element::finishParsingChildren):
1973         * dom/Element.h:
1974
1975 2011-02-10  Adam Barth  <abarth@webkit.org>
1976
1977         Reviewed by Eric Seidel.
1978
1979         WebKit should have a cryptographic RNG
1980         https://bugs.webkit.org/show_bug.cgi?id=22049
1981
1982         Add crypto.getRandomValues.  Yes, all these diffs are required to
1983         expose a single function to the DOM.
1984
1985         Test: security/crypto-random-values.html
1986
1987         * Android.mk:
1988         * CMakeLists.txt:
1989         * DerivedSources.cpp:
1990         * DerivedSources.make:
1991         * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Added.
1992         * GNUmakefile.am:
1993         * WebCore.gypi:
1994         * WebCore.pri:
1995         * WebCore.pro:
1996         * WebCore.vcproj/WebCore.vcproj:
1997         * WebCore.xcodeproj/project.pbxproj:
1998         * bindings/js/JSDOMWindowCustom.cpp:
1999         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2000         * config.h:
2001         * page/Crypto.cpp: Added.
2002         (WebCore::Crypto::Crypto):
2003         (WebCore::Crypto::getRandomValues):
2004         * page/Crypto.h: Added.
2005         (WebCore::Crypto::create):
2006         * page/Crypto.idl: Added.
2007         * page/DOMWindow.cpp:
2008         (WebCore::DOMWindow::clear):
2009         (WebCore::DOMWindow::crypto):
2010         * page/DOMWindow.h:
2011         (WebCore::DOMWindow::optionalCrypto):
2012         * page/DOMWindow.idl:
2013
2014 2011-02-11  Ryuan Choi  <ryuan.choi@samsung.com>
2015
2016         Unreviewed build fix.
2017
2018         [GTK] Build break with 2.18.3
2019         https://bugs.webkit.org/show_bug.cgi?id=54057
2020
2021         * platform/gtk/ScrollbarThemeGtk2.cpp: Include GtkVersioning.h
2022
2023 2011-02-11  Cosmin Truta  <ctruta@chromium.org>
2024
2025         Reviewed by Adam Barth.
2026
2027         Templatize KURLGooglePrivate::init
2028         https://bugs.webkit.org/show_bug.cgi?id=53749
2029
2030         No new tests. Refactoring.
2031
2032         * platform/KURLGoogle.cpp:
2033         (WebCore::KURLGooglePrivate::init):
2034         * platform/KURLGooglePrivate.h:
2035
2036 2011-02-10  Andy Estes  <aestes@apple.com>
2037
2038         Reviewed by Eric Seidel.
2039
2040         Convert ContainerNode::firstElementChild() to a free function.
2041         https://bugs.webkit.org/show_bug.cgi?id=54269
2042
2043         No new tests. No change in behavior.
2044         
2045         It seemed incorrect to have a method on ContainerNode that had the
2046         concept of an Element but couldn't return an Element*, but a method on
2047         Element could not be called by holders of ContainerNodes or other
2048         non-Element ContainerNode subclasses. A free function can both return
2049         an Element* and be called by anyone with a ContainerNode*.
2050
2051         * dom/ContainerNode.h:
2052         (WebCore::ContainerNode::lastChild):
2053         (WebCore::Node::lastChild):
2054         * dom/Document.cpp:
2055         (WebCore::Document::cacheDocumentElement):
2056         * dom/Element.cpp:
2057         (WebCore::Element::firstElementChild):
2058         * dom/Element.h:
2059         (WebCore::firstElementChild):
2060         * html/parser/HTMLTreeBuilder.cpp:
2061         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
2062
2063 2011-02-10  Mads Ager  <ager@chromium.org>
2064
2065         Reviewed by Nate Chapin.
2066
2067         [V8] Don't crash on exception getting event handler function
2068         https://bugs.webkit.org/show_bug.cgi?id=54216
2069
2070         Check for exceptions when attempting to get the handleEvent property
2071         of an event-handler object.
2072
2073         Test: fast/dom/exception-getting-event-handler.html
2074
2075         * bindings/v8/V8EventListener.cpp:
2076         (WebCore::V8EventListener::getListenerFunction):
2077
2078 2011-02-10  Naoki Takano  <takano.naoki@gmail.com>
2079
2080         Reviewed by James Robinson.
2081
2082         [Chromium] Layout Test canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
2083         https://bugs.webkit.org/show_bug.cgi?id=53857
2084
2085         globalAlpha is not applied to fillPath() and fillRect().
2086
2087         Test: fast/canvas/2d.composite.globalAlpha.fillPath.html and canvas/philip/tests/2d.composite.globalAlpha.fill.html with --accelerated-2d-canvas.
2088
2089         * platform/graphics/chromium/GLES2Canvas.cpp:
2090         (WebCore::GLES2Canvas::State::applyAlpha): Append a new function to apply global alpha when fillRect() and fillPath() are called.
2091         (WebCore::GLES2Canvas::fillRect): Global alpha is applied to m_fillColor.
2092         (WebCore::GLES2Canvas::fillPath): Global alpha is applied to m_fillColor.
2093
2094 2011-02-10  Andy Estes  <aestes@apple.com>
2095
2096         Reviewed by Adam Barth.
2097
2098         Remove an unneeded argument from HTMLDocument::create().
2099         https://bugs.webkit.org/show_bug.cgi?id=54268
2100         
2101         Now that HTMLTreeBuilder no longer uses a dummy HTMLDocument for
2102         fragment parsing, there isn't a need to explicitly specify a baseURL
2103         when constructing an HTMLDocument. We can remove the unneeded argument.
2104         
2105         Also fix some style issues in Document.h and HTMLDocument.h caught by
2106         check-webkit-style.
2107
2108         No new tests. No change in behavior.
2109
2110         * dom/Document.cpp:
2111         (WebCore::Document::Document):
2112         * dom/Document.h:
2113         * html/HTMLDocument.cpp:
2114         (WebCore::HTMLDocument::HTMLDocument):
2115         * html/HTMLDocument.h:
2116         (WebCore::HTMLDocument::create):
2117
2118 2011-02-10  Michael Saboff  <msaboff@apple.com>
2119
2120         Reviewed by Geoffrey Garen.
2121
2122         Cached JavaScript Parser Data Being Left in Memory Cache
2123         https://bugs.webkit.org/show_bug.cgi?id=54245
2124
2125         Added logic in CachedScript to clear SourceProviderCache data in
2126         destroyDecodedData().  Added and changed CachedScript timeout to
2127         act similar to CachedImage.  Changed didAddClient to call super
2128         class method instead of duplicating the logic in the derived
2129         classes.
2130
2131         * loader/cache/CachedImage.cpp:
2132         (WebCore::CachedImage::didAddClient):
2133         * loader/cache/CachedScript.cpp:
2134         (WebCore::CachedScript::didAddClient):
2135         (WebCore::CachedScript::allClientsRemoved):
2136         (WebCore::CachedScript::script):
2137         (WebCore::CachedScript::destroyDecodedData):
2138         * loader/cache/CachedScript.h:
2139
2140 2011-02-10  Cosmin Truta  <ctruta@chromium.org>
2141
2142         Reviewed by David Levin.
2143
2144         Fix style in KURLGooglePrivate
2145         https://bugs.webkit.org/show_bug.cgi?id=54228
2146
2147         Replace occurrences of NULL with 0, '\0' or null (as applicable),
2148         to appease check-webkit-style.
2149
2150         No new tests. This is a style fix.
2151
2152         * platform/KURLGoogle.cpp:
2153         * platform/KURLGooglePrivate.h:
2154
2155 2011-02-10  Andy Estes  <aestes@apple.com>
2156
2157         Reviewed by Darin Adler.
2158
2159         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
2160         https://bugs.webkit.org/show_bug.cgi?id=48719
2161         
2162         The HTML5 fragment parsing algorithm specifies that a new Document
2163         should be created to serve as the temporary parent of fragment nodes
2164         during parsing. Document creation is expensive and accounts for ~38% of
2165         the Peacekeeper DOM performance regression. Avoid the cost of creating
2166         a dummy document by using the already-created DocumentFragment as the
2167         root node during fragment parsing.
2168         
2169         With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
2170         is ~24%.
2171
2172         Test: fast/parser/fragment-parser-doctype.html
2173
2174         * dom/ContainerNode.h:
2175         (WebCore::ContainerNode::firstElementChild): Add a method that returns
2176         the first element-typed child from a ContainerNode.
2177         * dom/Document.cpp:
2178         (WebCore::Document::cacheDocumentElement): Call
2179         ContainerNode::firstElementChild() to retrieve and cache the document
2180         element.
2181         * html/parser/HTMLConstructionSite.cpp:
2182         (WebCore::HTMLConstructionSite::HTMLConstructionSite): Initialize the
2183         root ContainerNode.
2184         (WebCore::HTMLConstructionSite::detach): Clear the reference to the
2185         root ContainerNode.
2186         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
2187         Attach the new element to the root ContainerNode.
2188         (WebCore::HTMLConstructionSite::insertDoctype): Ditto.
2189         (WebCore::HTMLConstructionSite::insertCommentOnDocument): Ditto.
2190         * html/parser/HTMLConstructionSite.h: Store a pointer to a
2191         ContainerNode that will be used as the root node for document parsing.
2192         This node might or might not be the same as m_document.
2193         * html/parser/HTMLTreeBuilder.cpp:
2194         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): Initialize the
2195         HTMLConstructionSite with the correct root ContainerNode based on
2196         whether or not we're parsing a fragment.
2197         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
2198         Remove m_dummyDocumentForFragmentParsing.
2199         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): If the
2200         fragment has a context element, store only the children of the root
2201         element (HTML5 Section 10.4, Step 7).
2202         * html/parser/HTMLTreeBuilder.h:
2203
2204 2011-02-10  Beth Dakin  <bdakin@apple.com>
2205
2206         Reviewed by Oliver Hunt.
2207
2208         Speculative fix for <rdar://problem/8971107> CrashTracer: 6 crashes
2209         in WebProcess at com.apple.AppKit: 
2210         -[NSAnimation(NSInternal) _advanceTimeWithTimer:] + 154
2211
2212         * platform/mac/ScrollAnimatorMac.mm:
2213         (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
2214
2215 2011-02-09  Jeremy Orlow  <jorlow@chromium.org>
2216
2217         Reviewed by Nate Chapin.
2218
2219         IndexedDB event targets need to ensure their wrappers aren't garbage collected
2220         https://bugs.webkit.org/show_bug.cgi?id=54144
2221
2222         hasActivityPending should return true as long as it's possible that we'll
2223         fire more event listeners on our event targets. It is still possible for
2224         user generated events to run into problems, but I'm not sure how to address
2225         that yet (or how big of a deal it is).
2226
2227         There's really no way to test this deterministically. Testing by hand makes
2228         it seem like this patch works as expected though.
2229
2230         * storage/IDBCursorBackendImpl.cpp:
2231         * storage/IDBDatabase.cpp:
2232         (WebCore::IDBDatabase::IDBDatabase):
2233         (WebCore::IDBDatabase::~IDBDatabase):
2234         (WebCore::IDBDatabase::hasPendingActivity):
2235         (WebCore::IDBDatabase::stop):
2236         * storage/IDBDatabase.h:
2237         * storage/IDBRequest.cpp:
2238         (WebCore::IDBRequest::IDBRequest):
2239         (WebCore::IDBRequest::hasPendingActivity):
2240         (WebCore::IDBRequest::dispatchEvent):
2241         (WebCore::IDBRequest::enqueueEvent):
2242         * storage/IDBRequest.h:
2243         * storage/IDBTransaction.cpp:
2244         (WebCore::IDBTransaction::finished):
2245         (WebCore::IDBTransaction::hasPendingActivity):
2246         (WebCore::IDBTransaction::dispatchEvent):
2247         (WebCore::IDBTransaction::canSuspend):
2248         (WebCore::IDBTransaction::contextDestroyed):
2249         (WebCore::IDBTransaction::enqueueEvent):
2250         * storage/IDBTransaction.h:
2251
2252 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2253
2254         Reviewed by Andreas Kling.
2255
2256         [Qt] create pkg-config files for mingw
2257         https://bugs.webkit.org/show_bug.cgi?id=54238
2258
2259         (mingw is mostly the same as unix)
2260
2261         This change was applied in the Qt repository (qt/src/3rdparty/webkit),
2262         so we should do the same here in QtWebKit.
2263
2264         Patch by Mark Brand <mabrand@mabrand.nl>, reviewed (there) by
2265         Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2266         45fe2dddc3a0677b9ec9fce09f07cd4129e37afa
2267
2268         * WebCore.pro:
2269
2270 2011-02-10  Andreas Kling  <kling@webkit.org>
2271
2272         Reviewed by Antti Koivisto.
2273
2274         RenderStyle: Remove duplicate comparison of InheritedFlags::_text_transform
2275         https://bugs.webkit.org/show_bug.cgi?id=54246
2276
2277         * rendering/style/RenderStyle.h:
2278
2279 2011-02-10  Dirk Schulze  <krit@webkit.org>
2280
2281         Reviewed by Andreas Kling.
2282
2283         SVG animation avoid unnecessary adjust for currentColor
2284         https://bugs.webkit.org/show_bug.cgi?id=54243
2285
2286         At the moment we try to adjust every animation value for currentColor - independent of the animation type.
2287         Since the value is a string and the target element may needs to get called by getElementById, this could
2288         be an expensive and unnecessary operation. Also after we adjust for currentColor, we save the result back
2289         as a string and parse it to Color afterwards again.
2290         With the patch we just adjust an animation value, if we use color animation. The color won't get saved and
2291         parsed as a string again.
2292
2293         No change of functionality, no new tests.
2294
2295         * svg/SVGAnimateElement.cpp:
2296         (WebCore::adjustForCurrentColor):
2297         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2298         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2299         * svg/SVGAnimationElement.cpp:
2300         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2301         (WebCore::SVGAnimationElement::startedActiveInterval):
2302
2303 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2304
2305         Reviewed by Andreas Kling.
2306
2307         [Qt] Remove the use of deprecated qFindChildren()
2308         https://bugs.webkit.org/show_bug.cgi?id=54232
2309
2310         This was applied on the Qt repository and affects QtWebKit there.
2311         (13833beb641289c45faed337848d37280195aadc)
2312
2313         The side effect of this change is that we won't be able to build
2314         QtWebKit with MSVC 6, as it doesn't support member template functions
2315         (not sure if that's possible today anyway).
2316
2317         Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
2318         review reported as being from the mailing list.
2319
2320         The changes are result of the following commands:
2321
2322             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(this,* */f\\1(/'" qFindChild
2323             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(&\([^\(),]*\),* */\\2.f\\1(/'" qFindChild
2324             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*()\),* */\\2->f\\1(/'" qFindChild
2325             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\):\([^\(),]*\),* */(\\2:\\3)->f\\1(/'" qFindChild
2326             git grep -O"sed -i 's/qF\(indChildr*e*n*<[^>]*>\)(\([^\(),]*\),* */\\2->f\\1(/'" qFindChild
2327
2328         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2329         (WebCore::MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon):
2330
2331 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2332
2333         Reviewed by Andreas Kling.
2334
2335         [Qt] Rename build target from "embedded" to "qpa"
2336         https://bugs.webkit.org/show_bug.cgi?id=54233
2337
2338         This flag is used by Qt's configure script to enable a QPA build
2339         ("QPA is a window system agnostic implementation of Qt" --
2340         previously known as lighthouse).
2341
2342         On the Qt repository, this was changed by two commits:
2343
2344         13a0b4935900093607f2b3b7688e1452d22770fd
2345         (from embedded to embedded_lite)
2346
2347         9716e12e0f5590ebc23ad9fb7ba75c6a3c5aadab
2348         (from embedded_lite to qpa)
2349
2350         * WebCore.pro:
2351
2352 2011-02-10  Kenneth Russell  <kbr@google.com>
2353
2354         Reviewed by James Robinson.
2355
2356         Incorporate algorithm for processing paths into GPU-renderable triangle meshes
2357         https://bugs.webkit.org/show_bug.cgi?id=45521
2358
2359         Adding an implementation of Loop and Blinn's GPU accelerated path
2360         rendering algorithm from GPU Gems 3. This implementation pays
2361         particular attention to the efficiency of the curve subdivision
2362         phase needed for correct rendering. It utilizes the OpenGL utility
2363         library tessellator for triangulation of the interior of the
2364         shape. The regions handled by Loop and Blinn's algorithm are
2365         handled by the local triangulator previously incorporated.
2366
2367         No tests yet; pixel tests will eventually be used to verify this
2368         algorithm and prevent regressions.
2369
2370         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: Added.
2371         (WebCore::LoopBlinnPathProcessorImplementation::Segment::Segment):
2372         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setup):
2373         (WebCore::LoopBlinnPathProcessorImplementation::Segment::kind):
2374         (WebCore::LoopBlinnPathProcessorImplementation::Segment::getPoint):
2375         (WebCore::LoopBlinnPathProcessorImplementation::Segment::next):
2376         (WebCore::LoopBlinnPathProcessorImplementation::Segment::prev):
2377         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setNext):
2378         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setPrev):
2379         (WebCore::LoopBlinnPathProcessorImplementation::Segment::contour):
2380         (WebCore::LoopBlinnPathProcessorImplementation::Segment::subdivide):
2381         (WebCore::LoopBlinnPathProcessorImplementation::Segment::boundingBox):
2382         (WebCore::LoopBlinnPathProcessorImplementation::Segment::numCrossingsForXRay):
2383         (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfTriangles):
2384         (WebCore::LoopBlinnPathProcessorImplementation::Segment::getTriangle):
2385         (WebCore::LoopBlinnPathProcessorImplementation::Segment::numberOfInteriorVertices):
2386         (WebCore::LoopBlinnPathProcessorImplementation::Segment::getInteriorVertex):
2387         (WebCore::LoopBlinnPathProcessorImplementation::Segment::markedForSubdivision):
2388         (WebCore::LoopBlinnPathProcessorImplementation::Segment::setMarkedForSubdivision):
2389         (WebCore::LoopBlinnPathProcessorImplementation::Segment::toString):
2390         (WebCore::LoopBlinnPathProcessorImplementation::Segment::computeBoundingBox):
2391         (WebCore::LoopBlinnPathProcessorImplementation::Contour::Contour):
2392         (WebCore::LoopBlinnPathProcessorImplementation::Contour::add):
2393         (WebCore::LoopBlinnPathProcessorImplementation::Contour::subdivide):
2394         (WebCore::LoopBlinnPathProcessorImplementation::Contour::begin):
2395         (WebCore::LoopBlinnPathProcessorImplementation::Contour::end):
2396         (WebCore::LoopBlinnPathProcessorImplementation::Contour::isOrientedCounterClockwise):
2397         (WebCore::LoopBlinnPathProcessorImplementation::Contour::setIsOrientedCounterClockwise):
2398         (WebCore::LoopBlinnPathProcessorImplementation::Contour::boundingBox):
2399         (WebCore::LoopBlinnPathProcessorImplementation::Contour::fillSide):
2400         (WebCore::LoopBlinnPathProcessorImplementation::Contour::setFillSide):
2401         (WebCore::LoopBlinnPathProcessorImplementation::Segment::triangulate):
2402         (WebCore::LoopBlinnPathProcessor::LoopBlinnPathProcessor):
2403         (WebCore::LoopBlinnPathProcessor::~LoopBlinnPathProcessor):
2404         (WebCore::LoopBlinnPathProcessor::process):
2405         (WebCore::LoopBlinnPathProcessor::buildContours):
2406         (WebCore::LoopBlinnPathProcessor::allSegmentsOverlappingY):
2407         (WebCore::LoopBlinnPathProcessor::determineSidesToFill):
2408         (WebCore::LoopBlinnPathProcessor::determineOrientation):
2409         (WebCore::SweepData::SweepEvent::SweepEvent):
2410         (WebCore::SweepData::SweepEvent::setup):
2411         (WebCore::SweepData::SweepEvent::x):
2412         (WebCore::SweepData::SweepEvent::entry):
2413         (WebCore::SweepData::SweepEvent::interval):
2414         (WebCore::SweepData::SweepEvent::operator<):
2415         (WebCore::SweepData::trianglesOverlap):
2416         (WebCore::LoopBlinnPathProcessor::subdivideCurves):
2417         (WebCore::LoopBlinnPathProcessor::conditionallySubdivide):
2418         (WebCore::LoopBlinnPathProcessor::subdivideCurvesSlow):
2419         (WebCore::TessellationState::vertexCallback):
2420         (WebCore::TessellationState::combineCallback):
2421         (WebCore::TessellationState::edgeFlagCallback):
2422         (WebCore::LoopBlinnPathProcessor::tessellateInterior):
2423         * platform/graphics/gpu/LoopBlinnPathProcessor.h: Added.
2424
2425 2011-02-10  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
2426
2427         Reviewed by Andreas Kling.
2428
2429         [Qt] Remove the use of deprecated qVariant*
2430         https://bugs.webkit.org/show_bug.cgi?id=54229
2431
2432         This was applied on the Qt repository and affects QtWebKit there.
2433         (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
2434
2435         The side effect of this change is that we won't be able to build
2436         QtWebKit with MSVC 6, as it doesn't support member template functions
2437         (not sure if it's possible today anyway).
2438
2439         Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
2440         review reported as being from the mailing list.
2441
2442         The changes are result of the following commands:
2443
2444             git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
2445             git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
2446             git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
2447             git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
2448             git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
2449             git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue
2450
2451         * bridge/qt/qt_runtime.cpp:
2452         (JSC::Bindings::convertValueToQVariant):
2453         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2454         (WebCore::MediaPlayerPrivateQt::commitLoad):
2455
2456 2011-02-10  Nico Weber  <thakis@chromium.org>
2457
2458         Reviewed by Darin Adler.
2459
2460         Fix clang warning "WebCore::HTMLAreaElement::getRect' hides overloaded virtual function [-Woverloaded-virtual]"
2461         https://bugs.webkit.org/show_bug.cgi?id=54221
2462
2463         The method name conflicts with ContainerNode::getRect() so rename it to
2464         computeRect(). Rename getPath() to computePath() for consistency as
2465         well.
2466
2467         No intended functionality change, covered by existing tests.
2468
2469         * accessibility/AccessibilityImageMapLink.cpp:
2470         (WebCore::AccessibilityImageMapLink::elementRect):
2471         * html/HTMLAreaElement.cpp:
2472         (WebCore::HTMLAreaElement::computePath):
2473         (WebCore::HTMLAreaElement::computeRect):
2474         * html/HTMLAreaElement.h:
2475         * page/SpatialNavigation.cpp:
2476         (WebCore::virtualRectForAreaElementAndDirection):
2477         * rendering/RenderImage.cpp:
2478         (WebCore::RenderImage::paintFocusRing):
2479
2480 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
2481
2482         Reviewed by Andreas Kling.
2483
2484         [Qt] Default focus ring is too wide
2485         https://bugs.webkit.org/show_bug.cgi?id=51854
2486
2487         We now respect the outline property and html.css defines the outline of the focus
2488         ring to be 5px. This is propagated until GraphicsContext::drawFocusRing which uses
2489         it as the pen size. We should ignore the size and keep a default one. I also
2490         reverted the SolidLine to DotLine so that the selection looks nicer. Chromium Skia,
2491         CG Win, Haiku, WinCE ports also ignore the width.
2492
2493         * platform/graphics/qt/GraphicsContextQt.cpp:
2494         (WebCore::drawFocusRingForPath):
2495         (WebCore::GraphicsContext::drawFocusRing):
2496
2497 2011-02-10  Martin Robinson  <mrobinson@igalia.com>
2498
2499         Reviewed by Gustavo Noronha Silva.
2500
2501         [Soup] ResourceHandleSoup does not ever call didSendData for file uploads
2502         https://bugs.webkit.org/show_bug.cgi?id=52090
2503
2504         Call didSendData as body data is uploaded to the server. This is necessary
2505         for XHR upload events to function properly.
2506
2507         * platform/network/ResourceHandleInternal.h:
2508         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Add two new members.
2509         One to track the total amount of body data and one to track the total amount of
2510         body data sent so far.
2511         * platform/network/soup/ResourceHandleSoup.cpp:
2512         (WebCore::wroteBodyDataCallback): Added.
2513         (WebCore::addFormElementsToSoupMessage): Split this out into a helper function.
2514         Will now now sum the total amount of body data.
2515         (WebCore::startHttp): Attach a wrote-body-data signal handler.
2516
2517 2011-02-10  Bill Budge  <bbudge@chromium.org>
2518
2519         Reviewed by David Levin.
2520
2521         Add fields to ResourceRequest and ResourceResponse in preparation for adding CORS support to AssociatedURLLoader.
2522         https://bugs.webkit.org/show_bug.cgi?id=53925
2523
2524         * platform/network/chromium/ResourceRequest.cpp:
2525         (WebCore::ResourceRequest::doPlatformCopyData):
2526         (WebCore::ResourceRequest::doPlatformAdopt):
2527         * platform/network/chromium/ResourceRequest.h:
2528         (WebCore::ResourceRequest::ResourceRequest):
2529         (WebCore::ResourceRequest::downloadToFile):
2530         (WebCore::ResourceRequest::setDownloadToFile):
2531         * platform/network/chromium/ResourceResponse.cpp:
2532         (WebCore::ResourceResponse::doPlatformCopyData):
2533         (WebCore::ResourceResponse::doPlatformAdopt):
2534         * platform/network/chromium/ResourceResponse.h:
2535         (WebCore::ResourceResponse::downloadFilePath):
2536         (WebCore::ResourceResponse::setDownloadFilePath):
2537
2538 2011-02-10  Dirk Schulze  <krit@webkit.org>
2539
2540         Reviewed by Nikolas Zimmermann.
2541
2542         SVGAnimateElement needs information about the animated attribute type
2543         https://bugs.webkit.org/show_bug.cgi?id=53442
2544
2545         For animations, we need to know the SVG property type for a XML attribute. A global static mapping between
2546         attribute name and a type is not possible, since one attribute name can be bound to different property types:
2547         x can be a SVGNumberList, a SVGNumber or a SVGLength. So we have to ask every target element, if it supports
2548         the animated attribute and of which type it is. Just for CSS properties we can share an explicit mapping between
2549         the name and the type. This is done in a static map in SVGStyledElement. All other mappings are stored in local static
2550         HashMaps for all SVG elements with animated properties. These maps get filled once with the fillAttributeToPropertyTypeMap function
2551         that needs to be included in every SVG element. The function is not virtual in base classes for performance reasons.
2552
2553         No change of functionality, so no new test cases.
2554
2555         * svg/SVGAElement.cpp:
2556         (WebCore::SVGAElement::attributeToPropertyTypeMap):
2557         (WebCore::SVGAElement::fillAttributeToPropertyTypeMap):
2558         * svg/SVGAElement.h:
2559         * svg/SVGAltGlyphElement.cpp:
2560         (WebCore::SVGAltGlyphElement::attributeToPropertyTypeMap):
2561         (WebCore::SVGAltGlyphElement::fillAttributeToPropertyTypeMap):
2562         * svg/SVGAltGlyphElement.h:
2563         * svg/SVGAnimateElement.cpp:
2564         (WebCore::SVGAnimateElement::determinePropertyType):
2565         * svg/SVGCircleElement.cpp:
2566         (WebCore::SVGCircleElement::attributeToPropertyTypeMap):
2567         (WebCore::SVGCircleElement::fillAttributeToPropertyTypeMap):
2568         * svg/SVGCircleElement.h:
2569         * svg/SVGClipPathElement.cpp:
2570         (WebCore::SVGClipPathElement::attributeToPropertyTypeMap):
2571         (WebCore::SVGClipPathElement::fillAttributeToPropertyTypeMap):
2572         * svg/SVGClipPathElement.h:
2573         * svg/SVGComponentTransferFunctionElement.cpp:
2574         (WebCore::SVGComponentTransferFunctionElement::attributeToPropertyTypeMap):
2575         (WebCore::SVGComponentTransferFunctionElement::fillAttributeToPropertyTypeMap):
2576         * svg/SVGComponentTransferFunctionElement.h:
2577         * svg/SVGCursorElement.cpp:
2578         (WebCore::SVGCursorElement::attributeToPropertyTypeMap):
2579         (WebCore::SVGCursorElement::fillAttributeToPropertyTypeMap):
2580         * svg/SVGCursorElement.h:
2581         * svg/SVGElement.cpp:
2582         (WebCore::SVGElement::attributeToPropertyTypeMap):
2583         (WebCore::SVGElement::animatedPropertyTypeForAttribute):
2584         * svg/SVGElement.h:
2585         (WebCore::SVGElement::fillAttributeToPropertyTypeMap):
2586         * svg/SVGEllipseElement.cpp:
2587         (WebCore::SVGEllipseElement::attributeToPropertyTypeMap):
2588         (WebCore::SVGEllipseElement::fillAttributeToPropertyTypeMap):
2589         * svg/SVGEllipseElement.h:
2590         * svg/SVGFEBlendElement.cpp:
2591         (WebCore::SVGFEBlendElement::attributeToPropertyTypeMap):
2592         (WebCore::SVGFEBlendElement::fillAttributeToPropertyTypeMap):
2593         * svg/SVGFEBlendElement.h:
2594         * svg/SVGFEColorMatrixElement.cpp:
2595         (WebCore::SVGFEColorMatrixElement::attributeToPropertyTypeMap):
2596         (WebCore::SVGFEColorMatrixElement::fillAttributeToPropertyTypeMap):
2597         * svg/SVGFEColorMatrixElement.h:
2598         * svg/SVGFEComponentTransferElement.cpp:
2599         (WebCore::SVGFEComponentTransferElement::attributeToPropertyTypeMap):
2600         (WebCore::SVGFEComponentTransferElement::fillAttributeToPropertyTypeMap):
2601         * svg/SVGFEComponentTransferElement.h:
2602         * svg/SVGFECompositeElement.cpp:
2603         (WebCore::SVGFECompositeElement::attributeToPropertyTypeMap):
2604         (WebCore::SVGFECompositeElement::fillAttributeToPropertyTypeMap):
2605         * svg/SVGFECompositeElement.h:
2606         * svg/SVGFEConvolveMatrixElement.cpp:
2607         (WebCore::SVGFEConvolveMatrixElement::attributeToPropertyTypeMap):
2608         (WebCore::SVGFEConvolveMatrixElement::fillAttributeToPropertyTypeMap):
2609         * svg/SVGFEConvolveMatrixElement.h:
2610         * svg/SVGFEDiffuseLightingElement.cpp:
2611         (WebCore::SVGFEDiffuseLightingElement::attributeToPropertyTypeMap):
2612         (WebCore::SVGFEDiffuseLightingElement::fillAttributeToPropertyTypeMap):
2613         * svg/SVGFEDiffuseLightingElement.h:
2614         * svg/SVGFEDisplacementMapElement.cpp:
2615         (WebCore::SVGFEDisplacementMapElement::attributeToPropertyTypeMap):
2616         (WebCore::SVGFEDisplacementMapElement::fillAttributeToPropertyTypeMap):
2617         * svg/SVGFEDisplacementMapElement.h:
2618         * svg/SVGFEFloodElement.cpp:
2619         (WebCore::SVGFEFloodElement::attributeToPropertyTypeMap):
2620         (WebCore::SVGFEFloodElement::fillAttributeToPropertyTypeMap):
2621         * svg/SVGFEFloodElement.h:
2622         * svg/SVGFEGaussianBlurElement.cpp:
2623         (WebCore::SVGFEGaussianBlurElement::attributeToPropertyTypeMap):
2624         (WebCore::SVGFEGaussianBlurElement::fillAttributeToPropertyTypeMap):
2625         * svg/SVGFEGaussianBlurElement.h:
2626         * svg/SVGFEImageElement.cpp:
2627         (WebCore::SVGFEImageElement::attributeToPropertyTypeMap):
2628         (WebCore::SVGFEImageElement::fillAttributeToPropertyTypeMap):
2629         * svg/SVGFEImageElement.h:
2630         * svg/SVGFELightElement.cpp:
2631         (WebCore::SVGFELightElement::attributeToPropertyTypeMap):
2632         (WebCore::SVGFELightElement::fillAttributeToPropertyTypeMap):
2633         * svg/SVGFELightElement.h:
2634         * svg/SVGFEMergeElement.cpp:
2635         (WebCore::SVGFEMergeElement::attributeToPropertyTypeMap):
2636         (WebCore::SVGFEMergeElement::fillAttributeToPropertyTypeMap):
2637         * svg/SVGFEMergeElement.h:
2638         * svg/SVGFEMergeNodeElement.cpp:
2639         (WebCore::SVGFEMergeNodeElement::attributeToPropertyTypeMap):
2640         (WebCore::SVGFEMergeNodeElement::fillAttributeToPropertyTypeMap):
2641         * svg/SVGFEMergeNodeElement.h:
2642         * svg/SVGFEMorphologyElement.cpp:
2643         (WebCore::SVGFEMorphologyElement::attributeToPropertyTypeMap):
2644         (WebCore::SVGFEMorphologyElement::fillAttributeToPropertyTypeMap):
2645         * svg/SVGFEMorphologyElement.h:
2646         * svg/SVGFEOffsetElement.cpp:
2647         (WebCore::SVGFEOffsetElement::attributeToPropertyTypeMap):
2648         (WebCore::SVGFEOffsetElement::fillAttributeToPropertyTypeMap):
2649         * svg/SVGFEOffsetElement.h:
2650         * svg/SVGFESpecularLightingElement.cpp:
2651         (WebCore::SVGFESpecularLightingElement::attributeToPropertyTypeMap):
2652         (WebCore::SVGFESpecularLightingElement::fillAttributeToPropertyTypeMap):
2653         * svg/SVGFESpecularLightingElement.h:
2654         * svg/SVGFETileElement.cpp:
2655         (WebCore::SVGFETileElement::attributeToPropertyTypeMap):
2656         (WebCore::SVGFETileElement::fillAttributeToPropertyTypeMap):
2657         * svg/SVGFETileElement.h:
2658         * svg/SVGFETurbulenceElement.cpp:
2659         (WebCore::SVGFETurbulenceElement::attributeToPropertyTypeMap):
2660         (WebCore::SVGFETurbulenceElement::fillAttributeToPropertyTypeMap):
2661         * svg/SVGFETurbulenceElement.h:
2662         * svg/SVGFilterElement.cpp:
2663         (WebCore::SVGFilterElement::attributeToPropertyTypeMap):
2664         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
2665         * svg/SVGFilterElement.h:
2666         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2667         (WebCore::SVGFilterPrimitiveStandardAttributes::fillAttributeToPropertyTypeMap):
2668         * svg/SVGFilterPrimitiveStandardAttributes.h:
2669         * svg/SVGFontElement.cpp:
2670         (WebCore::SVGFontElement::attributeToPropertyTypeMap):
2671         (WebCore::SVGFontElement::fillAttributeToPropertyTypeMap):
2672         * svg/SVGFontElement.h:
2673         (WebCore::SVGFontElement::rendererIsNeeded):
2674         * svg/SVGForeignObjectElement.cpp:
2675         (WebCore::SVGForeignObjectElement::attributeToPropertyTypeMap):
2676         (WebCore::SVGForeignObjectElement::fillAttributeToPropertyTypeMap):
2677         * svg/SVGForeignObjectElement.h:
2678         * svg/SVGGlyphElement.cpp:
2679         (WebCore::SVGGlyphElement::attributeToPropertyTypeMap):
2680         (WebCore::SVGGlyphElement::fillAttributeToPropertyTypeMap):
2681         * svg/SVGGlyphElement.h:
2682         * svg/SVGGradientElement.cpp:
2683         (WebCore::SVGGradientElement::fillAttributeToPropertyTypeMap):
2684         * svg/SVGGradientElement.h:
2685         * svg/SVGImageElement.cpp:
2686         (WebCore::SVGImageElement::attributeToPropertyTypeMap):
2687         (WebCore::SVGImageElement::fillAttributeToPropertyTypeMap):
2688         * svg/SVGImageElement.h:
2689         * svg/SVGLineElement.cpp:
2690         (WebCore::SVGLineElement::attributeToPropertyTypeMap):
2691         (WebCore::SVGLineElement::fillAttributeToPropertyTypeMap):
2692         * svg/SVGLineElement.h:
2693         * svg/SVGLinearGradientElement.cpp:
2694         (WebCore::SVGLinearGradientElement::attributeToPropertyTypeMap):
2695         (WebCore::SVGLinearGradientElement::fillAttributeToPropertyTypeMap):
2696         * svg/SVGLinearGradientElement.h:
2697         * svg/SVGMPathElement.cpp:
2698         (WebCore::SVGMPathElement::attributeToPropertyTypeMap):
2699         (WebCore::SVGMPathElement::fillAttributeToPropertyTypeMap):
2700         * svg/SVGMPathElement.h:
2701         * svg/SVGMarkerElement.cpp:
2702         (WebCore::SVGMarkerElement::attributeToPropertyTypeMap):
2703         (WebCore::SVGMarkerElement::fillAttributeToPropertyTypeMap):
2704         * svg/SVGMarkerElement.h:
2705         * svg/SVGMaskElement.cpp:
2706         (WebCore::SVGMaskElement::attributeToPropertyTypeMap):
2707         (WebCore::SVGMaskElement::fillAttributeToPropertyTypeMap):
2708         * svg/SVGMaskElement.h:
2709         * svg/SVGMissingGlyphElement.cpp:
2710         (WebCore::SVGMissingGlyphElement::attributeToPropertyTypeMap):
2711         (WebCore::SVGMissingGlyphElement::fillAttributeToPropertyTypeMap):
2712         * svg/SVGMissingGlyphElement.h:
2713         * svg/SVGPathElement.cpp:
2714         (WebCore::SVGPathElement::attributeToPropertyTypeMap):
2715         (WebCore::SVGPathElement::fillAttributeToPropertyTypeMap):
2716         * svg/SVGPathElement.h:
2717         * svg/SVGPatternElement.cpp:
2718         (WebCore::SVGPatternElement::attributeToPropertyTypeMap):
2719         (WebCore::SVGPatternElement::fillAttributeToPropertyTypeMap):
2720         * svg/SVGPatternElement.h:
2721         * svg/SVGPolyElement.cpp:
2722         (WebCore::SVGPolyElement::attributeToPropertyTypeMap):
2723         (WebCore::SVGPolyElement::fillAttributeToPropertyTypeMap):
2724         * svg/SVGPolyElement.h:
2725         * svg/SVGRadialGradientElement.cpp:
2726         (WebCore::SVGRadialGradientElement::attributeToPropertyTypeMap):
2727         (WebCore::SVGRadialGradientElement::fillAttributeToPropertyTypeMap):
2728         * svg/SVGRadialGradientElement.h:
2729         * svg/SVGRectElement.cpp:
2730         (WebCore::SVGRectElement::attributeToPropertyTypeMap):
2731         (WebCore::SVGRectElement::fillAttributeToPropertyTypeMap):
2732         * svg/SVGRectElement.h:
2733         * svg/SVGSVGElement.cpp:
2734         (WebCore::SVGSVGElement::attributeToPropertyTypeMap):
2735         (WebCore::SVGSVGElement::fillAttributeToPropertyTypeMap):
2736         * svg/SVGSVGElement.h:
2737         * svg/SVGScriptElement.cpp:
2738         (WebCore::SVGScriptElement::attributeToPropertyTypeMap):
2739         (WebCore::SVGScriptElement::fillAttributeToPropertyTypeMap):
2740         * svg/SVGScriptElement.h:
2741         * svg/SVGStopElement.cpp:
2742         (WebCore::SVGStopElement::attributeToPropertyTypeMap):
2743         (WebCore::SVGStopElement::fillAttributeToPropertyTypeMap):
2744         * svg/SVGStopElement.h:
2745         * svg/SVGStyledElement.cpp:
2746         (WebCore::cssPropertyToTypeMap):
2747         (WebCore::SVGStyledElement::animatedPropertyTypeForCSSProperty):
2748         (WebCore::SVGStyledElement::fillAttributeToPropertyTypeMap):
2749         * svg/SVGStyledElement.h:
2750         * svg/SVGStyledTransformableElement.cpp:
2751         (WebCore::SVGStyledTransformableElement::fillAttributeToPropertyTypeMap):
2752         * svg/SVGStyledTransformableElement.h:
2753         * svg/SVGSwitchElement.cpp:
2754         (WebCore::SVGSwitchElement::attributeToPropertyTypeMap):
2755         (WebCore::SVGSwitchElement::fillAttributeToPropertyTypeMap):
2756         * svg/SVGSwitchElement.h:
2757         * svg/SVGSymbolElement.cpp:
2758         (WebCore::SVGSymbolElement::attributeToPropertyTypeMap):
2759         (WebCore::SVGSymbolElement::fillAttributeToPropertyTypeMap):
2760         * svg/SVGSymbolElement.h:
2761         * svg/SVGTRefElement.cpp:
2762         (WebCore::SVGTRefElement::attributeToPropertyTypeMap):
2763         (WebCore::SVGTRefElement::fillAttributeToPropertyTypeMap):
2764         * svg/SVGTRefElement.h:
2765         * svg/SVGTSpanElement.cpp:
2766         (WebCore::SVGTSpanElement::attributeToPropertyTypeMap):
2767         (WebCore::SVGTSpanElement::fillAttributeToPropertyTypeMap):
2768         * svg/SVGTSpanElement.h:
2769         * svg/SVGTextContentElement.cpp:
2770         (WebCore::SVGTextContentElement::fillAttributeToPropertyTypeMap):
2771         * svg/SVGTextContentElement.h:
2772         * svg/SVGTextElement.cpp:
2773         (WebCore::SVGTextElement::attributeToPropertyTypeMap):
2774         (WebCore::SVGTextElement::fillAttributeToPropertyTypeMap):
2775         * svg/SVGTextElement.h:
2776         * svg/SVGTextPathElement.cpp:
2777         (WebCore::SVGTextPathElement::attributeToPropertyTypeMap):
2778         (WebCore::SVGTextPathElement::fillAttributeToPropertyTypeMap):
2779         * svg/SVGTextPathElement.h:
2780         * svg/SVGTextPositioningElement.cpp:
2781         (WebCore::SVGTextPositioningElement::fillAttributeToPropertyTypeMap):
2782         * svg/SVGTextPositioningElement.h:
2783         * svg/SVGTitleElement.cpp:
2784         (WebCore::SVGTitleElement::attributeToPropertyTypeMap):
2785         (WebCore::SVGTitleElement::fillAttributeToPropertyTypeMap):
2786         * svg/SVGTitleElement.h:
2787         * svg/SVGUseElement.cpp:
2788         (WebCore::SVGUseElement::attributeToPropertyTypeMap):
2789         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap):
2790         * svg/SVGUseElement.h:
2791         * svg/SVGViewElement.cpp:
2792         (WebCore::SVGViewElement::attributeToPropertyTypeMap):
2793         (WebCore::SVGViewElement::fillAttributeToPropertyTypeMap):
2794         * svg/SVGViewElement.h:
2795
2796 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
2797
2798         Reviewed by Andreas Kling.
2799
2800         Fix a Warning after removing FileSystem support for the inspector.
2801
2802         * WebCore.pro:
2803
2804 2011-02-10  Chris Fleizach  <cfleizach@apple.com>
2805
2806         Reviewed by Anders Carlsson.
2807
2808         AX: AX needs to stop using WebCoreViewFactory
2809         https://bugs.webkit.org/show_bug.cgi?id=54153
2810
2811         WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
2812         to get off of it and use WebCoreSystemInterface, like other clients.
2813
2814         * WebCore.exp.in:
2815         * accessibility/AXObjectCache.h:
2816         * accessibility/mac/AXObjectCacheMac.mm:
2817         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2818         * accessibility/mac/AccessibilityObjectWrapper.h:
2819         * accessibility/mac/AccessibilityObjectWrapper.mm:
2820         (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
2821         (CFAutoreleaseHelper):
2822         (AXObjectIsTextMarker):
2823         (AXObjectIsTextMarkerRange):
2824         (AXTextMarkerRange):
2825         (AXTextMarkerRangeStart):
2826         (AXTextMarkerRangeEnd):
2827         (textMarkerForVisiblePosition):
2828         (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
2829         (visiblePositionForTextMarker):
2830         (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
2831         (visiblePositionForStartOfTextMarkerRange):
2832         (visiblePositionForEndOfTextMarkerRange):
2833         (textMarkerRangeFromMarkers):
2834         (AXAttributeStringSetElement):
2835         (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
2836         (textMarkerRangeFromVisiblePositions):
2837         (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
2838         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
2839         (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
2840         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
2841         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2842         * editing/mac/SelectionControllerMac.mm:
2843         (WebCore::accessibilityConvertScreenRect):
2844         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2845         * platform/mac/WebCoreSystemInterface.h:
2846         * platform/mac/WebCoreSystemInterface.mm:
2847
2848 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
2849
2850         Reviewed by Andreas Kling.
2851
2852         [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
2853         https://bugs.webkit.org/show_bug.cgi?id=54201
2854
2855         Add files for the fullscreen video playback handling. It also fix
2856         a missing header.
2857
2858         * WebCore.pro:
2859
2860 2011-02-09  Pavel Feldman  <pfeldman@chromium.org>
2861
2862         Reviewed by Yury Semikhatsky.
2863
2864         Web Inspector: Remove FileSystem support from the inspector.
2865         https://bugs.webkit.org/show_bug.cgi?id=50695
2866
2867         * CMakeLists.txt:
2868         * GNUmakefile.am:
2869         * WebCore.gypi:
2870         * WebCore.pro:
2871         * WebCore.vcproj/WebCore.vcproj:
2872         * WebCore.xcodeproj/project.pbxproj:
2873         * inspector/Inspector.idl:
2874         * inspector/InspectorApplicationCacheAgent.cpp:
2875         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2876         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
2877         * inspector/InspectorApplicationCacheAgent.h:
2878         * inspector/InspectorFileSystemAgent.cpp: Removed.
2879         * inspector/InspectorFileSystemAgent.h: Removed.
2880         * inspector/InspectorInstrumentation.cpp:
2881         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
2882         (WebCore::InspectorInstrumentation::willSendRequestImpl):
2883         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
2884         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
2885         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
2886         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
2887         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
2888         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
2889         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
2890         (WebCore::InspectorInstrumentation::scriptImportedImpl):
2891         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
2892         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
2893         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
2894         * inspector/front-end/FileSystemView.js: Removed.
2895         * inspector/front-end/WebKit.qrc:
2896         * inspector/front-end/inspector.html:
2897
2898 2011-02-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2899
2900         Unreviewed, rolling out r78219.
2901         http://trac.webkit.org/changeset/78219
2902         https://bugs.webkit.org/show_bug.cgi?id=54215
2903
2904         breaks editing/style/iframe-onload-crash.html on GTK 64-bit
2905         Debug (Requested by philn-tp on #webkit).
2906
2907         * dom/Document.h:
2908         * dom/DocumentFragment.h:
2909         * dom/Element.h:
2910         * dom/Node.h:
2911         * dom/Text.h:
2912         * editing/htmlediting.cpp:
2913         (WebCore::editingIgnoresContent):
2914         (WebCore::canHaveChildrenForEditing):
2915         * editing/htmlediting.h:
2916         * html/HTMLBRElement.h:
2917         * html/HTMLButtonElement.h:
2918         * html/HTMLDataGridElement.h:
2919         * html/HTMLFormControlElement.h:
2920         * html/HTMLFrameElementBase.h:
2921         * html/HTMLHRElement.h:
2922         * html/HTMLImageElement.h:
2923         * html/HTMLMeterElement.h:
2924         * html/HTMLOutputElement.h:
2925         * html/HTMLPlugInElement.h:
2926         * html/HTMLProgressElement.h:
2927         * wml/WMLBRElement.h:
2928         * wml/WMLDoElement.h:
2929         * wml/WMLImageElement.h:
2930         * wml/WMLInputElement.h:
2931         * wml/WMLSelectElement.h:
2932
2933 2011-02-10  Andras Becsi  <abecsi@webkit.org>
2934
2935         Rubber-stamped by Csaba Osztrogon√°c.
2936
2937         [Qt][V8] Fix the build.
2938
2939         No new tests needed.
2940
2941         * bindings/v8/WorkerContextExecutionProxy.cpp: add missing CString header.
2942         * loader/cache/CachedScript.h: do not use extra qualification for base class enum.
2943
2944 2011-02-10  Alexander Pavlov  <apavlov@chromium.org>
2945
2946         Reviewed by Yury Semikhatsky.
2947
2948         Web Inspector: [STYLES] Suggest CSS property values once Up/Down is pressed with an empty input
2949         https://bugs.webkit.org/show_bug.cgi?id=54205
2950
2951         * inspector/front-end/CSSCompletions.js:
2952         (WebInspector.CSSCompletions):
2953         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
2954         * inspector/front-end/CSSKeywordCompletions.js:
2955         (WebInspector.CSSKeywordCompletions.forProperty):
2956         * inspector/front-end/StylesSidebarPane.js:
2957         ():
2958         * inspector/front-end/TextPrompt.js:
2959         (WebInspector.TextPrompt.prototype.complete):
2960
2961 2011-02-10  Renata Hodovan  <reni@webkit.org>
2962
2963         Reviewed by Dirk Schulze.
2964
2965         SVGFESpecularLightingElement doesn't support dynamic invalidation, when attributes change.
2966         https://bugs.webkit.org/show_bug.cgi?id=54186
2967
2968         The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary.
2969
2970         Tests: svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html
2971                svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html
2972                svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html
2973                svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html
2974                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html
2975                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html
2976                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html
2977                svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html
2978
2979         * svg/SVGFESpecularLightingElement.cpp:
2980         (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
2981         * svg/SVGFESpecularLightingElement.h:
2982
2983 2011-02-10  Andrey Adaikin  <aandrey@google.com>
2984
2985         Reviewed by Pavel Feldman.
2986
2987         Web Inspector: Error messages are not displayed for the last line in a script
2988         https://bugs.webkit.org/show_bug.cgi?id=54204
2989
2990         * inspector/front-end/SourceFrame.js:
2991         (WebInspector.SourceFrame.prototype.addMessage):
2992         (WebInspector.SourceFrame.prototype._addMessageToSource):
2993         (WebInspector.SourceFrame.prototype._createConditionElement):
2994
2995 2011-02-10  Ryosuke Niwa  <rniwa@webkit.org>
2996
2997         Reviewed by Eric Seidel.
2998
2999         Make canHaveChildrenForEditing more efficient
3000         https://bugs.webkit.org/show_bug.cgi?id=53564
3001
3002         Improved the performance (1-2% in release and 20% in debug) by adding virtual member function
3003         canContainRangeEndPoint to Node. It returns true whenever the associated node can have be a container
3004         node for a position.
3005
3006         As of this revision, canContainRangeEndPoint returns true on Document, DocumentFragment, Text nodes
3007         and any elements except:
3008
3009         HTML: applet, br, button, datagrid, embed, frame, frameset, hr, img, input,
3010               meter, object, output, progress, and select.
3011
3012         WML: br, do, img, input, and select.
3013
3014         No new tests are added since this change cannot be tested directly.
3015
3016         * dom/Document.h:
3017         (WebCore::Document::canContainRangeEndPoint): Added; returns false.
3018         * dom/DocumentFragment.h:
3019         (WebCore::DocumentFragment::canContainRangeEndPoint): Added; returns true.
3020         * dom/Element.h:
3021         (WebCore::Element::canContainRangeEndPoint): Ditto.
3022         * dom/Node.h:
3023         (WebCore::Node::canContainRangeEndPoint): Added; returns false.
3024         * dom/Text.h:
3025         (WebCore::Text::canContainRangeEndPoint): Added; returns true.
3026         * editing/htmlediting.cpp: Removed editingIgnoresContent and canHaveChildrenForEditing.
3027         * editing/htmlediting.h:
3028         (WebCore::editingIgnoresContent): Moved from htmlediting.cpp; made it inline.
3029         (WebCore::canHaveChildrenForEditing): Ditto.
3030         * html/HTMLBRElement.h:
3031         (WebCore::HTMLBRElement::canContainRangeEndPoint): Added; returns false.
3032         * html/HTMLButtonElement.h:
3033         (WebCore::HTMLButtonElement::canContainRangeEndPoint): Ditto.
3034         * html/HTMLDataGridElement.h:
3035         (WebCore::HTMLDataGridElement::canContainRangeEndPoint): Ditto.
3036         * html/HTMLFormControlElement.h:
3037         (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint): Ditto.
3038         * html/HTMLFrameElementBase.h:
3039         (WebCore::HTMLFrameElementBase::canContainRangeEndPoint): Ditto.
3040         * html/HTMLHRElement.h:
3041         (WebCore::HTMLHRElement::canContainRangeEndPoint): Ditto.
3042         * html/HTMLImageElement.h:
3043         (WebCore::HTMLImageElement::canContainRangeEndPoint): Ditto.
3044         * html/HTMLMeterElement.h:
3045         (WebCore::HTMLMeterElement::canContainRangeEndPoint): Ditto.
3046         * html/HTMLOutputElement.h:
3047         (WebCore::HTMLOutputElement::canContainRangeEndPoint): Ditto.
3048         * html/HTMLPlugInElement.h:
3049         (WebCore::HTMLPlugInElement::canContainRangeEndPoint): Ditto.
3050         * html/HTMLProgressElement.h:
3051         (WebCore::HTMLProgressElement::canContainRangeEndPoint): Ditto.
3052         * wml/WMLBRElement.h:
3053         (WebCore::WMLBRElement::canContainRangeEndPoint): Ditto.
3054         * wml/WMLDoElement.h:
3055         (WebCore::WMLDoElement::canContainRangeEndPoint): Ditto.
3056         * wml/WMLImageElement.h:
3057         (WebCore::WMLImageElement::canContainRangeEndPoint): Ditto.
3058         * wml/WMLInputElement.h:
3059         (WebCore::WMLInputElement::canContainRangeEndPoint): Ditto.
3060         * wml/WMLSelectElement.h:
3061         (WebCore::WMLSelectElement::canContainRangeEndPoint): Ditto.
3062
3063 2011-02-10  Pavel Feldman  <pfeldman@chromium.org>
3064
3065         Reviewed by Yury Semikhatsky.
3066
3067         Web Inspector: define interface per domain in Inspector.idl.
3068         https://bugs.webkit.org/show_bug.cgi?id=54135
3069
3070         * inspector/CodeGeneratorInspector.pm:
3071         * inspector/Inspector.idl:
3072
3073 2011-02-10  Andrey Adaikin  <aandrey@google.com>
3074
3075         Reviewed by Pavel Feldman.
3076
3077         Web Inspector: [regression] Fix syncing heights of the gutter and main panel lines, and add 2px padding-left
3078         https://bugs.webkit.org/show_bug.cgi?id=54098
3079
3080         * inspector/front-end/TextViewer.js:
3081         (WebInspector.TextViewer):
3082         (WebInspector.TextViewer.prototype._updatePanelOffsets):
3083         (WebInspector.TextViewer.prototype._syncScroll):
3084         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
3085         (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
3086         (WebInspector.TextEditorChunkedPanel.prototype.resize):
3087         (WebInspector.TextEditorGutterPanel):
3088         (WebInspector.TextEditorGutterChunk.prototype.set expanded):
3089         (WebInspector.TextEditorGutterChunk.prototype.get height):
3090         (WebInspector.TextEditorMainChunk.prototype.get height):
3091         * inspector/front-end/textViewer.css:
3092         (.webkit-line-content):
3093
3094 2011-02-10  takano takumi  <takano@apple.com>
3095
3096         Reviewed by Dan Bernstein.
3097
3098         A full-width character rotated leftward 90 degrees in text-combine
3099         https://bugs.webkit.org/show_bug.cgi?id=54169
3100
3101         * rendering/RenderCombineText.cpp:
3102         (WebCore::RenderCombineText::combineText):
3103         - Fixed by resetting font's orientation to horizontal when we decided to make combined text.
3104         Otherwise the text will be unexpectedly rotated in showGlyphsWithAdvances() in FontMac.mm.
3105
3106 2011-02-10  Alexey Proskuryakov  <ap@apple.com>
3107
3108         Reviewed by Darin Adler.
3109
3110         https://bugs.webkit.org/show_bug.cgi?id=50306
3111         <rdar://problem/8976152> REGRESSION: WebChromeClient::shouldReplaceWithGeneratedFileForUpload()
3112         uses an initialized result value (breaks form submission with clang-built WebKit)
3113
3114         No new test, because I can't reproduce the observable effect with my gcc build.
3115
3116         * platform/network/FormData.cpp: (WebCore::FormData::appendKeyValuePairItems): Restore an
3117         empty path check - an empty path was causing an exception in Foundation.
3118
3119 2011-02-09  Andrey Kosyakov  <caseq@chromium.org>
3120
3121         Reviewed by Pavel Feldman.
3122
3123         Web Inspector: Network & Resource panels make multiple requests for images with no content
3124         https://bugs.webkit.org/show_bug.cgi?id=54085
3125
3126         - Added success parameter to resourceContent
3127         - NetworkManager.requestContent() now returns empty for zero-length resources, null for errors
3128
3129         * inspector/Inspector.idl:
3130         * inspector/InspectorResourceAgent.cpp:
3131         (WebCore::InspectorResourceAgent::resourceData):
3132         (WebCore::InspectorResourceAgent::resourceContent):
3133         * inspector/InspectorResourceAgent.h:
3134         * inspector/front-end/NetworkManager.js:
3135         (WebInspector.NetworkManager.prototype.requestContent):
3136         * inspector/front-end/Resource.js:
3137         (WebInspector.Resource.prototype.requestContent):
3138         (WebInspector.Resource.prototype._contentURL):
3139
3140 2011-02-10  Renata Hodovan  <reni@webkit.org>
3141
3142         Reviewed by Dirk Schulze.
3143
3144         Move the light source implementations into their own files.
3145         https://bugs.webkit.org/show_bug.cgi?id=53996
3146
3147         Splitting LightSource.cpp into 3 files.
3148
3149         No new tests are added since this is a refactoring.
3150
3151         * Android.mk:
3152         * CMakeLists.txt:
3153         * GNUmakefile.am:
3154         * WebCore.gypi:
3155         * WebCore.pro:
3156         * WebCore.vcproj/WebCore.vcproj:
3157         * WebCore.xcodeproj/project.pbxproj:
3158         * platform/graphics/filters/DistantLightSource.cpp: Added.
3159         (WebCore::DistantLightSource::initPaintingData):
3160         (WebCore::DistantLightSource::updatePaintingData):
3161         (WebCore::DistantLightSource::setAzimuth):
3162         (WebCore::DistantLightSource::setElevation):
3163         (WebCore::DistantLightSource::externalRepresentation):
3164         * platform/graphics/filters/LightSource.cpp:
3165         * platform/graphics/filters/PointLightSource.cpp: Added.
3166         (WebCore::PointLightSource::initPaintingData):
3167         (WebCore::PointLightSource::updatePaintingData):
3168         (WebCore::PointLightSource::setX):
3169         (WebCore::PointLightSource::setY):
3170         (WebCore::PointLightSource::setZ):
3171         (WebCore::operator<<):
3172         (WebCore::PointLightSource::externalRepresentation):
3173         * platform/graphics/filters/SpotLightSource.cpp: Added.
3174         (WebCore::SpotLightSource::initPaintingData):
3175         (WebCore::SpotLightSource::updatePaintingData):
3176         (WebCore::SpotLightSource::setX):
3177         (WebCore::SpotLightSource::setY):
3178         (WebCore::SpotLightSource::setZ):
3179         (WebCore::SpotLightSource::setPointsAtX):
3180         (WebCore::SpotLightSource::setPointsAtY):
3181         (WebCore::SpotLightSource::setPointsAtZ):
3182         (WebCore::SpotLightSource::setSpecularExponent):
3183         (WebCore::SpotLightSource::setLimitingConeAngle):
3184         (WebCore::operator<<):
3185         (WebCore::SpotLightSource::externalRepresentation):
3186
3187 2011-02-10  Avi Drissman  <avi@google.com>
3188
3189         Reviewed by Darin Fisher.
3190
3191         <option> should implement the dir attribute. Mac Chromium version, followup to r76983, r77654.
3192         https://bugs.webkit.org/show_bug.cgi?id=50969
3193
3194         Use manual test Source/WebCore/manual-tests/pop-up-alignment-and-direction.html added in r76983.
3195
3196         * platform/chromium/PopupMenuChromium.cpp:
3197         (WebCore::PopupListBox::updateFromElement):
3198         * platform/chromium/PopupMenuChromium.h:
3199
3200 2011-02-10  Hans Wennborg  <hans@chromium.org>
3201
3202         Reviewed by Jeremy Orlow.
3203
3204         IndexedDB: Update the semantics of put()
3205         https://bugs.webkit.org/show_bug.cgi?id=54102
3206
3207         Update the semantics of put: For object stores with auto increment,
3208         it should be allowed to provide an explicit key, or an in-line key,
3209         overriding the key generator mechanism.
3210
3211         This reflects the spec changes suggested here:
3212         http://www.w3.org/Bugs/Public/show_bug.cgi?id=11976
3213
3214         Extracting key-selection logic into its own function
3215         to make it a bit easier on the eyes.
3216
3217         * storage/IDBObjectStoreBackendImpl.cpp:
3218         (WebCore::IDBObjectStoreBackendImpl::selectKeyForPut):
3219         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3220         * storage/IDBObjectStoreBackendImpl.h:
3221         (WebCore::IDBObjectStoreBackendImpl::resetAutoIncrementKeyCache):
3222
3223 2011-02-09  Antti Koivisto  <antti@apple.com>
3224
3225         Reviewed by Darin Adler.
3226
3227         https://bugs.webkit.org/show_bug.cgi?id=54103
3228         Implement fast path for matching simple selectors
3229         
3230         Implement a fast path for single and descendant selectors consisting
3231         of id, class and tag selectors only.
3232         
3233         Selectors like this are marked on style selector initialization. When 
3234         encountered during style matching they are resolved using a fast path.
3235         
3236         Since selectors like this are very common this speeds up style matching
3237         quite a bit (up to 50% on some sites according to Shark).
3238
3239         * css/CSSStyleSelector.cpp:
3240         (WebCore::RuleData::hasFastCheckableSelector):
3241         (WebCore::RuleData::hasMultipartSelector):
3242         (WebCore::RuleData::hasTopSelectorMatchingHTMLBasedOnRuleHash):
3243         (WebCore::CSSStyleSelector::matchRulesForList):
3244         (WebCore::CSSStyleSelector::checkSelector):
3245         (WebCore::selectorTagMatches):
3246         (WebCore::isFastCheckableSelector):
3247         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
3248         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3249         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
3250         (WebCore::RuleData::RuleData):
3251         * css/CSSStyleSelector.h:
3252
3253 2011-02-09  Simon Fraser  <simon.fraser@apple.com>
3254
3255         Reviewed by Dan Bernstein.
3256
3257         REGRESSION (r77101) box-shadow sometimes renders incorrectly
3258         https://bugs.webkit.org/show_bug.cgi?id=54160
3259         
3260         Fix an issue when ShadowBlur had a cached image buffer
3261         that was larger than that of the current shadow being drawn,
3262         and the current shadow was partially clipped out.
3263         
3264         In that situation endShadowLayer() would clip to the image
3265         buffer, using the size of the buffer (as it must), but failed
3266         to take into account the fact that we'd only cleared and painted
3267         into a smaller section of the buffer. So we need to additionally
3268         constrain the clip to cover only the valid part of the buffer.
3269
3270         Test: fast/box-shadow/shadow-buffer-partial.html
3271
3272         * platform/graphics/ShadowBlur.cpp:
3273         (WebCore::ShadowBlur::endShadowLayer):
3274
3275 2011-02-09  Beth Dakin  <bdakin@apple.com>
3276
3277         Reviewed by Maciej Stachowiak.
3278
3279         Fix for <rdar://problem/8977051> CrashTracer: 8 crashes 
3280         in WebProcess at com.apple.WebCore: 
3281         -[ScrollbarPartAnimation setCurrentProgress:] + 364
3282
3283         The ScrollbarPartAnimation must be sent by reference!
3284         * platform/mac/ScrollAnimatorMac.mm:
3285         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
3286
3287 2011-02-09  Ryosuke Niwa  <rniwa@webkit.org>
3288
3289         Reviewed by Darin Adler.
3290
3291         REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange
3292         https://bugs.webkit.org/show_bug.cgi?id=54053
3293
3294         The bug was caused by RenderBlock::positionForPoint's improperly returning a shadow node inside
3295         RenderFileUploadControl for hit testing and VisibleSelection::toNormalizedRange's always assuming
3296         the position variable "s" is not null.
3297
3298         Fixed the bug by always returning a null position from RenderFileUploadControl::positionForPoint,
3299         and also exiting early when either "s" or "e" is null in VisibleSelection::toNormalizedRange.
3300
3301         Test: fast/forms/file-input-hit-test.html
3302
3303         * editing/VisibleSelection.cpp:
3304         (WebCore::VisibleSelection::toNormalizedRange):
3305         * rendering/RenderFileUploadControl.cpp:
3306         (WebCore::RenderFileUploadControl::positionForPoint):
3307         * rendering/RenderFileUploadControl.h:
3308
3309 2011-02-09  Sam Weinig  <sam@webkit.org>
3310
3311         Reviewed by Beth Dakin.
3312
3313         Overlay scrollbars crash used with a RenderListBox.
3314
3315         * rendering/RenderListBox.cpp:
3316         (WebCore::RenderListBox::layout):
3317         (WebCore::RenderListBox::contentsSize):
3318         (WebCore::RenderListBox::currentMousePosition):
3319         (WebCore::RenderListBox::setHasVerticalScrollbar):
3320         * rendering/RenderListBox.h:
3321         Implement enough of the ScrollableArea interface to get things generally
3322         working.
3323
3324 2011-02-09  Beth Dakin  <bdakin@apple.com>
3325
3326         Reviewed by Simon Fraser.
3327
3328         Fix for <rdar://problem/8966868> ScrollbarPainterDelegate 
3329         must return a layer if layer-backed to avoid crashing
3330
3331         New virtual function scrollbarWillRenderIntoCompositingLayer()
3332         on ScrollableArea.
3333         * page/FrameView.h:
3334         * platform/ScrollableArea.h:
3335         (WebCore::ScrollableArea::scrollbarWillRenderIntoCompositingLayer):
3336         * rendering/RenderLayer.h:
3337         (WebCore::RenderLayer::scrollbarWillRenderIntoCompositingLayer):
3338         * rendering/RenderListBox.cpp:
3339         (WebCore::RenderListBox::scrollbarWillRenderIntoCompositingLayer):
3340         * rendering/RenderListBox.h:
3341
3342         Clean up unnecessary method declarations and call 
3343         scrollbarWillRenderIntoCompositingLayer() to deterine if 
3344         we need to return a layer.
3345         * platform/mac/ScrollAnimatorMac.mm:
3346         (-[ScrollbarPainterDelegate layer]):
3347
3348 2011-02-09  Yael Aharon  <yael.aharon@nokia.com>
3349
3350         Reviewed by Darin Adler.
3351
3352         Replace static_cast<HTMLElement*> with toHTMLElement
3353         https://bugs.webkit.org/show_bug.cgi?id=54117
3354
3355         No new tests since no new functionality was introduced.
3356
3357         * accessibility/AccessibilityListBox.cpp:
3358         (WebCore::AccessibilityListBox::addChildren):
3359         * accessibility/AccessibilityMenuListPopup.cpp:
3360         (WebCore::AccessibilityMenuListPopup::addChildren):
3361         * accessibility/AccessibilityRenderObject.cpp:
3362         (WebCore::accessibleNameForNode):
3363         (WebCore::AccessibilityRenderObject::accessibilityDescription):
3364         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3365         (webkit_accessible_get_name):
3366         (webkit_accessible_get_description):
3367         * bindings/gobject/WebKitDOMBinding.cpp:
3368         (WebKit::createWrapper):
3369         (WebKit::kit):
3370         * bindings/js/JSElementCustom.cpp:
3371         (WebCore::toJSNewlyCreated):
3372         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3373         (WebCore::JSHTMLFrameSetElement::nameGetter):
3374         * bindings/js/JSNodeCustom.cpp:
3375         (WebCore::createWrapperInline):
3376         * bindings/v8/custom/V8ElementCustom.cpp:
3377         (WebCore::toV8):
3378         * dom/Document.cpp:
3379         (WebCore::Document::body):
3380         * dom/Element.cpp:
3381         (WebCore::Element::deprecatedCreateContextualFragment):
3382         * dom/Range.cpp:
3383         (WebCore::Range::createContextualFragment):
3384         * editing/ApplyStyleCommand.cpp:
3385         (WebCore::ApplyStyleCommand::applyBlockStyle):
3386         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3387         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
3388         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
3389         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
3390         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
3391         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
3392         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
3393         (WebCore::ApplyStyleCommand::removeInlineStyle):
3394         (WebCore::ApplyStyleCommand::shouldSplitTextElement):
3395         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3396         * editing/DeleteButtonController.cpp:
3397         (WebCore::enclosingDeletableElement):
3398         (WebCore::DeleteButtonController::show):
3399         * editing/Editor.cpp:
3400         (WebCore::Editor::setBaseWritingDirection):
3401         * editing/InsertListCommand.cpp:
3402         (WebCore::InsertListCommand::mergeWithNeighboringLists):
3403         * editing/ReplaceSelectionCommand.cpp:
3404         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
3405         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
3406         (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
3407         * editing/SelectionController.cpp:
3408         (WebCore::scanForForm):
3409         (WebCore::SelectionController::currentForm):
3410         * editing/htmlediting.cpp:
3411         (WebCore::enclosingList):
3412         (WebCore::enclosingListChild):
3413         (WebCore::embeddedSublist):
3414         (WebCore::appendedSublist):
3415         * editing/markup.cpp:
3416         (WebCore::StyledMarkupAccumulator::appendElement):
3417         * html/HTMLCollection.cpp:
3418         (WebCore::HTMLCollection::checkForNameMatch):
3419         (WebCore::HTMLCollection::updateNameCache):
3420         * html/HTMLElement.cpp:
3421         (WebCore::HTMLElement::setOuterHTML):
3422         (WebCore::HTMLElement::shadowAncestorOwnerForm):
3423         * html/HTMLFormElement.cpp:
3424         (WebCore::HTMLFormElement::formElementIndex):
3425         * html/HTMLSelectElement.cpp:
3426         (WebCore::HTMLSelectElement::setOption):
3427         (WebCore::HTMLSelectElement::setLength):
3428         * inspector/InspectorDOMAgent.cpp:
3429         (WebCore::InspectorDOMAgent::getOuterHTML):
3430         (WebCore::InspectorDOMAgent::setOuterHTML):
3431         * page/EventHandler.cpp:
3432         (WebCore::EventHandler::handleMouseMoveEvent):
3433         * rendering/RenderMeter.cpp:
3434         (WebCore::RenderMeter::createPart):
3435         * rendering/RenderTextControl.cpp:
3436         (WebCore::RenderTextControl::createSubtreeIfNeeded):
3437         * rendering/RenderTextControlSingleLine.cpp:
3438         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
3439
3440 2011-02-09  Mike Reed  <reed@google.com>
3441
3442         Reviewed by Kenneth Russell.
3443
3444         Use Skia's device->readPixels() when its bitmap claims to have no pixels, as this
3445         handles the case when the device is backed by the GPU.
3446         Patch developed by bsalomon@google.com
3447
3448         No new tests. Existing canvas tests suffice
3449         e.g. LayoutTests/canvas/philip/... 
3450
3451         * platform/graphics/skia/ImageBufferSkia.cpp:
3452         (WebCore::getImageData):
3453         (WebCore::ImageBuffer::getUnmultipliedImageData):
3454         (WebCore::ImageBuffer::getPremultipliedImageData):
3455         (WebCore::putImageData):
3456         (WebCore::ImageBuffer::putUnmultipliedImageData):
3457         (WebCore::ImageBuffer::putPremultipliedImageData):
3458
3459 2011-02-09  Adam Barth  <abarth@webkit.org>
3460
3461         Reviewed by Eric Seidel.
3462