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