Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-21  Lucas Forschler  <lforschler@apple.com>
2
3         Reviewed by Stephanie Lewis.
4
5         Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
6
7         No new tests required.
8
9         * WebCore.xcodeproj/project.pbxproj:
10
11 2011-02-21  Pratik Solanki  <psolanki@apple.com>
12
13         Reviewed by Darin Adler.
14
15         Remove global initializer in CookieStorageCFNet.cpp
16         https://bugs.webkit.org/show_bug.cgi?id=54905
17
18         * platform/network/cf/CookieStorageCFNet.cpp:
19         (WebCore::currentCookieStorage):
20         (WebCore::setCurrentCookieStorage):
21         (WebCore::setCookieStoragePrivateBrowsingEnabled):
22
23 2011-02-18  Jer Noble  <jer.noble@apple.com>
24
25         Reviewed by Sam Weinig.
26
27         WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
28         https://bugs.webkit.org/show_bug.cgi?id=54771
29
30         Now that video is accelerated, we no longer need to special case
31         video playing within a media document.
32
33         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
34         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
35         (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
36
37 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
38
39         Reviewed by Adam Roben.
40
41         REGRESSION (WebKit2): HTTP requests time out after 60 seconds
42         https://bugs.webkit.org/show_bug.cgi?id=54755
43         <rdar://problem/9006592>
44
45         No new tests - it won't be great to have a test that runs for a minute.
46
47         It's now possible to set a default timeout to be used at ResourceRequest creation. If one
48         hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
49         or use INT_MAX on other platforms).
50
51         * WebCore.exp.in:
52         * platform/network/ResourceRequestBase.cpp:
53         (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
54         default timeout interval (may be 0 if using NSURLRequest default).
55         (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
56         (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
57         request is updated. Plaform code often calls updateResourceRequest() indirectly from this
58         function, and that must obviously be a no-op.
59         (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
60         direction.
61         * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
62         "defaultTimeoutInterval". It has been used as default by most platforms anyway.
63         (WebCore::ResourceRequestBase::ResourceRequestBase):
64
65         * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
66         Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
67         setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
68
69 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
70
71         Reviewed by Xan Lopez.
72
73         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
74         https://bugs.webkit.org/show_bug.cgi?id=54895
75
76         Correct the GTK+ clipboard implementation to know that "text" is an alias
77         for "text/html" data. This corrects the failing test.
78
79         * platform/gtk/ClipboardGtk.cpp:
80         (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
81         (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
82
83 2011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
84
85         Reviewed by Pavel Feldman.
86
87         ProcessingInstruction should provide a way to know if it is of CSS type.
88         https://bugs.webkit.org/show_bug.cgi?id=54868
89
90         * dom/ProcessingInstruction.cpp:
91         (WebCore::ProcessingInstruction::ProcessingInstruction):
92         (WebCore::ProcessingInstruction::checkStyleSheet):
93         (WebCore::ProcessingInstruction::setCSSStyleSheet):
94         * dom/ProcessingInstruction.h:
95         (WebCore::ProcessingInstruction::isCSS):
96
97 2011-02-21  Simon Fraser  <simon.fraser@apple.com>
98
99         Put JSDOMImplementationCustom.cpp where it belongs in the project.
100
101         * WebCore.xcodeproj/project.pbxproj:
102
103 2011-02-21  Gavin Barraclough  <barraclough@apple.com>
104
105         Reviewed by Sam Weinig.
106
107         Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
108
109         The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
110         containing a pointer to its parent class. These links should reflect the inheritance
111         hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
112         entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
113         since intervening C++ classes may not have ClassInfo - but would be a potential bug
114         were ClassInfo were to be added.
115
116         * bindings/js/JSAudioConstructor.cpp:
117         * bindings/js/JSDOMGlobalObject.cpp:
118         * bindings/js/JSImageConstructor.cpp:
119         * bindings/js/JSOptionConstructor.cpp:
120         * bindings/scripts/CodeGeneratorJS.pm:
121         * bridge/objc/objc_runtime.mm:
122         * bridge/runtime_object.cpp:
123
124 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
125
126         Reviewed by Yury Semikhatsky.
127
128         Web Inspector: navigation does not work after reopening frontend.
129         https://bugs.webkit.org/show_bug.cgi?id=54879
130
131         Test: http/tests/inspector-enabled/open-close-open.html
132
133         * inspector/InspectorAgent.cpp:
134         (WebCore::InspectorAgent::setFrontend):
135         * inspector/InspectorState.cpp:
136         (WebCore::InspectorState::unmute):
137         * inspector/InspectorState.h:
138
139 2011-02-21  Adam Roben  <aroben@apple.com>
140
141         Protect the PluginView when evaluating javascript: URLs
142
143         Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
144         plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
145         added
146
147         Reviewed by Sam Weinig.
148
149         * plugins/PluginView.cpp:
150         (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
151         when evaluating javascript: URLs.
152
153 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
154
155         Fix GTK+ build after r79223.
156
157         * GNUmakefile.am: Add file missing from the source list.
158
159 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
160
161         Reviewed by Yury Semikhatsky.
162
163         Web Inspector: audits should not warn about gzip compression for 304s
164         https://bugs.webkit.org/show_bug.cgi?id=54343
165
166         Do not run compression-related audits on 304 resources.
167         Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
168
169         * inspector/front-end/AuditRules.js:
170         (WebInspector.AuditRules.GzipRule.prototype.doRun):
171         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
172
173 2011-02-08  Anton Muhin  <antonm@chromium.org>
174
175        Reviewed by Adam Barth and Alexey Proskuryakov.
176
177        Propagate security origin of parent document into HTML documents created with DOMImplementation
178        https://bugs.webkit.org/show_bug.cgi?id=53611
179
180        This restores invariant that JS wrappers residing in the same JS context should come
181        from the same security origin.
182
183        Absence of regressions is covered by the current tests.  Different security origin of
184        DOMImplementation is difficult to check with layout tests as DOMImplementation
185        resides in the same JS context as parent document and therefore there are no security origin checks.
186        This is observable however in C++.
187
188        * Android.jscbindings.mk:
189        * CMakeLists.txt:
190        * WebCore.gypi:
191        * WebCore.pro:
192        * WebCore.vcproj/WebCore.vcproj:
193        * WebCore.xcodeproj/project.pbxproj:
194        * bindings/v8/V8GCController.cpp:
195        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
196        * dom/DOMImplementation.cpp:
197        (WebCore::DOMImplementation::DOMImplementation):
198        (WebCore::DOMImplementation::createDocument):
199        * dom/DOMImplementation.h:
200        (WebCore::DOMImplementation::create):
201        (WebCore::DOMImplementation::documentDestroyed):
202        (WebCore::DOMImplementation::parentDocument):
203        * dom/DOMImplementation.idl:
204        * dom/Document.cpp:
205        (WebCore::Document::~Document):
206        (WebCore::Document::implementation):
207        * dom/Document.h:
208
209 2011-02-21  Andrey Adaikin  <aandrey@google.com>
210
211         Reviewed by Pavel Feldman.
212
213         Web Inspector: [Text editor] Optimize editing updates in gutter panel
214         https://bugs.webkit.org/show_bug.cgi?id=54866
215
216         * inspector/front-end/TextViewer.js:
217         (WebInspector.TextViewer.prototype.set startEditingListener):
218         (WebInspector.TextViewer.prototype.set endEditingListener):
219         (WebInspector.TextViewer.prototype.endUpdates):
220         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
221         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
222         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
223         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
224         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
225         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
226
227 2011-02-21  Alexander Pavlov  <apavlov@chromium.org>
228
229         Reviewed by Yury Semikhatsky.
230
231         Web Inspector: [Audits] Image dimensions in inline style not checked
232         https://bugs.webkit.org/show_bug.cgi?id=54738
233
234         * inspector/front-end/AuditRules.js:
235         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
236
237 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
238
239         Reviewed by Pavel Feldman.
240
241         Web Inspector: create and destroy DOM agent along with InspectorAgent
242         https://bugs.webkit.org/show_bug.cgi?id=54875
243
244         * GNUmakefile.am:
245         * WebCore.gypi:
246         * WebCore.pro:
247         * WebCore.vcproj/WebCore.vcproj:
248         * WebCore.xcodeproj/project.pbxproj:
249         * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
250         on this object.
251         (WebCore::InstrumentingAgents::InstrumentingAgents):
252         (WebCore::InstrumentingAgents::~InstrumentingAgents):
253         (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
254         (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
255         (WebCore::InstrumentingAgents::inspectorConsoleAgent):
256         (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
257         (WebCore::InstrumentingAgents::inspectorDOMAgent):
258         (WebCore::InstrumentingAgents::setInspectorDOMAgent):
259         (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
260         (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
261         (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
262         (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
263         (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
264         (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
265         (WebCore::InstrumentingAgents::inspectorProfilerAgent):
266         (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
267         (WebCore::InstrumentingAgents::inspectorResourceAgent):
268         (WebCore::InstrumentingAgents::setInspectorResourceAgent):
269         (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
270         (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
271         (WebCore::InstrumentingAgents::inspectorStorageAgent):
272         (WebCore::InstrumentingAgents::setInspectorStorageAgent):
273         (WebCore::InstrumentingAgents::inspectorTimelineAgent):
274         (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
275         * inspector/InspectorAgent.cpp:
276         (WebCore::InspectorAgent::InspectorAgent):
277         (WebCore::InspectorAgent::setFrontend):
278         (WebCore::InspectorAgent::disconnectFrontend):
279         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
280         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
281         (WebCore::InspectorAgent::didCommitLoad):
282         (WebCore::InspectorAgent::domContentLoadedEventFired):
283         (WebCore::InspectorAgent::loadEventFired):
284         * inspector/InspectorAgent.h:
285         * inspector/InspectorCSSAgent.cpp:
286         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
287         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
288         * inspector/InspectorCSSAgent.h:
289         * inspector/InspectorConsoleAgent.cpp:
290         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
291         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
292         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
293         (WebCore::InspectorConsoleAgent::clearFrontend):
294         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
295         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
296         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
297         (WebCore::InspectorConsoleAgent::addConsoleMessage):
298         * inspector/InspectorConsoleAgent.h:
299         * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
300         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
301         (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
302         is attached.
303         (WebCore::InspectorDOMAgent::clearFrontend):
304         * inspector/InspectorDOMAgent.h:
305         (WebCore::InspectorDOMAgent::create):
306
307 2011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
308
309         Reviewed by Andreas Kling.
310
311         [Qt][V8]REGRESSION(r79157): Fix build
312         https://bugs.webkit.org/show_bug.cgi?id=54871
313
314         * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
315
316 2011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
317
318         Reviewed by Mihai Parparita.
319
320         [V8] SerializedScriptValue: fix JS exception handling.
321         https://bugs.webkit.org/show_bug.cgi?id=54555
322
323         Added checks for exceptions and empty handles:
324         * bindings/v8/SerializedScriptValue.cpp:
325         (WebCore::Serializer::Serializer):
326         (WebCore::Serializer::serialize):
327         (WebCore::Serializer::checkException):
328         (WebCore::Serializer::reportFailure):
329         (WebCore::Serializer::ArrayState::advance):
330         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
331         (WebCore::Serializer::AbstractObjectState::advance):
332         (WebCore::Serializer::push):
333         (WebCore::Serializer::handleError):
334         (WebCore::Serializer::newObjectState):
335         (WebCore::Serializer::doSerialize):
336         (WebCore::SerializedScriptValue::SerializedScriptValue):
337
338 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
339
340         Reviewed by Kent Tamura.
341
342         Add selectionchange event
343         https://bugs.webkit.org/show_bug.cgi?id=45712
344
345         Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
346         This event is not cancelable and does not bubble. An event listener can be attached to a document by
347         body element's onselectionchange attribute or via document's onselectionchange property.
348
349         Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
350         fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
351         will not observe the event before the control returns to JavaScript.
352
353         See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
354
355         Tests: fast/events/selectionchange-iframe.html
356                fast/events/selectionchange-user-initiated.html
357
358         * dom/Document.cpp:
359         (WebCore::Document::enqueueDocumentEvent): Added.
360         * dom/Document.h: Added selectionchange event listener.
361         * dom/Document.idl: Added onselectionchagne attribute.
362         * dom/EventNames.h: Added selectionchange
363         * editing/SelectionController.cpp:
364         (WebCore::SelectionController::setSelection): Fires selectionchange event.
365         * html/HTMLAttributeNames.in: Added onselectionchange.
366         * html/HTMLBodyElement.cpp:
367         (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
368
369 2011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
370
371         Reviewed by Pavel Feldman.
372
373         Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
374         https://bugs.webkit.org/show_bug.cgi?id=54859
375
376         * inspector/CodeGeneratorInspector.pm:
377
378 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
379
380         Reviewed by Yury Semikhatsky.
381
382         Web Inspector: generate protocol documentation based on IDL.
383         https://bugs.webkit.org/show_bug.cgi?id=54822
384
385         * inspector/CodeGeneratorInspector.pm:
386
387 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
388
389         Reviewed by Martin Robinson.
390
391         [GStreamer] Add URI queries support in webkitwebsrc
392         https://bugs.webkit.org/show_bug.cgi?id=54627
393
394         This allow replying to URI queries from downstream elements
395         with the uri currently set in the source element.
396
397         No new tests, this feature is dedicated to internal GStreamer use,
398         such as the upcoming HTTP Live Streaming element.
399
400         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
401         (webKitWebSrcQuery):
402
403 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
404
405         Reviewed by Martin Robinson.
406
407         [GStreamer] Add 'location' property in webkitwebsrc
408         https://bugs.webkit.org/show_bug.cgi?id=54628
409
410         No new tests, this feature is dedicated to internal GStreamer use,
411         such as the upcoming HTTP Live Streaming element.
412
413         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
414         (webkit_web_src_class_init):
415         (webKitWebSrcSetProperty):
416         (webKitWebSrcGetProperty):
417
418 2011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
419
420         Reviewed by Kent Tamura.
421
422         Rename Position::node() to Position::deprecatedNode()
423         https://bugs.webkit.org/show_bug.cgi?id=54622
424
425         Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
426         calls were of the form node()->document() and node()->inDocument() in which case they were
427         replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
428
429         * WebCore.exp.in: Added Position::containerNode.
430
431         The rest abbreviated for simplicity. Please see svn log.
432
433 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
434
435         Build fix (remove includes).
436
437         * bindings/js/JSDOMBinding.cpp:
438         * bindings/js/JSDOMWindowCustom.cpp:
439         * bindings/js/JSHistoryCustom.cpp:
440         * bindings/js/JSLocationCustom.cpp:
441
442 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
443
444         Reviewed by Oliver Hunt.
445
446         https://bugs.webkit.org/show_bug.cgi?id=54839
447         Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
448
449         Historically, Native functions used to be represented by PrototypeFunctions, however
450         since introducing call optimizations to the JIT this has used JSFunctions for host
451         calls too. At the point this change was made, the interpreter continued to use
452         PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
453         the interpreter has had to be able to run using host functions represented using
454         JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
455         interpreter only builds, and situations where the JIT has fallen back to interpreting.
456
457         NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
458         for wrappers for host functions, and as such can also be removed.
459
460         GlobalEvalFunction is a redundant wrapper that happens to be derived from
461         PrototypeFunction. It existed to hold a reference to the global object - but since all
462         functions how derive from JSObjectWithGlobalObject, this no longer requires an
463         additional class to provide this functionality.
464
465         * bindings/js/JSDOMBinding.cpp:
466         * bindings/js/JSDOMWindowCustom.cpp:
467         * bindings/js/JSHistoryCustom.cpp:
468         * bindings/js/JSLocationCustom.cpp:
469             Removed use of redundant classes.
470
471 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
472
473         Unreviewed, rolling out r79169.
474         http://trac.webkit.org/changeset/79169
475         https://bugs.webkit.org/show_bug.cgi?id=54846
476
477         Made unexpected results for tests without CJK characters
478         (Requested by tkent on #webkit).
479
480         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
481         (WebCore::FontCache::createFontPlatformData):
482         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
483         (WebCore::FontPlatformData::FontPlatformData):
484         (WebCore::FontPlatformData::operator=):
485         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
486         (WebCore::FontPlatformData::orientation):
487         * platform/graphics/skia/FontCustomPlatformData.cpp:
488         (WebCore::FontCustomPlatformData::fontPlatformData):
489
490 2011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
491
492         Reviewed by Kent Tamura.
493
494         On Chromium Windows, glyphs in vertical text tests are rotated 90
495         degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
496
497         This platform dependent patch makes Chromium Windows show the
498         vertical writing text correctly. Job was done by adding a prefix '@'
499         in front of the font family name (Windows Only). No new tests added.
500
501         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
502         (WebCore::FontCache::createFontPlatformData):
503         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
504         (WebCore::FontPlatformData::FontPlatformData):
505         (WebCore::FontPlatformData::operator=):
506         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
507         (WebCore::FontPlatformData::orientation):
508         * platform/graphics/skia/FontCustomPlatformData.cpp:
509         (WebCore::FontCustomPlatformData::fontPlatformData):
510
511 2011-02-20  Simon Fraser  <simon.fraser@apple.com>
512
513         Reviewed by Dirk Schulze.
514
515         REGRESSION (r73369-r73405): transform animation interpolates incorrectly
516         https://bugs.webkit.org/show_bug.cgi?id=54793
517         
518         After the refactoring in r73380, the ending state for some types of
519         accelerated animations was computed incorrectly, because the TransformationMatrix
520         wasn't reset to identity before the ending value transformations were applied.
521         
522         Fix by cleaning up the code to use explicit, separate values for
523         starting and ending values. Only matrix-type animations had this
524         issue, but cleaned up other clauses similarly.
525
526         Test: animations/3d/matrix-transform-type-animation.html
527
528         * platform/graphics/ca/GraphicsLayerCA.cpp:
529         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
530
531 2011-02-20  Dan Bernstein  <mitz@apple.com>
532
533         Reviewed by Maciej Stachowiak.
534
535         <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
536
537         Test: fast/frames/iframe-scale-applied-twice.html
538
539         * page/FrameView.cpp:
540         (WebCore::FrameView::create): Set the initial bounds of the view to match the
541         frame size.
542         * platform/ScrollView.cpp:
543         (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
544         (WebCore::ScrollView::updateScrollbars): Ditto.
545         (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
546         change to setBoundsSize().
547         (WebCore::ScrollView::setBoundsSize): Added.
548         (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
549         not update anything.
550         (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
551         (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
552         * platform/ScrollView.h:
553         (WebCore::ScrollView::boundsSize): Added this getter.
554         * platform/Widget.h:
555         (WebCore::Widget::resize): Set the bounds size to the frame size.
556         * platform/mac/ScrollbarThemeMac.mm:
557         (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
558         path where the buffer rect was resized to capture only the damaged part, but was
559         still drawn in the original location.
560
561 2011-02-20  Alexey Proskuryakov  <ap@apple.com>
562
563         Reviewed by Eric Seidel.
564
565         Tighten up access permissions by using libxslt API
566         https://bugs.webkit.org/show_bug.cgi?id=52688
567         <rdar://problem/8909191> 
568
569         * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
570         interested in a string result, so let libxslt know about that.
571
572 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
573
574         Unreviewed, rolling out r79104.
575         http://trac.webkit.org/changeset/79104
576         https://bugs.webkit.org/show_bug.cgi?id=54835
577
578         Might have caused flaky canaries (Requested by tonyg-cr on
579         #webkit).
580
581         * html/parser/HTMLDocumentParser.cpp:
582         (WebCore::HTMLDocumentParser::canTakeNextToken):
583         (WebCore::HTMLDocumentParser::pumpTokenizer):
584         * html/parser/HTMLParserScheduler.cpp:
585         (WebCore::isLayoutTimerActive):
586         * html/parser/HTMLParserScheduler.h:
587         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
588         * page/FrameView.h:
589
590 2011-02-20  Dirk Schulze  <krit@webkit.org>
591
592         Reviewed by Nikolas Zimmermann.
593
594         SVG animation - analyze attribute type for animation
595         https://bugs.webkit.org/show_bug.cgi?id=54542
596
597         Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
598         with AnimatedAttributeType instead. More cleanup of the animation code.
599         Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
600
601         Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
602         from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
603
604         No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
605         animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
606         with the W3C test suite in trunk.
607
608         The change on SVGUseElement gets covered by animate-elem-39-t.svg
609
610         Test: svg/animations/animate-dynamic-update-attributeName.html
611
612         * svg/SVGAnimateElement.cpp:
613         (WebCore::SVGAnimateElement::SVGAnimateElement):
614         (WebCore::SVGAnimateElement::hasValidAttributeType):
615         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
616         (WebCore::SVGAnimateElement::calculateAnimatedValue):
617         (WebCore::inheritsFromProperty):
618         (WebCore::SVGAnimateElement::calculateFromAndToValues):
619         (WebCore::SVGAnimateElement::calculateFromAndByValues):
620         (WebCore::SVGAnimateElement::resetToBaseValue):
621         (WebCore::SVGAnimateElement::applyResultsToTarget):
622         (WebCore::SVGAnimateElement::calculateDistance):
623         * svg/SVGAnimateElement.h:
624         * svg/SVGAnimateMotionElement.cpp:
625         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
626         (WebCore::parsePoint):
627         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
628         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
629         (WebCore::SVGAnimateMotionElement::calculateDistance):
630         * svg/SVGAnimateMotionElement.h:
631         * svg/SVGAnimateTransformElement.cpp:
632         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
633         (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
634         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
635         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
636         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
637         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
638         (WebCore::SVGAnimateTransformElement::calculateDistance):
639         * svg/SVGAnimateTransformElement.h:
640         * svg/SVGAnimationElement.cpp:
641         (WebCore::parseKeyTimes):
642         (WebCore::parseKeySplines):
643         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
644         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
645         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
646         (WebCore::solveEpsilon):
647         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
648         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
649         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
650         (WebCore::SVGAnimationElement::startedActiveInterval):
651         * svg/SVGAnimationElement.h:
652         * svg/SVGFilterElement.cpp:
653         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
654         * svg/SVGGElement.cpp:
655         (WebCore::SVGGElement::attributeToPropertyTypeMap):
656         (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
657         * svg/SVGGElement.h:
658         * svg/SVGUseElement.cpp:
659         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
660         * svg/animation/SMILTimeContainer.cpp:
661         (WebCore::SMILTimeContainer::baseValueFor):
662         (WebCore::SMILTimeContainer::updateAnimations):
663         * svg/animation/SMILTimeContainer.h:
664         * svg/animation/SVGSMILElement.cpp:
665         (WebCore::SVGSMILElement::SVGSMILElement):
666         (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
667         (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
668         (WebCore::SVGSMILElement::removedFromDocument): Ditto.
669         (WebCore::SVGSMILElement::attributeChanged): Ditto.
670         * svg/animation/SVGSMILElement.h:
671         (WebCore::SVGSMILElement::attributeName):
672
673 2011-02-20  David Kilzer  <ddkilzer@apple.com>
674
675         BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
676
677         Not reviewed.
678
679         * rendering/RenderLayerCompositor.cpp:
680         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
681
682 2011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
683
684         Reviewed by Martin Robinson.
685
686         [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
687         https://bugs.webkit.org/show_bug.cgi?id=52880
688
689         * platform/gtk/KeyEventGtk.cpp:
690         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
691
692 2011-02-19  Andreas Kling  <kling@webkit.org>
693
694         Reviewed by Oliver Hunt.
695
696         DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
697         https://bugs.webkit.org/show_bug.cgi?id=54545
698
699         * page/DragController.cpp:
700         (WebCore::DragController::concludeEditDrag):
701
702 2011-02-19  Sam Weinig  <sam@webkit.org>
703
704         Reviewed by Anders Carlsson.
705
706         Add phase in addition to momentumPhase to platform wheel events
707         Part of <rdar://problem/8945362>
708
709         Rename existing phase to momentumPhase.
710
711         * platform/PlatformWheelEvent.h:
712         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
713         (WebCore::PlatformWheelEvent::momentumPhase):
714         * platform/mac/ScrollAnimatorMac.mm:
715         (WebCore::ScrollAnimatorMac::handleWheelEvent):
716         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
717         * platform/mac/WheelEventMac.mm:
718         (WebCore::momentumPhaseForEvent):
719         (WebCore::phaseForEvent):
720         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
721
722 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
723
724         Qt build fix.
725
726         * bridge/runtime_method.h:
727         (JSC::RuntimeMethod::createStructure):
728
729 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
730
731         Qt build fix.
732
733         * bridge/qt/qt_instance.cpp:
734         * bridge/qt/qt_pixmapruntime.cpp:
735
736 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
737
738         Qt build fix.
739
740         * bridge/qt/qt_instance.cpp:
741         (JSC::Bindings::QtInstance::getMethod):
742         * bridge/qt/qt_pixmapruntime.cpp:
743         (JSC::Bindings::QtPixmapInstance::getMethod):
744
745 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
746
747         Reviewed by Sam Weinig.
748
749         Bug 54786 - Devirtualize JSCell::classInfo()
750
751         Instead of making a virtual function call, add a pointer to the ClassInfo
752         onto Structure.
753
754         This removes a virtual function call, and paves the way towards removing all
755         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
756         (these should be able to move onto ClassInfo).
757
758         Calls to Structure::create must now pass a pointer to the ClassInfo for the
759         structure. All objects now have a ClassInfo pointer, non-object cell types
760         still do not.
761
762         Changes are most mechanical, involving three steps:
763             * Remove virtual classInfo() methods.
764             * Add &s_info parameter to calls to Structure::create.
765             * Rename ClassInfo static members on classes from 'info' to 's_info',
766               for consistency.
767
768         * WebCore.exp.in:
769         * bindings/js/JSAudioConstructor.cpp:
770         * bindings/js/JSAudioConstructor.h:
771         * bindings/js/JSDOMBinding.cpp:
772         * bindings/js/JSDOMBinding.h:
773         * bindings/js/JSDOMGlobalObject.cpp:
774         * bindings/js/JSDOMGlobalObject.h:
775         * bindings/js/JSDOMWindowBase.cpp:
776         * bindings/js/JSDOMWindowBase.h:
777         * bindings/js/JSDOMWindowShell.cpp:
778         * bindings/js/JSDOMWindowShell.h:
779         * bindings/js/JSGeolocationCustom.cpp:
780         * bindings/js/JSImageConstructor.cpp:
781         * bindings/js/JSImageConstructor.h:
782         * bindings/js/JSImageDataCustom.cpp:
783         * bindings/js/JSOptionConstructor.cpp:
784         * bindings/js/JSOptionConstructor.h:
785         * bindings/js/JSWorkerContextBase.cpp:
786         * bindings/js/JSWorkerContextBase.h:
787         * bindings/js/SerializedScriptValue.cpp:
788         * bindings/scripts/CodeGeneratorJS.pm:
789         * bridge/c/CRuntimeObject.cpp:
790         * bridge/c/CRuntimeObject.h:
791         * bridge/c/c_instance.cpp:
792         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
793         * bridge/jni/jsc/JavaInstanceJSC.cpp:
794         * bridge/jni/jsc/JavaRuntimeObject.cpp:
795         * bridge/jni/jsc/JavaRuntimeObject.h:
796         * bridge/jsc/BridgeJSC.cpp:
797         * bridge/objc/ObjCRuntimeObject.h:
798         * bridge/objc/ObjCRuntimeObject.mm:
799         * bridge/objc/objc_instance.mm:
800         * bridge/objc/objc_runtime.h:
801         * bridge/objc/objc_runtime.mm:
802         * bridge/runtime_array.cpp:
803         * bridge/runtime_array.h:
804         * bridge/runtime_method.cpp:
805         * bridge/runtime_method.h:
806         * bridge/runtime_object.cpp:
807         * bridge/runtime_object.h:
808
809 2011-02-19  Zan Dobersek  <zandobersek@gmail.com>
810
811         Reviewed by Martin Robinson.
812
813         [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
814         https://bugs.webkit.org/show_bug.cgi?id=54491
815
816         When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
817         and would round to 0, alter the behaviour to ensure that width or height are
818         at least 1 pixel in size in these cases.
819
820         * platform/graphics/cairo/GraphicsContextCairo.cpp:
821         (WebCore::GraphicsContext::roundToDevicePixels):
822
823 2011-02-19  Dan Bernstein  <mitz@apple.com>
824
825         LLVM Compiler build fix.
826
827         * platform/graphics/ShadowBlur.cpp:
828         (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
829         a global initializer since the compiler does not evaluate sqrtf at compile time.
830
831 2011-02-19  Brian Ryner  <bryner@chromium.org>
832
833         Reviewed by Adam Barth.
834
835         Replace the #include of DocumentLoader.h in Document.h with a
836         forward declaration, and add a missing #include now that this
837         transitive include is gone.
838         https://bugs.webkit.org/show_bug.cgi?id=50489
839
840         No new tests required.
841
842         * bindings/ScriptControllerBase.cpp:
843         * dom/Document.h:
844
845 2011-02-19 Patrick Gansterer <paroga@webkit.org>
846
847         Reviewed by Antonio Gomes.
848
849         [EFL] Remove WebCore::currentTime()
850         https://bugs.webkit.org/show_bug.cgi?id=53886
851
852         There is no declaration for it and we use WTF::currentTime() everywhere.
853
854         * platform/efl/SystemTimeEfl.cpp:
855
856 2011-02-19 Patrick Gansterer <paroga@webkit.org>
857
858         Reviewed by Andreas Kling.
859
860         Move KeygenWinCE from wince into win directory
861         https://bugs.webkit.org/show_bug.cgi?id=54804
862
863         Move this file into the win directory, since it can be used on all windows platforms.
864
865         * CMakeListsWinCE.txt:
866         * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
867
868 2011-02-19  Patrick Gansterer  <paroga@webkit.org>
869
870         Reviewed by Andreas Kling.
871
872         Make FileChooserWin.cpp more portable and use it on WinCE
873         https://bugs.webkit.org/show_bug.cgi?id=54803
874
875         * CMakeListsWinCE.txt:
876         * platform/win/FileChooserWin.cpp:
877         (WebCore::FileChooser::basenameForWidth):
878         * platform/wince/FileChooserWinCE.cpp: Removed.
879
880 2011-02-19  James Simonsen  <simonjam@chromium.org>
881
882         Reviewed by Adam Barth.
883
884         Make ScriptElement match the HTML5 spec
885         https://bugs.webkit.org/show_bug.cgi?id=54676
886
887         This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
888         http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
889
890         There are a couple of things missing from the spec that would be new functionality. These will be added later.
891         - Support for async=false
892         - Empty src attribute should dispatch an error.
893
894         There are a couple of slight behavioral changes to match the spec.
895         - An XHTML script that is loaded then copied will not fire load on the copy.
896         - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
897
898         The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
899
900         Test: All existing tests.
901
902         * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
903         (WebCore::ScriptElement::ScriptElement):
904         (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
905         (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
906         (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
907         (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
908         (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
909         (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
910         (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
911         (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
912         (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
913         (WebCore::ScriptElement::execute): Renamed executeScript.
914         (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
915         (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
916         (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
917         (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
918         * dom/ScriptElement.h:
919         (WebCore::ScriptElement::willBeParserExecuted): Added.
920         (WebCore::ScriptElement::readyToBeParserExecuted): Added.
921         (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
922         (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
923         (WebCore::ScriptElement::isParserInserted): Added.
924         * dom/XMLDocumentParserLibxml2.cpp:
925         (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
926         * dom/XMLDocumentParserQt.cpp:
927         (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
928         * html/HTMLScriptElement.cpp:
929         (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
930         (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
931         * html/HTMLScriptElement.h:
932         * html/parser/HTMLScriptRunner.cpp:
933         (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
934         (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
935         * svg/SVGScriptElement.cpp:
936         (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
937         (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
938         (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
939         (WebCore::SVGScriptElement::hasSourceAttribute): Added.
940         (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
941         * svg/SVGScriptElement.h:
942
943 2011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
944
945         Reviewed by James Robinson.
946
947         Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
948         https://bugs.webkit.org/show_bug.cgi?id=54789
949
950         * WebCore.gyp/WebCore.gyp:
951
952 2011-02-19  Bill Budge  <bbudge@chromium.org>
953
954         Reviewed by David Levin.
955
956         ThreadableLoaderClient needs willSendRequest method
957         https://bugs.webkit.org/show_bug.cgi?id=54688
958
959         No new tests. Exposes no new functionality
960
961         * WebCore.gypi:
962         * loader/DocumentThreadableLoader.cpp:
963         (WebCore::DocumentThreadableLoader::willSendRequest):
964         (WebCore::DocumentThreadableLoader::didReceiveData):
965         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
966         * loader/DocumentThreadableLoaderClient.h: Added.
967         (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
968         (WebCore::DocumentThreadableLoaderClient::willSendRequest):
969         * loader/ThreadableLoaderClient.h:
970         (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
971
972 2011-02-19  Charlie Reis  <creis@chromium.org>
973
974         Reviewed by Mihai Parparita.
975
976         Ensure loading has stopped in HistoryController::goToItem
977         https://bugs.webkit.org/show_bug.cgi?id=54517
978
979         Avoid stopping all loaders in goToItem for same document navigations
980         or pseudo-back-forward URLs.  Make HistoryController::goToItem private
981         to force callers to go through Page::goToItem.  Also add a callback to
982         FrameLoaderClient to let clients decide whether to stop loading first.
983
984         Test: http/tests/navigation/forward-to-fragment-fires-onload.html
985
986         * loader/EmptyClients.h:
987         * loader/FrameLoader.h:
988         * loader/FrameLoaderClient.h:
989         * loader/HistoryController.cpp:
990         * loader/HistoryController.h:
991         * page/Page.cpp:
992
993 2011-02-19  Adam Barth  <abarth@webkit.org>
994
995         Reviewed by Daniel Bates.
996
997         Fix xssAuditor/iframe-injection.html
998         https://bugs.webkit.org/show_bug.cgi?id=54591
999
1000         We should block the iframe src attribute.  Although this technically
1001         can't be used to run script, it's a pretty easy vector for stealing
1002         passwords.
1003
1004         * html/parser/XSSFilter.cpp:
1005         (WebCore::XSSFilter::filterTokenInitial):
1006         (WebCore::XSSFilter::filterIframeToken):
1007         * html/parser/XSSFilter.h:
1008
1009 2011-02-18  Tony Gentilcore  <tonyg@chromium.org>
1010
1011         Reviewed by Eric Seidel.
1012
1013         Let the parser yield for layout before running scripts
1014         https://bugs.webkit.org/show_bug.cgi?id=54355
1015
1016         Prior to this patch, the parser would yield to perform a layout/paint before running a
1017         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
1018         don't preload scan into the body while parsing the head, typically we'll block on a script
1019         early in the body that causes us to yield to do the first paint within a reasonable time.
1020
1021         However, I'm planning to change the PreloadScanner to scan into the body from the head.
1022         That significantly improves overall load time, but would hurt first paint time because
1023         fewer scripts would be blocked during parsing and thus wouldn't yield.
1024
1025         This change causes us to yield before running scripts if we haven't painted yet (regardless
1026         of whether or not the script is loaded). In addition to allowing the above mentioned
1027         PreloadScanner change to be implemented without regressing first paint time, this also
1028         improves first paint time by itself.
1029
1030         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
1031         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
1032         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
1033         signifcant change in page load time.
1034
1035         Within the pages tested, 33 had no statistically significant change in time to first paint,
1036         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
1037         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
1038
1039         * html/parser/HTMLDocumentParser.cpp:
1040         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
1041         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
1042         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
1043         the right thing whether we are just before a token or waiting for a script. Now that we may
1044         yield before a token or before a script, this may be called while paused.
1045         * html/parser/HTMLParserScheduler.cpp:
1046         (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
1047         to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
1048         no longer works. The fix is to change it to check minimumLayoutDelay() ==
1049         m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
1050         do this in a follow up.
1051         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
1052         * page/FrameView.h:
1053         (WebCore::FrameView::hasEverPainted): Added.
1054
1055 2011-02-18  Dawit Alemayehu  <adawit@kde.org>
1056
1057         Reviewed by Andreas Kling.
1058
1059         [Qt]  Button Element is rendered w/ text off-center.
1060         https://bugs.webkit.org/show_bug.cgi?id=53373
1061
1062         Test: LayoutTests/fast/forms/button-white-space.html 
1063
1064         * platform/qt/RenderThemeQt.cpp:
1065         (WebCore::RenderThemeQt::adjustButtonStyle):
1066
1067 2011-02-18  Jonathan Backer  <backer@chromium.org>
1068
1069         Reviewed by Eric Seidel.
1070
1071         [chromium] Fix leak of texture IDs in compositor.
1072         https://bugs.webkit.org/show_bug.cgi?id=54750
1073
1074         No new tests. It is extremely unlikely that this leak would have
1075         any user visible impact because only a few bytes of space are wasted
1076         (we're leaking texture IDs, not actual textures) and the space of
1077         texture IDs is large (32 bits).
1078
1079        * platform/graphics/chromium/TextureManager.cpp:
1080         (WebCore::TextureManager::requestTexture):
1081
1082 2011-02-18  Yi Shen  <yi.4.shen@nokia.com>
1083
1084         Reviewed by Tor Arne Vestbø.
1085
1086         Always display the media controls when requiresFullscreenForVideoPlayback() is true
1087         https://bugs.webkit.org/show_bug.cgi?id=54308
1088
1089         For video element, it should have controls when 
1090         Chrome::requiresFullscreenForVideoPlayback() is true.
1091
1092         * html/HTMLMediaElement.cpp:
1093         (WebCore::HTMLMediaElement::controls):
1094
1095 2011-02-18  Adrienne Walker  <enne@google.com>
1096
1097         Reviewed by Kenneth Russell.
1098
1099         [chromium] Use nearest-neighbor filtering for root layer.
1100         https://bugs.webkit.org/show_bug.cgi?id=54409
1101         https://bugs.webkit.org/show_bug.cgi?id=54509
1102
1103         This setting creates more consistent images for LayoutTests and
1104         prevents small floating point errors in texture coordinates from
1105         creating off-by-one pixel color differences.
1106
1107         * platform/graphics/chromium/LayerTilerChromium.cpp:
1108         (WebCore::LayerTilerChromium::update):
1109
1110 2011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1111
1112         Reviewed by Kent Tamura.
1113
1114         [EFL] Fix coding style errors in RenderThemeEfl.h
1115         https://bugs.webkit.org/show_bug.cgi?id=54693
1116
1117         Fix style errors in RenderThemeEfl.h
1118
1119         * platform/efl/RenderThemeEfl.h:
1120
1121 2011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
1122
1123         Reviewed by Andreas Kling.
1124
1125         [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
1126         https://bugs.webkit.org/show_bug.cgi?id=54742
1127
1128         This change was applied in the Qt repository (qt/src/3rdparty/webkit),
1129         so we should do the same here in QtWebKit.
1130
1131         Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
1132         a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
1133
1134         The previously used name "Nokia, Qt" was not usable for Nokia
1135         Content Signing, which only allows "Nokia" as the visible vendor
1136         name. The unique vendor ID remains as "Nokia, Qt"
1137
1138         * WebCore.pro:
1139
1140 2011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
1141
1142         Reviewed by Andreas Kling.
1143
1144         [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
1145         menu bar due to flash.
1146         https://bugs.webkit.org/show_bug.cgi?id=54741
1147
1148         Only show plugins with a valid size. We then don't involve X11 if there is
1149         nothing to see anyway.
1150
1151         * plugins/qt/PluginViewQt.cpp:
1152         (WebCore::PluginView::updatePluginWidget):
1153         (WebCore::PluginView::platformStart):
1154
1155 2011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
1156
1157         Reviewed by Kent Tamura.
1158
1159         [EFL] Remove GDK dependency.
1160         https://bugs.webkit.org/show_bug.cgi?id=53978
1161
1162         Remove GLIB_SUPPORT macro in GDK related code.
1163         Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
1164
1165         * CMakeListsEfl.txt:
1166         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1167         (WebCore::getDefaultFontOptions):
1168
1169 2011-02-18  Noel Gordon  <noel.gordon@gmail.com>
1170
1171         Reviewed by James Robinson.
1172
1173         [Chromium] Add elliptical gradient support to GradientSkia
1174         https://bugs.webkit.org/show_bug.cgi?id=51841
1175
1176         Covered by existing tests, these need new rebaselines once this patch
1177         lands for chrome linux, win32
1178
1179         fast/gradients/css3-color-stop-units.html
1180         fast/gradients/css3-color-stops.html
1181         fast/gradients/css3-linear-angle-gradients.html
1182         fast/gradients/css3-radial-gradients.html
1183         fast/gradients/css3-radial-gradients2.html
1184         fast/gradients/css3-radial-gradients3.html
1185         fast/gradients/css3-repeating-radial-gradients.html
1186
1187         * platform/graphics/skia/GradientSkia.cpp:
1188         (WebCore::Gradient::platformGradient):
1189
1190 2011-02-18  James Robinson  <jamesr@chromium.org>
1191
1192         Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
1193
1194         * platform/graphics/chromium/ContentLayerChromium.cpp:
1195         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
1196
1197 2011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1198
1199         Reviewed by Kenneth Rohde Christiansen.
1200
1201         Tiled backing store area is too big.
1202         Error in area calculcation causes size of backing store
1203         up to 6 times bigger than viewport with default multipliers.
1204         https://bugs.webkit.org/show_bug.cgi?id=54587
1205
1206         * platform/graphics/TiledBackingStore.cpp:
1207         (WebCore::TiledBackingStore::createTiles):
1208
1209 2011-02-18  Beth Dakin  <bdakin@apple.com>
1210
1211         Reviewed by Sam Weinig.
1212
1213         Fix for <rdar://problem/9018729> Horizontal scroller doesn't 
1214         appear when loading a page with a Horizontal scrollbar from 
1215         the back/forward cache.
1216
1217         This patch adds a new  bool member variable to FrameView to 
1218         keep track of whether we are loading a page from the back/
1219         forward cache. If we are, don't suppress scrollbars on 
1220         first layout.
1221         * history/CachedFrame.cpp:
1222         (WebCore::CachedFrameBase::restore):
1223         * page/FrameView.cpp:
1224         (WebCore::FrameView::FrameView):
1225         (WebCore::FrameView::reset):
1226         (WebCore::FrameView::layout):
1227         * page/FrameView.h:
1228         (WebCore::FrameView::setIsRestoringFromBackForward):
1229         (WebCore::FrameView::isRestoringFromBackForward):
1230
1231 2011-02-18  Patrick Gansterer  <paroga@webkit.org>
1232
1233         Unreviewed WinCE build fix for r78846.
1234
1235         * platform/graphics/wince/FontWinCE.cpp:
1236         (WebCore::TextRunComponent::TextRunComponent):
1237         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1238         (WebCore::GraphicsContext::drawLineForText):
1239         (WebCore::GraphicsContext::drawLineForTextChecking):
1240         (WebCore::GraphicsContext::drawText):
1241         * platform/wince/FileChooserWinCE.cpp:
1242         (WebCore::FileChooser::basenameForWidth):
1243
1244 2011-02-18  Emil A Eklund  <eae@chromium.org>
1245
1246         Reviewed by Darin Adler.
1247
1248         Crash in EventHandler::sendContextMenuEventForKey
1249         https://bugs.webkit.org/show_bug.cgi?id=54495
1250
1251         Test: fast/events/menu-keydown-on-hidden-element.html
1252
1253         * page/EventHandler.cpp:
1254         (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
1255
1256 2011-02-15  Adrienne Walker  <enne@google.com>
1257
1258         Reviewed by James Robinson.
1259
1260         [chromium] Clean up shader code from LayerChromium classes
1261         https://bugs.webkit.org/show_bug.cgi?id=54484
1262
1263         This is a refactoring and there should be no change in functionality.
1264         All shader code is pulled out into classes in ShaderChromium.
1265         The SharedValues classes are now turned into ProgramBinding, one per
1266         shader program.  These contain shader classes that know about what
1267         variables they can bind.
1268
1269         * WebCore.gypi:
1270         * platform/graphics/chromium/CanvasLayerChromium.cpp:
1271         (WebCore::CanvasLayerChromium::draw):
1272         * platform/graphics/chromium/CanvasLayerChromium.h:
1273         * platform/graphics/chromium/ContentLayerChromium.cpp:
1274         (WebCore::ContentLayerChromium::draw):
1275         * platform/graphics/chromium/ContentLayerChromium.h:
1276         * platform/graphics/chromium/GeometryBinding.cpp: Added.
1277         (WebCore::GeometryBinding::GeometryBinding):
1278         (WebCore::GeometryBinding::~GeometryBinding):
1279         (WebCore::GeometryBinding::prepareForDraw):
1280         * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
1281         (WebCore::GeometryBinding::initialized):
1282         (WebCore::GeometryBinding::context):
1283         (WebCore::GeometryBinding::quadVerticesVbo):
1284         (WebCore::GeometryBinding::quadElementsVbo):
1285         (WebCore::GeometryBinding::positionAttribLocation):
1286         (WebCore::GeometryBinding::texCoordAttribLocation):
1287         * platform/graphics/chromium/LayerChromium.cpp:
1288         (WebCore::LayerChromium::drawDebugBorder):
1289         * platform/graphics/chromium/LayerChromium.h:
1290         * platform/graphics/chromium/LayerRendererChromium.cpp:
1291         (WebCore::LayerRendererChromium::drawLayers):
1292         (WebCore::LayerRendererChromium::initializeSharedObjects):
1293         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1294         * platform/graphics/chromium/LayerRendererChromium.h:
1295         (WebCore::LayerRendererChromium::sharedGeometry):
1296         (WebCore::LayerRendererChromium::borderProgram):
1297         (WebCore::LayerRendererChromium::contentLayerProgram):
1298         (WebCore::LayerRendererChromium::canvasLayerProgram):
1299         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
1300         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
1301         (WebCore::LayerRendererChromium::pluginLayerProgram):
1302         (WebCore::LayerRendererChromium::renderSurfaceProgram):
1303         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
1304         (WebCore::LayerRendererChromium::tilerProgram):
1305         * platform/graphics/chromium/LayerTilerChromium.cpp:
1306         (WebCore::LayerTilerChromium::draw):
1307         (WebCore::LayerTilerChromium::drawTexturedQuad):
1308         * platform/graphics/chromium/LayerTilerChromium.h:
1309         * platform/graphics/chromium/PluginLayerChromium.cpp:
1310         (WebCore::PluginLayerChromium::draw):
1311         * platform/graphics/chromium/PluginLayerChromium.h:
1312         * platform/graphics/chromium/ProgramBinding.cpp: Added.
1313         (WebCore::ProgramBindingBase::ProgramBindingBase):
1314         (WebCore::ProgramBindingBase::~ProgramBindingBase):
1315         (WebCore::ProgramBindingBase::init):
1316         (WebCore::ProgramBindingBase::loadShader):
1317         (WebCore::ProgramBindingBase::createShaderProgram):
1318         * platform/graphics/chromium/ProgramBinding.h: Added.
1319         (WebCore::ProgramBindingBase::program):
1320         (WebCore::ProgramBindingBase::initialized):
1321         (WebCore::ProgramBinding::ProgramBinding):
1322         (WebCore::ProgramBinding::vertexShader):
1323         (WebCore::ProgramBinding::fragmentShader):
1324         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1325         (WebCore::RenderSurfaceChromium::drawSurface):
1326         * platform/graphics/chromium/RenderSurfaceChromium.h:
1327         * platform/graphics/chromium/ShaderChromium.cpp: Added.
1328         (WebCore::VertexShaderPosTex::VertexShaderPosTex):
1329         (WebCore::VertexShaderPosTex::init):
1330         (WebCore::VertexShaderPosTex::getShaderString):
1331         (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
1332         (WebCore::VertexShaderPosTexYUVStretch::init):
1333         (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
1334         (WebCore::VertexShaderPos::VertexShaderPos):
1335         (WebCore::VertexShaderPos::init):
1336         (WebCore::VertexShaderPos::getShaderString):
1337         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
1338         (WebCore::VertexShaderPosTexTransform::init):
1339         (WebCore::VertexShaderPosTexTransform::getShaderString):
1340         (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
1341         (WebCore::FragmentTexAlphaBinding::init):
1342         (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
1343         (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
1344         (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
1345         (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
1346         (WebCore::FragmentShaderRGBATexAlphaMask::init):
1347         (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
1348         (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
1349         (WebCore::FragmentShaderYUVVideo::init):
1350         (WebCore::FragmentShaderYUVVideo::getShaderString):
1351         (WebCore::FragmentShaderColor::FragmentShaderColor):
1352         (WebCore::FragmentShaderColor::init):
1353         (WebCore::FragmentShaderColor::getShaderString):
1354         * platform/graphics/chromium/ShaderChromium.h: Added.
1355         (WebCore::VertexShaderPosTex::matrixLocation):
1356         (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
1357         (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
1358         (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
1359         (WebCore::VertexShaderPos::matrixLocation):
1360         (WebCore::VertexShaderPosTexTransform::matrixLocation):
1361         (WebCore::VertexShaderPosTexTransform::texTransformLocation):
1362         (WebCore::FragmentTexAlphaBinding::alphaLocation):
1363         (WebCore::FragmentTexAlphaBinding::samplerLocation):
1364         (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
1365         (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
1366         (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
1367         (WebCore::FragmentShaderYUVVideo::yTextureLocation):
1368         (WebCore::FragmentShaderYUVVideo::uTextureLocation):
1369         (WebCore::FragmentShaderYUVVideo::vTextureLocation):
1370         (WebCore::FragmentShaderYUVVideo::alphaLocation):
1371         (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
1372         (WebCore::FragmentShaderYUVVideo::signAdjLocation):
1373         (WebCore::FragmentShaderColor::colorLocation):
1374         * platform/graphics/chromium/VideoLayerChromium.cpp:
1375         (WebCore::VideoLayerChromium::draw):
1376         (WebCore::VideoLayerChromium::drawYUV):
1377         (WebCore::VideoLayerChromium::drawRGBA):
1378         * platform/graphics/chromium/VideoLayerChromium.h:
1379
1380 2011-02-18  James Robinson  <jamesr@chromium.org>
1381
1382         Reviewed by Kenneth Russell.
1383
1384         [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
1385         https://bugs.webkit.org/show_bug.cgi?id=54315
1386
1387         This defers all operations on the compositor's GL context until the
1388         draw() call which is a prerequisite for moving the draw() off-thread.
1389         Also cleans up the update cycle a bit - there were some unused local
1390         variables and whatnot.
1391
1392         One consequence of this change is that the upload buffer is retained
1393         across updates now instead of allocated by each paint.  This is
1394         necessary so that the full layer contents can be uploaded if the
1395         texture manager evicts the layer's backing texture.  This costs more
1396         persistent memory but avoids lots of allocator churn on updates.
1397         Another nonobvious detail is that I have to update the texture for
1398         ContentLayerChromiums in bindContentsTexture() because mask layers
1399         never draw(), they are instead bound to the secondary texture unit.
1400
1401         * platform/graphics/chromium/ContentLayerChromium.cpp:
1402         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
1403         (WebCore::ContentLayerChromium::updateContentsIfDirty):
1404         (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
1405         (WebCore::ContentLayerChromium::resizeUploadBuffer):
1406         (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
1407         (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
1408         (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
1409         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
1410         (WebCore::ContentLayerChromium::draw):
1411         (WebCore::ContentLayerChromium::unreserveContentsTexture):
1412         (WebCore::ContentLayerChromium::bindContentsTexture):
1413         * platform/graphics/chromium/ContentLayerChromium.h:
1414         * platform/graphics/chromium/ImageLayerChromium.cpp:
1415         (WebCore::ImageLayerChromium::updateContentsIfDirty):
1416         * platform/graphics/chromium/LayerChromium.cpp:
1417         (WebCore::LayerChromium::setBounds):
1418         * platform/graphics/chromium/LayerChromium.h:
1419
1420 2011-02-18  Kenneth Russell  <kbr@google.com>
1421
1422         Unreviewed, Chromium build fix on certain Linux platforms.
1423
1424         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
1425
1426 2011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1427
1428         Reviewed by Kenneth Rohde Christiansen.
1429
1430         [Qt] Implement client based geolocation for qtport
1431         https://bugs.webkit.org/show_bug.cgi?id=42629
1432
1433         Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
1434
1435         No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
1436
1437         * WebCore.pro:
1438         * features.pri:
1439         * platform/qt/GeolocationServiceQt.cpp: Removed.
1440         * platform/qt/GeolocationServiceQt.h: Removed.
1441
1442 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
1443
1444         Reviewed by Dave Hyatt.
1445
1446         Add support for dir=auto
1447         https://bugs.webkit.org/show_bug.cgi?id=50916
1448
1449         When an element has dir attribute with value "auto", call defaultWritingMode
1450         to find its directionality.
1451         Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
1452         and check this flag. This flag is set on every node between an element with
1453         dir=auto attribute and its first text node. Changes in the DOM between those
1454         elements will trigger re-evaluating the directionality, but changes not
1455         between those element do not need to be concerned.
1456         The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
1457         The directionality is evaluated when children are added, and cleared when they are
1458         removed. Directionality flag is also cleared on a child that is no longer determining
1459         the directionality due to a sibling being added before that child.
1460
1461         Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
1462         We cannot used the mapped declaration, because it can take only one value.
1463
1464         Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
1465                fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
1466                fast/dom/HTMLElement/attr-dir-auto-change-text.html
1467                fast/dom/HTMLElement/attr-dir-auto-children.html
1468                fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
1469                fast/dom/HTMLElement/attr-dir-auto.html
1470                fast/dom/HTMLElement/attr-dir-value-change.html
1471
1472         * css/CSSStyleSelector.cpp:
1473         (WebCore::leftToRightDeclaration):
1474         (WebCore::rightToLeftDeclaration):
1475         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1476         (WebCore::CSSStyleSelector::styleForElement):
1477         * dom/Node.h:
1478         (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
1479         (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
1480         * html/HTMLElement.cpp:
1481         (WebCore::HTMLElement::mapToEntry):
1482         (WebCore::HTMLElement::parseMappedAttribute):
1483         (WebCore::setHasDirAutoFlagRecursively):
1484         (WebCore::HTMLElement::childrenChanged):
1485         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
1486         (WebCore::HTMLElement::directionality):
1487         (WebCore::HTMLElement::dirAttributeChanged):
1488         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
1489         (WebCore::HTMLElement::calculateAndAdjustDirectionality):
1490         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
1491         * html/HTMLElement.h:
1492
1493 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
1494
1495         Reviewed by Antonio Gomes.
1496
1497         Navigating downwards / upwards does not focus on the links spread across more than one line.
1498         https://bugs.webkit.org/show_bug.cgi?id=54639
1499
1500         When 2 anchor elements span more than one line each, and one ends on the same line that the
1501         second starts on, the rects reported by their renderers are overlapping. When handling
1502         2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.   
1503
1504         Test: fast/spatial-navigation/snav-two-elements-one-line.html
1505
1506         * page/FocusController.cpp:
1507         (WebCore::updateFocusCandidateIfNeeded):
1508         (WebCore::FocusController::findFocusCandidateInContainer):
1509         * page/SpatialNavigation.cpp:
1510         (WebCore::areElementsOnSameLine):
1511         (WebCore::distanceDataForNode):
1512         * page/SpatialNavigation.h:
1513
1514 2011-02-18  Ben Vanik  <benvanik@google.com>
1515
1516         Reviewed by Kenneth Russell.
1517
1518         Bug 53940: Implement the OES_vertex_array_object WebGL extension
1519         https://bugs.webkit.org/show_bug.cgi?id=53940
1520
1521         Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
1522         extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
1523         the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
1524         it is available.
1525         Two big changes touching code outside of the extension files:
1526         * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
1527           GraphicsTypes.h). They are not namespaced as they weren't before.
1528         * To make the code cleaner/clearer all vertex attribute state has been moved to the
1529           WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
1530           on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
1531           states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
1532           vertex attributes now defers to or stores values in the bound array object.
1533
1534         Tested against the WebGL conformance suite and the new
1535         oes-vertex-array-object test:
1536         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
1537
1538         * CMakeLists.txt:
1539         * CodeGenerators.pri:
1540         * DerivedSources.make:
1541         * GNUmakefile.am:
1542         * WebCore.gyp: Modified property svn:ignore.
1543         * WebCore.gypi:
1544         * WebCore.pro:
1545         * WebCore.xcodeproj/project.pbxproj:
1546         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1547         (WebCore::toJS):
1548         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1549         (WebCore::toV8Object):
1550         * html/canvas/OESVertexArrayObject.cpp: Added.
1551         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
1552         (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
1553         (WebCore::OESVertexArrayObject::getName):
1554         (WebCore::OESVertexArrayObject::create):
1555         (WebCore::OESVertexArrayObject::createVertexArrayOES):
1556         (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
1557         (WebCore::OESVertexArrayObject::isVertexArrayOES):
1558         (WebCore::OESVertexArrayObject::bindVertexArrayOES):
1559         * html/canvas/OESVertexArrayObject.h: Added.
1560         * html/canvas/OESVertexArrayObject.idl: Added.
1561         * html/canvas/WebGLExtension.h:
1562         * html/canvas/WebGLGetInfo.cpp:
1563         (WebCore::WebGLGetInfo::WebGLGetInfo):
1564         (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
1565         * html/canvas/WebGLGetInfo.h:
1566         * html/canvas/WebGLRenderingContext.cpp:
1567         (WebCore::WebGLRenderingContext::initializeNewContext):
1568         (WebCore::WebGLRenderingContext::bindBuffer):
1569         (WebCore::WebGLRenderingContext::deleteBuffer):
1570         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
1571         (WebCore::WebGLRenderingContext::validateElementArraySize):
1572         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
1573         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1574         (WebCore::WebGLRenderingContext::validateRenderingState):
1575         (WebCore::WebGLRenderingContext::drawElements):
1576         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
1577         (WebCore::WebGLRenderingContext::getExtension):
1578         (WebCore::WebGLRenderingContext::getParameter):
1579         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1580         (WebCore::WebGLRenderingContext::getVertexAttrib):
1581         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1582         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
1583         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
1584         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
1585         (WebCore::WebGLRenderingContext::initVertexAttrib0):
1586         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
1587         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
1588         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
1589         (WebCore::WebGLRenderingContext::getExtensionNumber):
1590         * html/canvas/WebGLRenderingContext.h:
1591         (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
1592         (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
1593         (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
1594         * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
1595         (WebCore::WebGLVertexArrayObjectOES::create):
1596         (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
1597         (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
1598         * html/canvas/WebGLVertexArrayObjectOES.h: Added.
1599         (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
1600         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
1601         (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
1602         (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
1603         (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
1604         (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
1605         (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
1606         (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
1607         (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
1608         * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
1609         * platform/graphics/Extensions3D.h:
1610         * platform/graphics/GraphicsContext3D.h:
1611         * platform/graphics/GraphicsTypes3D.h: Added.
1612         * platform/graphics/chromium/Extensions3DChromium.h:
1613         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1614         (WebCore::Extensions3DOpenGL::supports):
1615         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
1616         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
1617         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
1618         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
1619         * platform/graphics/opengl/Extensions3DOpenGL.h:
1620         * platform/graphics/qt/Extensions3DQt.cpp:
1621         (WebCore::Extensions3DQt::createVertexArrayOES):
1622         (WebCore::Extensions3DQt::deleteVertexArrayOES):
1623         (WebCore::Extensions3DQt::isVertexArrayOES):
1624         (WebCore::Extensions3DQt::bindVertexArrayOES):
1625         * platform/graphics/qt/Extensions3DQt.h:
1626
1627 2011-02-17  Alexander Pavlov  <apavlov@chromium.org>
1628
1629         Reviewed by Pavel Feldman.
1630
1631         Web Inspector: reflect changes to styles when they happen outside inspector.
1632         https://bugs.webkit.org/show_bug.cgi?id=44620
1633
1634         Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
1635         whenever the style change does not come from a direct "style" attribute modification.
1636         The performance regression occurs only with the Web Inspector opened, when inline styles
1637         are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
1638         an attribute change requires that all attributes for the node in question be pushed into the frontend.
1639
1640         Test: inspector/styles/styles-update-from-js.html
1641
1642         * css/CSSMutableStyleDeclaration.cpp:
1643         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
1644         * inspector/InspectorDOMAgent.cpp:
1645         (WebCore::RevalidateStyleAttributeTask::reset):
1646         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
1647         (WebCore::RevalidateStyleAttributeTask::scheduleFor):
1648         (WebCore::RevalidateStyleAttributeTask::onTimer):
1649         (WebCore::InspectorDOMAgent::reset):
1650         (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
1651         * inspector/InspectorDOMAgent.h:
1652         * inspector/InspectorInstrumentation.cpp:
1653         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
1654         * inspector/InspectorInstrumentation.h:
1655         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
1656         * inspector/InspectorStyleSheet.cpp:
1657         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
1658         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
1659         (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
1660         * inspector/InspectorStyleSheet.h:
1661         * inspector/front-end/ElementsPanel.js:
1662         (WebInspector.ElementsPanel.prototype._attributesUpdated):
1663         * inspector/front-end/StylesSidebarPane.js:
1664         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
1665         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
1666         (WebInspector.StylePropertiesSection.prototype.onpopulate):
1667         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
1668         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
1669         (WebInspector.BlankStylePropertiesSection):
1670         (WebInspector.StylePropertyTreeElement):
1671         (WebInspector.StylePropertyTreeElement.prototype):
1672         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
1673
1674 2011-02-16  Tony Gentilcore  <tonyg@chromium.org>
1675
1676         Reviewed by Eric Seidel.
1677
1678         Refactor pumpTokenizer loop
1679         https://bugs.webkit.org/show_bug.cgi?id=54574
1680
1681         1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
1682            the next token, although ASSERTs still enforce that we aren't waiting for a script. This
1683            enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
1684            yield before running a script rather than before taking a token (see bug 54355).
1685         2. This also picks up the refCount >= 1 assert when stopped.
1686
1687         Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
1688         Before:
1689           avg 985.05
1690           median 985.5
1691           stdev 3.007906248539007
1692           min 980
1693           max 990
1694         After:
1695           avg 980.05
1696           median 981
1697           stdev 3.122098653149833
1698           min 974
1699           max 985
1700
1701         No new tests because no new functionality.
1702
1703         * html/parser/HTMLDocumentParser.cpp:
1704         (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
1705         (WebCore::HTMLDocumentParser::pumpTokenizer):
1706         * html/parser/HTMLDocumentParser.h:
1707
1708 2011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1709
1710         Unreviewed, rolling out r79003.
1711         http://trac.webkit.org/changeset/79003
1712         https://bugs.webkit.org/show_bug.cgi?id=54753
1713
1714         It broke tests on GTK bots (Requested by Ossy on #webkit).
1715
1716         * accessibility/AccessibilityRenderObject.cpp:
1717         (WebCore::lastChildConsideringContinuation):
1718         * dom/Node.cpp:
1719         (WebCore::Node::removeEventListener):
1720         * html/DateComponents.cpp:
1721         (WebCore::DateComponents::parseTime):
1722
1723 2011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
1724
1725         Rubber-stamped by Andreas Kling.
1726
1727         Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
1728
1729         * accessibility/AccessibilityRenderObject.cpp:
1730         (WebCore::lastChildConsideringContinuation):
1731         * dom/Node.cpp:
1732         (WebCore::Node::removeEventListener):
1733         * html/DateComponents.cpp:
1734         (WebCore::DateComponents::parseTime):
1735
1736 2011-02-18  Andrey Adaikin  <aandrey@google.com>
1737
1738         Reviewed by Pavel Feldman.
1739
1740         Web Inspector: [Text editor] Optimize editing updates in main panel
1741         https://bugs.webkit.org/show_bug.cgi?id=54661
1742
1743         * inspector/front-end/TextViewer.js:
1744         (WebInspector.TextViewer):
1745         (WebInspector.TextViewer.prototype._textChanged):
1746         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
1747         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
1748         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
1749         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
1750         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
1751         (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
1752         (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
1753         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
1754         (WebInspector.TextEditorGutterChunk):
1755         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
1756         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
1757         (WebInspector.TextEditorMainPanel):
1758         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
1759         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
1760         (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
1761         (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
1762         (WebInspector.TextEditorMainPanel.prototype._paintLines):
1763         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1764         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
1765         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1766         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1767         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
1768         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
1769         (WebInspector.TextEditorMainChunk):
1770         (WebInspector.TextEditorMainChunk.prototype.get startLine):
1771         (WebInspector.TextEditorMainChunk.prototype.set startLine):
1772         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
1773         (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
1774
1775 2011-02-18  Steve Block  <steveblock@google.com>
1776
1777         Reviewed by Andreas Kling
1778
1779         Memory allocation error in convertV8ObjectToNPVariant() for strings
1780         https://bugs.webkit.org/show_bug.cgi?id=54737
1781
1782         Include the termination character in the length when allocating memory
1783         and copying the string. This fixes a crashing bug on Android.
1784
1785         This should be tested by the java/ tests on Chromium, but these
1786         tests are currently skipped.
1787
1788         * bindings/v8/V8NPUtils.cpp:
1789         (WebCore::convertV8ObjectToNPVariant):
1790
1791 2011-02-18  Philippe Normand  <pnormand@igalia.com>
1792
1793         Unreviewed, rolling out r78979.
1794         http://trac.webkit.org/changeset/78979
1795         https://bugs.webkit.org/show_bug.cgi?id=53146
1796
1797         causes multiple crashes on GTK
1798
1799         * accessibility/gtk/AXObjectCacheAtk.cpp:
1800         (WebCore::notifyChildrenSelectionChange):
1801         (WebCore::AXObjectCache::postPlatformNotification):
1802
1803 2011-02-18  Philippe Normand  <pnormand@igalia.com>
1804
1805         Reviewed by Martin Robinson.
1806
1807         [GTK] minimal build unrecognized options
1808         https://bugs.webkit.org/show_bug.cgi?id=50890
1809
1810         * GNUmakefile.am: new feature defines for optional features build.
1811
1812 2011-02-17  Hans Wennborg  <hans@chromium.org>
1813
1814         Reviewed by Jeremy Orlow.
1815
1816         IndexedDB: Populate indexes created for object stores with data
1817         https://bugs.webkit.org/show_bug.cgi?id=54669
1818
1819         Make sure that indices for object stores that already hold data get
1820         populated.
1821
1822         * storage/IDBIndexBackendImpl.h:
1823         (WebCore::IDBIndexBackendImpl::hasValidId):
1824         * storage/IDBObjectStoreBackendImpl.cpp:
1825         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1826         (WebCore::populateIndex):
1827         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
1828
1829 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
1830
1831         Reviewed by Martin Robinson.
1832
1833         [GTK] Combo boxes should emit object:selection-changed even when collapsed
1834         https://bugs.webkit.org/show_bug.cgi?id=53146
1835
1836         Emit the selection-changed signals when the menu list value has changed
1837
1838         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
1839
1840         * accessibility/gtk/AXObjectCacheAtk.cpp:
1841         (WebCore::getListObject): New, return the right list object for
1842         menu lists and list boxes.
1843         (WebCore::notifyChildrenSelectionChange): Support menu lists.
1844         (WebCore::AXObjectCache::postPlatformNotification): Call function
1845         notifyChildrenSelectionChange for AXMenuListValueChanged.
1846
1847 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
1848
1849         Reviewed by Martin Robinson.
1850
1851         [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
1852         https://bugs.webkit.org/show_bug.cgi?id=53453
1853
1854         Ensure that atk_text_{get|set}_selection() work with list items.
1855
1856         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1857         (webkit_accessible_text_get_text): Properly handle list item
1858         markers when returning the text for an object for a given interval
1859         specified through the startOffset and endOffset parameters.
1860         (getSelectionOffsetsForObject): Bear in mind list item markers
1861         when returning the offsets for a selection over a list item.
1862         (webkit_accessible_text_set_selection): Adjust offsets if needed
1863         for list items with item markers. Ensure that it returns TRUE only
1864         when everything went fine setting the text selection.
1865
1866 2011-02-18  Antti Koivisto  <antti@apple.com>
1867
1868         Reviewed by Maciej Stachowiak.
1869
1870         https://bugs.webkit.org/show_bug.cgi?id=54728
1871         checkSelector*Value functions used in fastCheckSelector fail to inline
1872         
1873         Wrap the functions used as template arguments to classes.
1874
1875         * css/CSSStyleSelector.cpp:
1876         (WebCore::fastCheckSingleSelector):
1877         (WebCore::ClassCheck::checkValue):
1878         (WebCore::IdCheck::checkValue):
1879         (WebCore::TagCheck::checkValue):
1880         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
1881
1882 2011-02-17  Simon Fraser  <simon.fraser@apple.com>
1883
1884         Reviewed by Sam Weinig.
1885
1886         Composited iframe content is missing from snapshots in WebKit2
1887         https://bugs.webkit.org/show_bug.cgi?id=54696
1888
1889         We need to propagate the 'flattening' paint behavior flag
1890         down to subviews while painting. WebKit1 does this via
1891         code in WebFrameView, but this is a more general fix
1892         that works in WebKit2 as well.
1893         
1894         Made a utility method, parentFrameView(), which I changed
1895         some other methods to use as well.
1896         
1897         * page/FrameView.cpp:
1898         (WebCore::FrameView::isEnclosedInCompositingLayer):
1899         (WebCore::FrameView::useSlowRepaints):
1900         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
1901         (WebCore::FrameView::isOverlappedIncludingAncestors):
1902         (WebCore::FrameView::parentFrameView):
1903         (WebCore::FrameView::paintContents):
1904         * page/FrameView.h:
1905
1906 2011-02-17  Dan Bernstein  <mitz@apple.com>
1907
1908         Reviewed by Simon Fraser.
1909
1910         <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
1911
1912         * html/HTMLBodyElement.cpp:
1913         (WebCore::adjustForZoom): Account for page scale.
1914         (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
1915         (WebCore::HTMLBodyElement::setScrollTop): Ditto.
1916         * page/FrameView.cpp:
1917         (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
1918         account for page scale: when the page is scaled, the “viewport” with respect to which fixed
1919         objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
1920         the frame view), we move it around in proportion to the document scroll, so that when the document
1921         is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
1922         (WebCore::FrameView::scrollYForFixedPosition): Ditto.
1923         (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here.
1924         * page/FrameView.h:
1925         * platform/ScrollView.cpp: Moved functions to FrameView.
1926         * platform/ScrollView.h:
1927         * rendering/RenderLayer.cpp:
1928         (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed.
1929         (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition().
1930         (WebCore::RenderLayer::backgroundClipRect): Ditto.
1931
1932 2011-02-17  Kenneth Russell  <kbr@google.com>
1933
1934         Reviewed by James Robinson.
1935
1936         Add support for GPU accelerated path rendering
1937         https://bugs.webkit.org/show_bug.cgi?id=44729
1938
1939         Incorporates the Loop and Blinn path rendering algorithm as an
1940         option to the GPU-accelerated canvas code, currently only compiled
1941         in to the Chromium port. Currently it's toggled by changing a
1942         hardcoded constant in
1943         SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
1944         disabled by default. This mechanism can be improved once we've
1945         gained more confidence in the implementation. There are some known
1946         bugs that need to be fixed first.
1947
1948         No new tests; ran some 2D Canvas tests manually with the new flag
1949         both enabled and disabled.
1950
1951         * WebCore.gypi:
1952         * platform/graphics/chromium/GLES2Canvas.cpp:
1953         (WebCore::GLES2Canvas::GLES2Canvas):
1954         (WebCore::GLES2Canvas::fillPath):
1955         * platform/graphics/chromium/GLES2Canvas.h:
1956         * platform/graphics/gpu/LoopBlinnClassifier.h:
1957         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
1958         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1959         (WebCore::SharedGraphicsContext3D::create):
1960         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
1961         (WebCore::SharedGraphicsContext3D::createBuffer):
1962         (WebCore::SharedGraphicsContext3D::bindBuffer):
1963         (WebCore::SharedGraphicsContext3D::bufferData):
1964         (WebCore::SharedGraphicsContext3D::bufferSubData):
1965         (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
1966         (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
1967         (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
1968         * platform/graphics/gpu/SharedGraphicsContext3D.h:
1969         * platform/graphics/skia/GraphicsContextSkia.cpp:
1970         (WebCore::GraphicsContext::fillPath):
1971
1972 2011-02-16  Stephen White  <senorblanco@chromium.org>
1973
1974         Reviewed by James Robinson.
1975
1976         Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
1977         accelerated 2D canvas w/compositor enabled.
1978         https://bugs.webkit.org/show_bug.cgi?id=54561
1979
1980         When resetting the CanvasRenderingContext2D, we also need to send a
1981         contentChanged() to the relevant RenderLayer.  This is similar to what
1982         is done in didDraw().
1983
1984         Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note 
1985         that this test will still fail pixel tests because the compositor
1986         is not compatible with repaint tests (the green square is now white,
1987         but the half-transparent grey repaint rect does not appear).
1988
1989         * html/canvas/CanvasRenderingContext2D.cpp:
1990         (WebCore::CanvasRenderingContext2D::reset):
1991
1992 2011-02-17  Sergey Glazunov  <serg.glazunov@gmail.com>
1993
1994         Reviewed by Kenneth Russell.
1995
1996         Null out the WEBKIT_lose_context WebGL extension's context pointer when
1997         the WebGL rendering context is removed.
1998         https://bugs.webkit.org/show_bug.cgi?id=54679
1999
2000         Test: fast/canvas/webgl/context-destroyed-crash.html
2001
2002         * html/canvas/WebGLRenderingContext.cpp:
2003         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
2004         * html/canvas/WebKitLoseContext.cpp:
2005         (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
2006         * html/canvas/WebKitLoseContext.h:
2007         (WebCore::WebKitLoseContext::contextDestroyed):
2008
2009 2011-02-17  Kenneth Russell  <kbr@google.com>
2010
2011         Reviewed by Chris Marrin.
2012
2013         Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values
2014         https://bugs.webkit.org/show_bug.cgi?id=52768
2015
2016         Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
2017         code which casts from incoming double to the destination type.
2018         Changed the JSC bindings to use this code, rather than a copy of
2019         the casting code and a different constructor, in order to reuse
2020         the fix.
2021
2022         * bindings/js/JSArrayBufferViewHelper.h:
2023         (WebCore::constructArrayBufferView):
2024         * html/canvas/Int32Array.h:
2025         (WebCore::Int32Array::set):
2026         * html/canvas/Int8Array.h:
2027         (WebCore::Int8Array::set):
2028         * html/canvas/IntegralTypedArrayBase.h:
2029         (WebCore::IntegralTypedArrayBase::set):
2030         * html/canvas/Uint16Array.h:
2031         (WebCore::Uint16Array::set):
2032         * html/canvas/Uint32Array.h:
2033         (WebCore::Uint32Array::set):
2034         * html/canvas/Uint8Array.h:
2035         (WebCore::Uint8Array::set):
2036
2037 2011-02-17  Sam Weinig  <sam@webkit.org>
2038
2039         Reviewed by Dan Bernstein.
2040
2041         Knob proportion not quite right during rubber-band.
2042         <rdar://problem/9015201>
2043
2044         Change knob proportion algorithm to treat overhang as making the view smaller,
2045         rather than document bigger.
2046
2047         * platform/mac/ScrollbarThemeMac.mm:
2048         (WebCore::ScrollbarThemeMac::paint):
2049
2050 2011-02-16  Luiz Agostini  <luiz.agostini@openbossa.org>
2051
2052         Reviewed by Andreas Kling.
2053
2054         Summary: HTML5 <details> and <summary>: HTMLSummaryElement
2055         https://bugs.webkit.org/show_bug.cgi?id=54584
2056
2057         Adding class HTMLSummaryElement to build systems. This class will be used in
2058         the implementation of new HTML5 tag <summary>.
2059
2060         * CMakeLists.txt:
2061         * GNUmakefile.am:
2062         * WebCore.gypi:
2063         * WebCore.pro:
2064         * WebCore.vcproj/WebCore.vcproj:
2065         * WebCore.xcodeproj/project.pbxproj:
2066         * html/HTMLElementsAllInOne.cpp:
2067         * html/HTMLSummaryElement.cpp: Added.
2068         (WebCore::HTMLSummaryElement::create):
2069         (WebCore::HTMLSummaryElement::HTMLSummaryElement):
2070         * html/HTMLSummaryElement.h: Added.
2071         * html/HTMLTagNames.in:
2072
2073 2011-02-17  Jeremy Orlow  <jorlow@chromium.org>
2074
2075         Reviewed by Nate Chapin.
2076
2077         Throwing in an IndexedDB error or success event should lead to the transaction aborting
2078         https://bugs.webkit.org/show_bug.cgi?id=54249
2079
2080         When an exception is thrown but not handled  within an IDBRequests success/error event,
2081         we should abort the transaction.
2082
2083         Test: storage/indexeddb/exception-in-event-aborts.html
2084
2085         * bindings/js/JSEventListener.cpp:
2086         (WebCore::JSEventListener::handleEvent):
2087         * bindings/js/JSEventTarget.cpp:
2088         (WebCore::toJS):
2089         * bindings/v8/V8AbstractEventListener.cpp:
2090         (WebCore::V8AbstractEventListener::invokeEventHandler):
2091         * dom/EventTarget.cpp:
2092         (WebCore::EventTarget::uncaughtExceptionInEventHandler):
2093         * dom/EventTarget.h:
2094         * storage/IDBRequest.cpp:
2095         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
2096         * storage/IDBRequest.h:
2097
2098 2011-02-17  Sam Weinig  <sam@webkit.org>
2099
2100         Reviewed by Maciej Stachowiak.
2101
2102         WebKit2: Support Dictionary popup
2103         <rdar://problem/7660670>
2104
2105         Add some necessary exports.
2106
2107         * WebCore.exp.in:
2108
2109 2011-02-17  W. James MacLean  <wjmaclean@chromium.org>
2110
2111         Reviewed by James Robinson.
2112
2113         [chromium] Add command-line flag to enable composite to offscreen texture.
2114         https://bugs.webkit.org/show_bug.cgi?id=52311
2115
2116         Add plumbing to allow command-line switch to enable offscreen compositing. Function
2117         LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic
2118         normal renderer operation.
2119
2120         Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
2121
2122         * platform/graphics/chromium/LayerRendererChromium.cpp:
2123         (WebCore::LayerRendererChromium::setRootLayer):
2124         (WebCore::LayerRendererChromium::setCompositeOffscreen):
2125         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
2126         (WebCore::LayerRendererChromium::useRenderSurface):
2127         (WebCore::LayerRendererChromium::setScissorToRect):
2128         * platform/graphics/chromium/LayerRendererChromium.h:
2129         (WebCore::LayerRendererChromium::isCompositingOffscreen):
2130
2131 2011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
2132
2133         [wx] Build fixes after recent changes.
2134
2135         * dom/ScriptedAnimationController.h:
2136         * platform/graphics/wx/FontWx.cpp:
2137         (WebCore::Font::drawComplexText):
2138         * platform/graphics/wx/GraphicsContextWx.cpp:
2139         (WebCore::GraphicsContext::drawLineForText):
2140         (WebCore::GraphicsContext::drawLineForTextChecking):
2141         * platform/wx/WidgetWx.cpp:
2142         (WebCore::Widget::setFrameRect):
2143
2144 2011-02-16  Brian Weinstein  <bweinstein@apple.com>
2145
2146         Reviewed by Brady Eidson.
2147
2148         WebKit2: Need a way to manage the WebCore Cache
2149         https://bugs.webkit.org/show_bug.cgi?id=54501
2150         
2151         Add a way to get a set of all of the origins that have entries in the
2152         WebCore memory cache, and a method to remove all resources from the memory
2153         cache from a given security origin.
2154
2155         No change in behavior.
2156
2157         * WebCore.exp.in: Add functions that need to be exported.
2158         * loader/cache/MemoryCache.cpp:
2159         (WebCore::MemoryCache::removeResourcesWithOrigin):
2160         (WebCore::MemoryCache::getOriginsWithCache):
2161         * loader/cache/MemoryCache.h:
2162
2163 2011-02-16  David Hyatt  <hyatt@apple.com>
2164
2165         Reviewed by Dan Bernstein.
2166
2167         https://bugs.webkit.org/show_bug.cgi?id=54244
2168         
2169         Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
2170         hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
2171         
2172         The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
2173         been changed as well.
2174         
2175         In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
2176         
2177         Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
2178         
2179         Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
2180         still have a precise floating point position.
2181
2182         Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
2183         be rounding justification spacing in their font code.
2184
2185         Many layout test results change on Mac, since rounding hacks were used there and are now gone.
2186
2187         * WebCore.exp.in:
2188         * html/canvas/CanvasRenderingContext2D.cpp:
2189         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2190         * platform/chromium/FileChooserChromium.cpp:
2191         (WebCore::FileChooser::basenameForWidth):
2192         * platform/graphics/Font.cpp:
2193         (WebCore::Font::width):
2194         * platform/graphics/Font.h:
2195         (WebCore::Font::spaceWidth):
2196         (WebCore::Font::tabWidth):
2197         * platform/graphics/FontFastPath.cpp:
2198         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
2199         * platform/graphics/GraphicsContext.cpp:
2200         (WebCore::GraphicsContext::drawText):
2201         (WebCore::GraphicsContext::drawEmphasisMarks):
2202         (WebCore::GraphicsContext::drawBidiText):
2203         (WebCore::GraphicsContext::drawHighlightForText):
2204         * platform/graphics/GraphicsContext.h:
2205         * platform/graphics/SimpleFontData.cpp:
2206         (WebCore::SimpleFontData::SimpleFontData):
2207         (WebCore::SimpleFontData::platformGlyphInit):
2208         * platform/graphics/SimpleFontData.h:
2209         (WebCore::SimpleFontData::spaceWidth):
2210         * platform/graphics/StringTruncator.cpp:
2211         (WebCore::stringWidth):
2212         (WebCore::truncateString):
2213         (WebCore::StringTruncator::centerTruncate):
2214         (WebCore::StringTruncator::rightTruncate):
2215         (WebCore::StringTruncator::width):
2216         * platform/graphics/StringTruncator.h:
2217         * platform/graphics/TextRun.h:
2218         (WebCore::TextRun::TextRun):
2219         (WebCore::TextRun::xPos):
2220         (WebCore::TextRun::expansion):
2221         (WebCore::TextRun::directionalOverride):
2222         (WebCore::TextRun::disableSpacing):
2223         * platform/graphics/WidthIterator.cpp:
2224         (WebCore::WidthIterator::WidthIterator):
2225         (WebCore::WidthIterator::advance):
2226         * platform/graphics/WidthIterator.h:
2227         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2228         (WebCore::GraphicsContext::drawLineForText):
2229         (WebCore::GraphicsContext::drawLineForTextChecking):
2230         * platform/graphics/cg/GraphicsContextCG.cpp:
2231         (WebCore::GraphicsContext::drawLineForText):
2232         * platform/graphics/mac/ComplexTextController.cpp:
2233         (WebCore::ComplexTextController::ComplexTextController):
2234         (WebCore::ComplexTextController::advance):
2235         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2236         * platform/graphics/mac/ComplexTextController.h:
2237         * platform/graphics/mac/FontComplexTextMac.cpp:
2238         (WebCore::Font::getGlyphsAndAdvancesForComplexText):
2239         * platform/graphics/mac/GraphicsContextMac.mm:
2240         (WebCore::GraphicsContext::drawLineForTextChecking):
2241         * platform/graphics/qt/GraphicsContextQt.cpp:
2242         (WebCore::GraphicsContext::drawLineForText):
2243         (WebCore::GraphicsContext::drawLineForTextChecking):
2244         * platform/graphics/qt/SimpleFontDataQt.cpp:
2245         (WebCore::SimpleFontData::platformGlyphInit):
2246         * platform/graphics/skia/GraphicsContextSkia.cpp:
2247         (WebCore::GraphicsContext::drawLineForTextChecking):
2248         (WebCore::GraphicsContext::drawLineForText):
2249         * platform/graphics/win/GraphicsContextCGWin.cpp:
2250         (WebCore::GraphicsContext::drawLineForTextChecking):
2251         * platform/graphics/win/UniscribeController.cpp:
2252         (WebCore::UniscribeController::shapeAndPlaceItem):
2253         * platform/gtk/FileChooserGtk.cpp:
2254         (WebCore::FileChooser::basenameForWidth):
2255         * platform/mac/DragImageMac.mm:
2256         (WebCore::widthWithFont):
2257         (WebCore::drawAtPoint):
2258         * platform/mac/FileChooserMac.mm:
2259         (WebCore::FileChooser::basenameForWidth):
2260         * platform/win/DragImageWin.cpp:
2261         (WebCore::createDragImageForLink):
2262         * platform/win/FileChooserWin.cpp:
2263         (WebCore::FileChooser::basenameForWidth):
2264         * platform/win/PopupMenuWin.cpp:
2265         (WebCore::PopupMenuWin::calculatePositionAndSize):
2266         * platform/win/WebCoreTextRenderer.cpp:
2267         (WebCore::WebCoreTextFloatWidth):
2268         * rendering/HitTestResult.cpp:
2269         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
2270         * rendering/HitTestResult.h:
2271         * rendering/InlineBox.cpp:
2272         (WebCore::InlineBox::adjustPosition):
2273         (WebCore::InlineBox::placeEllipsisBox):
2274         (WebCore::InlineBox::locationIncludingFlipping):
2275         (WebCore::InlineBox::flipForWritingMode):
2276         * rendering/InlineBox.h:
2277         (WebCore::InlineBox::InlineBox):
2278         (WebCore::InlineBox::adjustLineDirectionPosition):
2279         (WebCore::InlineBox::adjustBlockDirectionPosition):
2280         (WebCore::InlineBox::setX):
2281         (WebCore::InlineBox::x):
2282         (WebCore::InlineBox::setY):
2283         (WebCore::InlineBox::y):
2284         (WebCore::InlineBox::width):
2285         (WebCore::InlineBox::height):
2286         (WebCore::InlineBox::logicalLeft):
2287         (WebCore::InlineBox::logicalRight):
2288         (WebCore::InlineBox::setLogicalLeft):
2289         (WebCore::InlineBox::pixelSnappedLogicalLeft):
2290         (WebCore::InlineBox::pixelSnappedLogicalRight):
2291         (WebCore::InlineBox::setLogicalWidth):
2292         (WebCore::InlineBox::logicalWidth):
2293         (WebCore::InlineBox::verticalAlign):
2294         * rendering/InlineFlowBox.cpp:
2295         (WebCore::InlineFlowBox::roundedFrameRect):
2296         (WebCore::InlineFlowBox::adjustPosition):
2297         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2298         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
2299         (WebCore::verticalPositionForBox):
2300         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2301         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2302         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2303         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2304         (WebCore::InlineFlowBox::computeOverflow):
2305         (WebCore::InlineFlowBox::setLayoutOverflow):
2306         (WebCore::InlineFlowBox::setVisualOverflow):
2307         (WebCore::InlineFlowBox::nodeAtPoint):
2308         (WebCore::InlineFlowBox::paintBoxDecorations):
2309         (WebCore::InlineFlowBox::paintMask):
2310         (WebCore::InlineFlowBox::placeEllipsisBox):
2311         * rendering/InlineFlowBox.h:
2312         (WebCore::InlineFlowBox::maxYLayoutOverflow):
2313         (WebCore::InlineFlowBox::maxXLayoutOverflow):
2314         (WebCore::InlineFlowBox::layoutOverflowRect):
2315         (WebCore::InlineFlowBox::maxYVisualOverflow):
2316         (WebCore::InlineFlowBox::maxXVisualOverflow):
2317         (WebCore::InlineFlowBox::visualOverflowRect):
2318         * rendering/InlineTextBox.cpp:
2319         (WebCore::InlineTextBox::placeEllipsisBox):
2320         (WebCore::InlineTextBox::nodeAtPoint):
2321         (WebCore::paintTextWithShadows):
2322         (WebCore::InlineTextBox::paint):
2323         (WebCore::InlineTextBox::paintSelection):
2324         (WebCore::InlineTextBox::paintCompositionBackground):
2325         (WebCore::InlineTextBox::paintDecoration):
2326         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2327         (WebCore::InlineTextBox::paintTextMatchMarker):
2328         (WebCore::InlineTextBox::paintDocumentMarkers):
2329         (WebCore::InlineTextBox::paintCompositionUnderline):
2330         (WebCore::InlineTextBox::textPos):
2331         (WebCore::InlineTextBox::offsetForPosition):
2332         (WebCore::InlineTextBox::positionForOffset):
2333         * rendering/InlineTextBox.h:
2334         (WebCore::InlineTextBox::setExpansion):
2335         * rendering/RenderBR.h:
2336         (WebCore::RenderBR::width):
2337         * rendering/RenderBlock.cpp:
2338         (WebCore::stripTrailingSpace):
2339         (WebCore::updatePreferredWidth):
2340         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2341         (WebCore::RenderBlock::adjustForBorderFit):
2342         (WebCore::RenderBlock::addFocusRingRects):
2343         * rendering/RenderBlock.h:
2344         * rendering/RenderBlockLineLayout.cpp:
2345         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2346         (WebCore::RenderBlock::fitBelowFloats):
2347         (WebCore::textWidth):
2348         (WebCore::tryHyphenating):
2349         (WebCore::RenderBlock::findNextLineBreak):
2350         * rendering/RenderBox.cpp:
2351         (WebCore::RenderBox::positionLineBox):
2352         (WebCore::RenderBox::flipForWritingMode):
2353         * rendering/RenderBox.h:
2354         * rendering/RenderCombineText.cpp:
2355         (WebCore::RenderCombineText::width):
2356         (WebCore::RenderCombineText::adjustTextOrigin):
2357         (WebCore::RenderCombineText::combineText):
2358         * rendering/RenderCombineText.h:
2359         (WebCore::RenderCombineText::combinedTextWidth):
2360         * rendering/RenderCounter.cpp:
2361         (WebCore::RenderCounter::computePreferredLogicalWidths):
2362         * rendering/RenderCounter.h:
2363         * rendering/RenderEmbeddedObject.cpp:
2364         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
2365         * rendering/RenderFileUploadControl.cpp:
2366         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
2367         * rendering/RenderImage.cpp:
2368         * rendering/RenderInline.cpp:
2369         (WebCore::RenderInline::linesBoundingBox):
2370         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
2371         (WebCore::RenderInline::addFocusRingRects):
2372         (WebCore::RenderInline::paintOutline):
2373         * rendering/RenderListBox.cpp:
2374         (WebCore::RenderListBox::updateFromElement):
2375         (WebCore::RenderListBox::paintItemForeground):
2376         * rendering/RenderMenuList.cpp:
2377         (WebCore::RenderMenuList::updateOptionsWidth):
2378         * rendering/RenderText.cpp:
2379         (WebCore::RenderText::localCaretRect):
2380         (WebCore::RenderText::widthFromCache):
2381         (WebCore::RenderText::trimmedPrefWidths):
2382         (WebCore::RenderText::minLogicalWidth):
2383         (WebCore::RenderText::maxLogicalWidth):
2384         (WebCore::RenderText::computePreferredLogicalWidths):
2385         (WebCore::RenderText::firstRunOrigin):
2386         (WebCore::RenderText::firstRunX):
2387         (WebCore::RenderText::firstRunY):
2388         (WebCore::RenderText::width):
2389         (WebCore::RenderText::linesBoundingBox):
2390         * rendering/RenderText.h:
2391         * rendering/RenderTextControl.cpp:
2392         (WebCore::RenderTextControl::getAvgCharWidth):
2393         (WebCore::RenderTextControl::paintPlaceholder):
2394         * rendering/RenderTreeAsText.cpp:
2395         (WebCore::writeTextRun):
2396         * rendering/RootInlineBox.cpp:
2397         (WebCore::RootInlineBox::placeEllipsis):
2398         (WebCore::RootInlineBox::placeEllipsisBox):
2399         (WebCore::RootInlineBox::adjustPosition):
2400         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
2401         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2402         * rendering/RootInlineBox.h:
2403         * rendering/VerticalPositionCache.h:
2404         * rendering/svg/SVGInlineTextBox.cpp:
2405         (WebCore::SVGInlineTextBox::offsetForPosition):
2406         (WebCore::SVGInlineTextBox::positionForOffset):
2407         (WebCore::SVGInlineTextBox::constructTextRun):
2408         * rendering/svg/SVGInlineTextBox.h:
2409         * rendering/svg/SVGRenderTreeAsText.cpp:
2410         (WebCore::writeRenderSVGTextBox):
2411         * rendering/svg/SVGTextMetrics.cpp:
2412         (WebCore::SVGTextMetrics::SVGTextMetrics):
2413         (WebCore::constructTextRun):
2414         * svg/SVGFont.cpp:
2415         (WebCore::floatWidthMissingGlyphCallback):
2416         (WebCore::Font::drawTextUsingSVGFont):
2417
2418 2011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
2419
2420         Reviewed by Dirk Schulze.
2421
2422         'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute
2423         https://bugs.webkit.org/show_bug.cgi?id=54672
2424
2425         Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute.
2426         Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg.
2427
2428         Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg
2429
2430         * platform/graphics/SimpleFontData.cpp:
2431         (WebCore::SimpleFontData::SimpleFontData):
2432
2433 2011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
2434
2435         Reviewed by Adam Roben.
2436
2437         HTML5 <details> and <summary>: localized text
2438         https://bugs.webkit.org/show_bug.cgi?id=54260
2439
2440         The method defaultDetailsSummaryText was added to LocalizationStrategy class and to
2441         platform/LocalizedStrings. It is used to provide the default label to be used by a
2442         <details> tag that has no <summary> child.
2443
2444         * platform/LocalizationStrategy.h:
2445         * platform/LocalizedStrings.cpp:
2446         (WebCore::fileButtonNoFileSelectedLabel):
2447         (WebCore::defaultDetailsSummaryText):
2448         * platform/LocalizedStrings.h:
2449         * platform/android/LocalizedStringsAndroid.cpp:
2450         (WebCore::defaultDetailsSummaryText):
2451         * platform/brew/LocalizedStringsBrew.cpp:
2452         (WebCore::defaultDetailsSummaryText):
2453         * platform/efl/LocalizedStringsEfl.cpp:
2454         (WebCore::defaultDetailsSummaryText):
2455         * platform/gtk/LocalizedStringsGtk.cpp:
2456         (WebCore::defaultDetailsSummaryText):
2457         * platform/haiku/LocalizedStringsHaiku.cpp:
2458         (WebCore::defaultDetailsSummaryText):
2459         * platform/wx/LocalizedStringsWx.cpp:
2460         (WebCore::defaultDetailsSummaryText):
2461
2462 2011-02-17  Kristian Amlie  <kristian.amlie@nokia.com>
2463
2464         Reviewed by Laszlo Gombos.
2465
2466         Updated include paths for phonon.
2467
2468         [Qt] WebKit patches required to work with a modularized version of Qt
2469         https://bugs.webkit.org/show_bug.cgi?id=53916
2470
2471         Build fix. No tests.
2472
2473         * WebCore.pro:
2474
2475 2011-02-17  Hui Huang  <hui.2.huang@nokia.com>
2476
2477         Reviewed by Laszlo Gombos.
2478
2479         The URL of HTML5 Video Element is percent encoded at websites such as youtube.
2480         It is percent encoded again by QUrl constructor QUrl::QUrl(QString). This causes
2481         the HTTP GET request for the video to be rejected by the service provider. 
2482         https://bugs.webkit.org/show_bug.cgi?id=53973.
2483
2484         The bug is fixed by constructing QUrl from the encoded URL.
2485
2486         New test function tst_QWebPage::loadHtml5Video() is added in 
2487         Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
2488
2489         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2490         (WebCore::MediaPlayerPrivateQt::commitLoad):
2491
2492 2011-02-17  Andreas Kling  <kling@webkit.org>
2493
2494         Reviewed by Antti Koivisto.
2495
2496         [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pending requests
2497         https://bugs.webkit.org/show_bug.cgi?id=49216
2498
2499         CachedResourceRequest::didFail() will protect the CachedResourceLoader's
2500         document() while it runs, but if we're being called from the Document destructor,
2501         the protecting RefPtr<Document> will cause a double-delete instead.
2502
2503         * loader/cache/CachedResourceLoader.cpp:
2504         (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_document
2505         pointer so CachedResourceRequest::didFail() won't try to protect it.
2506         (WebCore::CachedResourceLoader::frame): Add null-check for m_document.
2507
2508 2011-02-17  Andrey Adaikin  <aandrey@google.com>
2509
2510         Reviewed by Pavel Feldman.
2511
2512         Web Inspector: [Text editor] Add updateHighlight method to the highlighter
2513         https://bugs.webkit.org/show_bug.cgi?id=54448
2514
2515         * inspector/front-end/SourceTokenizer.js:
2516         * inspector/front-end/TextEditorHighlighter.js:
2517         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
2518         (WebInspector.TextEditorHighlighter.prototype.reset):
2519         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
2520         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
2521         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
2522
2523 2011-02-16  Pavel Podivilov  <podivilov@chromium.org>
2524
2525         Reviewed by Yury Semikhatsky.
2526
2527         Web Inspector: show all inlined scripts from single document in the same source frame.
2528         https://bugs.webkit.org/show_bug.cgi?id=54544
2529
2530         Currently when debugging synchronously executed inlined scripts each script is shown in it's own source frame ("example.html:24").
2531         We should show such scripts in the same source frame "example.html" with <script></script> framing.
2532
2533         Test: inspector/debugger/debug-inlined-scripts.html
2534
2535         * inspector/front-end/ScriptsPanel.js:
2536         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2537         (WebInspector.ScriptsPanel.prototype._addScript):
2538         (WebInspector.ScriptsPanel.prototype._resourceForURL):
2539         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
2540         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
2541         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
2542         (WebInspector.ScriptsPanel.prototype.reset):
2543         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
2544         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
2545         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
2546         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2547         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
2548         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
2549         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
2550         (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
2551
2552 2011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
2553
2554         Reviewed by Dirk Schulze.
2555
2556         svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows
2557         https://bugs.webkit.org/show_bug.cgi?id=44484
2558
2559         Pattern of pattern defined with objectBoundingBox does not render correctly
2560         https://bugs.webkit.org/show_bug.cgi?id=53463
2561
2562         Fix <pattern> + patternContentUnits="objectBoundingBox" support.
2563         We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y().
2564         RenderSVGResourceMask/Clipper don't have this error.
2565         
2566         Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImageTransform as new user-space
2567         when drawing the pattern children. <mask> + <clipPath> don't have the problem.
2568
2569         Test: svg/custom/nested-pattern-boundingBoxModeContent.svg
2570
2571         * rendering/svg/RenderSVGResourcePattern.cpp:
2572         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
2573         (WebCore::RenderSVGResourcePattern::createTileImage):
2574
2575 2011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
2576
2577         Unreviewed.
2578
2579         [Qt][V8] Buildfix after r78752.
2580
2581         * CodeGenerators.pri: Add missing IDL files.
2582
2583 2011-02-17  Benjamin Kalman  <kalman@chromium.org>
2584
2585         Reviewed by Ryosuke Niwa.
2586
2587         RTL lineboundary left/right is reversed when cursor is at start of RTL container
2588         https://bugs.webkit.org/show_bug.cgi?id=54534
2589
2590         Test: editing/selection/extend-left-right-by-lineboundary.html
2591
2592         Add missing cases for extending left/right by lineboundary.
2593
2594         * editing/SelectionController.cpp:
2595         (WebCore::SelectionController::modifyExtendingRight):
2596         (WebCore::SelectionController::modifyExtendingLeft):
2597
2598 2011-02-16  Philippe Normand  <pnormand@igalia.com>
2599
2600         Reviewed by Martin Robinson.
2601
2602         [GTK] libsoup critical warnings
2603         https://bugs.webkit.org/show_bug.cgi?id=54557
2604
2605         Avoid pausing a soup message for already downloaded resources.
2606
2607         * platform/network/soup/ResourceHandleSoup.cpp:
2608         (WebCore::ResourceHandle::platformSetDefersLoading):
2609
2610 2011-02-16  Brian Ryner  <bryner@chromium.org>
2611
2612         Reviewed by Darin Fisher.
2613
2614         Split the socket address field into separate IP address and port fields.
2615         This will make the field less error-prone to parse, for example when
2616         dealing with IPv6 literals.
2617         https://bugs.webkit.org/show_bug.cgi?id=54607
2618
2619         No new tests required.
2620
2621         * platform/network/chromium/ResourceResponse.cpp:
2622         (WebCore::ResourceResponse::doPlatformCopyData):
2623         (WebCore::ResourceResponse::doPlatformAdopt):
2624         * platform/network/chromium/ResourceResponse.h:
2625         (WebCore::ResourceResponse::ResourceResponse):
2626         (WebCore::ResourceResponse::remoteIPAddress):
2627         (WebCore::ResourceResponse::setRemoteIPAddress):
2628         (WebCore::ResourceResponse::remotePort):
2629         (WebCore::ResourceResponse::setRemotePort):
2630
2631 2011-02-16  Dominic Mazzoni  <dmazzoni@google.com>
2632
2633         Reviewed by Chris Fleizach.
2634
2635         Add support for canvas fallback content.
2636         https://bugs.webkit.org/show_bug.cgi?id=50126
2637
2638         Test: accessibility/canvas-fallback-content.html
2639
2640         * accessibility/AccessibilityObject.h:
2641         * accessibility/AccessibilityRenderObject.cpp:
2642         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2643         (WebCore::AccessibilityRenderObject::canHaveChildren):
2644         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2645         (atkRole):
2646         * accessibility/mac/AccessibilityObjectWrapper.mm:
2647         * html/HTMLFormControlElement.cpp:
2648         (WebCore::HTMLFormControlElement::isFocusable):
2649         * rendering/RenderHTMLCanvas.cpp:
2650         (WebCore::RenderHTMLCanvas::recursiveSetNoNeedsLayout):
2651         (WebCore::RenderHTMLCanvas::layout):
2652         (WebCore::RenderHTMLCanvas::nodeAtPoint):
2653         * rendering/RenderHTMLCanvas.h:
2654         (WebCore::RenderHTMLCanvas::children):
2655         (WebCore::RenderHTMLCanvas::canHaveChildren):
2656         (WebCore::RenderHTMLCanvas::virtualChildren):
2657         * rendering/RenderObject.cpp:
2658         (WebCore::RenderObject::repaint):
2659         * rendering/RenderTreeAsText.cpp:
2660         (WebCore::write):
2661
2662 2011-02-16  Matthew Delaney  <mdelaney@apple.com>
2663
2664         Reviewed by Simon Fraser.
2665
2666         Allow acceleratesDrawing for WebKit2
2667         https://bugs.webkit.org/show_bug.cgi?id=54511
2668
2669         Plumb through preference for accelerated drawing.
2670         
2671         When accelerated drawing is enabled, set a flag on new GraphicsLayers.
2672
2673         Not testable via Layout Tests
2674
2675         * WebCore.exp.in:
2676         * page/Settings.cpp:
2677         (WebCore::Settings::Settings):
2678         (WebCore::Settings::setAcceleratedDrawingEnabled):
2679         * page/Settings.h:
2680         (WebCore::Settings::acceleratedDrawingEnabled):
2681         * rendering/RenderLayerCompositor.cpp:
2682         (WebCore::RenderLayerCompositor::updateBacking):
2683
2684 2011-02-16  Victoria Kirst  <vrk@google.com>
2685
2686         Reviewed by Kenneth Russell.
2687
2688         [chromium] Fix green pixels at edge of certain GPU-accelerated videos
2689         https://bugs.webkit.org/show_bug.cgi?id=54559
2690
2691         Adds logic to properly resize the range of YUV textures to only
2692         select legitimate values.
2693
2694         * platform/graphics/chromium/VideoFrameChromium.h:
2695         * platform/graphics/chromium/VideoLayerChromium.cpp:
2696         (WebCore::VideoLayerChromium::SharedValues::SharedValues):
2697         (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
2698         (WebCore::VideoLayerChromium::drawYUV):
2699         * platform/graphics/chromium/VideoLayerChromium.h:
2700         (WebCore::VideoLayerChromium::SharedValues::yWidthScaleFactorLocation):
2701         (WebCore::VideoLayerChromium::SharedValues::uvWidthScaleFactorLocation):
2702
2703 2011-02-16  Bill Budge  <bbudge@chromium.org>
2704
2705         Reviewed by David Levin.
2706
2707         Need didReceiveCachedMetadata, and finishTime for didFinishLoading exposed in ThreadableLoaderClient
2708         https://bugs.webkit.org/show_bug.cgi?id=54313
2709
2710         No tests needed, exposes no new functionality
2711
2712         * fileapi/FileReaderLoader.cpp:
2713         (WebCore::FileReaderLoader::didFinishLoading):
2714         * fileapi/FileReaderLoader.h:
2715         * loader/DocumentThreadableLoader.cpp:
2716         (WebCore::DocumentThreadableLoader::setDefersLoading):
2717         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
2718         (WebCore::DocumentThreadableLoader::didFinishLoading):
2719         (WebCore::DocumentThreadableLoader::loadRequest):
2720         * loader/DocumentThreadableLoader.h:
2721         * loader/ThreadableLoaderClient.h:
2722         (WebCore::ThreadableLoaderClient::didReceiveData):
2723         (WebCore::ThreadableLoaderClient::didReceiveCachedMetadata):
2724         (WebCore::ThreadableLoaderClient::didFinishLoading):
2725         * loader/ThreadableLoaderClientWrapper.h:
2726         (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
2727         (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
2728         (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
2729         * loader/WorkerThreadableLoader.cpp:
2730         (WebCore::workerContextDidReceiveCachedMetadata):
2731         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
2732         (WebCore::workerContextDidFinishLoading):
2733         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2734         * loader/WorkerThreadableLoader.h:
2735         * notifications/Notification.cpp:
2736         (WebCore::Notification::didFinishLoading):
2737         * notifications/Notification.h:
2738         * page/EventSource.cpp:
2739         (WebCore::EventSource::didFinishLoading):
2740         * page/EventSource.h:
2741         * workers/WorkerScriptLoader.cpp:
2742         (WebCore::WorkerScriptLoader::didFinishLoading):
2743         * workers/WorkerScriptLoader.h:
2744         * xml/XMLHttpRequest.cpp:
2745         (WebCore::XMLHttpRequest::didFinishLoading):
2746         * xml/XMLHttpRequest.h:
2747
2748 2011-02-16  Jeremy Orlow  <jorlow@chromium.org>
2749
2750         Fix uninitialized memory error.
2751
2752         * storage/IDBDatabaseBackendImpl.cpp:
2753         (WebCore::IDBDatabaseBackendImpl::close):
2754
2755 2011-02-16  Adam Barth  <abarth@webkit.org>
2756
2757         Reviewed by Eric Seidel.
2758
2759         Fix xssAuditor/form-action.html
2760         https://bugs.webkit.org/show_bug.cgi?id=54590
2761
2762         We should block form actions.  Although this technically can't be used
2763         to run script, it's a pretty easy vector for stealing passwords.
2764
2765         * html/parser/XSSFilter.cpp:
2766         (WebCore::XSSFilter::filterTokenInitial):
2767         (WebCore::XSSFilter::filterFormToken):
2768         * html/parser/XSSFilter.h:
2769
2770 2011-02-16  Abhishek Arya  <inferno@chromium.org>
2771
2772         Reviewed by James Robinson.
2773
2774         Remove the early bail added in r75823 since we can run into anonymous
2775         blocks when traversing the parents chain for clearing floats.
2776         https://bugs.webkit.org/show_bug.cgi?id=54601
2777
2778         removeFloatingOrPositionedChildFromBlockLists tries to find the topmost
2779         parent containing "this" block and then tries to remove it from its floats
2780         list and mark all descendants blocks for layout. I added a bailout condition
2781         in r75823 because we thought that if one of the parent render block does not 
2782         contain "this" float, then it is safe to assume that none of the grand parents
2783         will have it. This is a wrong assumption since anonymous blocks do not have
2784         float objects and we need to go higher in the chain to find the top most parent
2785         containing this float. Instead of breaking out of the loop, it is ok to keep
2786         traversing the chain till we find that parent. Otherwise, we will leave deleted
2787         floats in the grand parents floats list.
2788
2789         Test: fast/block/float/floats-not-cleared-from-grand-parents.html
2790
2791         * rendering/RenderBox.cpp:
2792         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2793
2794 2011-02-16  Andreas Kling  <kling@webkit.org>
2795
2796         Reviewed by Ryosuke Niwa.
2797
2798         Editing styles should not emit #RRGGBBAA colors
2799         https://bugs.webkit.org/show_bug.cgi?id=54540
2800
2801         * editing/ApplyStyleCommand.cpp:
2802         (WebCore::StyleChange::extractTextStyles): Use Color::serialized()
2803         instead of Color::nameForRenderTreeAsText().
2804
2805 2011-02-16  Ryosuke Niwa  <rniwa@webkit.org>
2806
2807         Reviewed by Kent Tamura.
2808
2809         Improve showTree of Range, Position, and VisiblePosition
2810         https://bugs.webkit.org/show_bug.cgi?id=54536
2811
2812         Enhanced showTree of Range, Position, and VisiblePosition.
2813
2814         * dom/Position.cpp:
2815         (WebCore::Position::showAnchorTypeAndOffset): Added; dumps "legacy" if the position
2816         is a legacy position and also dumps anchor type.
2817         (WebCore::Position::showTreeForThis): Calls showAnchorTypeAndOffset.
2818         * dom/Position.h:
2819         * dom/Range.cpp:
2820         (showTree): No longer calls deprecatedEditingOffset.
2821         * editing/VisiblePosition.cpp:
2822         (WebCore::VisiblePosition::debugPosition): No longer included in release build.
2823         Calls Position::showAnchorTypeAndOffset instead of manually calling deprecatedEditingOffset.
2824         * editing/VisiblePosition.h:
2825         * editing/VisibleSelection.cpp:
2826         (WebCore::VisibleSelection::debugPosition): Ditto.
2827         (WebCore::VisibleSelection::showTreeForThis): Ditto.
2828         * editing/VisibleSelection.h:
2829         * page/EventHandler.cpp:
2830
2831 2011-02-16  David Grogan  <dgrogan@chromium.org>
2832
2833         Reviewed by Jeremy Orlow.
2834
2835         fix compile error introduced in 78752
2836         https://bugs.webkit.org/show_bug.cgi?id=54604
2837
2838         * storage/IDBRequest.h:
2839
2840 2011-02-16  Jeremy Orlow  <jorlow@chromium.org>
2841
2842         Back out IndexedDB change thats no longer necessary
2843         https://bugs.webkit.org/show_bug.cgi?id=54603
2844
2845         Backing out 78645 as it turns out that it's not necessary.
2846
2847         * storage/IDBFactoryBackendImpl.cpp:
2848         (WebCore::IDBFactoryBackendImpl::open):
2849         * storage/IDBFactoryBackendImpl.h:
2850         * storage/IDBFactoryBackendInterface.h:
2851
2852 2011-02-16  Brian Salomon  <bsalomon@google.com>
2853
2854         Reviewed by James Robinson.
2855
2856         Skia's gpu backed just needs the correct context bound before drawing. It will bind the correct FBO itself and doing so externally confuses it unless resetContext is called.
2857
2858         No new tests required.
2859
2860         * platform/graphics/skia/PlatformContextSkia.cpp:
2861         (WebCore::PlatformContextSkia::syncSoftwareCanvas):
2862
2863 2011-02-16  Mike Reed  <reed@google.com>
2864
2865         Reviewed by Kenneth Russell.
2866
2867         Use non-asserting pack function for decoding images, since webgl may want
2868         a non-premultiplied version of the image.
2869         https://bugs.webkit.org/show_bug.cgi?id=54023
2870
2871         No new tests.
2872         fast/canvas/webgl/gl-teximage.html
2873         fast/canvas/webgl/tex-image-with-format-and-type.html
2874         fast/canvas/webgl/texture-transparent-pixels-initialized.html
2875
2876         * platform/image-decoders/ImageDecoder.h:
2877         (WebCore::ImageFrame::setRGBA):
2878
2879 2011-02-16  David Grogan  <dgrogan@chromium.org>
2880
2881         Reviewed by Jeremy Orlow.
2882
2883         indexeddb: make setVersion fire blocked event if other connections are open
2884         https://bugs.webkit.org/show_bug.cgi?id=53728
2885
2886         Tests: storage/indexeddb/set_version_blocked.html
2887                storage/indexeddb/set_version_queue.html
2888
2889         * WebCore.gypi:
2890         * bindings/js/JSEventCustom.cpp:
2891         (WebCore::toJS):
2892         * bindings/v8/custom/V8EventCustom.cpp:
2893         (WebCore::toV8):
2894         * dom/Event.cpp:
2895         (WebCore::Event::isIDBVersionChangeEvent):
2896         * dom/Event.h:
2897         * dom/EventNames.h:
2898         * dom/EventTarget.cpp:
2899         (WebCore::EventTarget::toIDBVersionChangeRequest):
2900         * dom/EventTarget.h:
2901         * storage/IDBCallbacks.h:
2902         * storage/IDBDatabase.cpp:
2903         (WebCore::IDBDatabase::setVersion):
2904         (WebCore::IDBDatabase::close):
2905         * storage/IDBDatabase.h:
2906         * storage/IDBDatabase.idl:
2907         * storage/IDBDatabaseBackendImpl.cpp:
2908         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
2909         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::version):
2910         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::callbacks):
2911         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
2912         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2913         (WebCore::IDBDatabaseBackendImpl::setVersion):
2914         (WebCore::IDBDatabaseBackendImpl::open):
2915         (WebCore::IDBDatabaseBackendImpl::close):
2916         * storage/IDBDatabaseBackendImpl.h:
2917         * storage/IDBDatabaseBackendInterface.h:
2918         * storage/IDBFactoryBackendImpl.cpp:
2919         (WebCore::IDBFactoryBackendImpl::open):
2920         * storage/IDBRequest.cpp:
2921         (WebCore::IDBRequest::onBlocked):
2922         (WebCore::IDBRequest::dispatchEvent):
2923         (WebCore::IDBRequest::source):
2924         * storage/IDBRequest.h:
2925         * storage/IDBVersionChangeEvent.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
2926         (WebCore::IDBVersionChangeEvent::create):
2927         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
2928         (WebCore::IDBVersionChangeEvent::~IDBVersionChangeEvent):
2929         (WebCore::IDBVersionChangeEvent::version):
2930         * storage/IDBVersionChangeEvent.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
2931         (WebCore::IDBVersionChangeEvent::isIDBVersionChangeEvent):
2932         * storage/IDBVersionChangeEvent.idl: Added.
2933         * storage/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
2934         (WebCore::IDBVersionChangeRequest::create):
2935         (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
2936         (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest):
2937         (WebCore::IDBVersionChangeRequest::onBlocked):
2938         * storage/IDBVersionChangeRequest.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
2939         * storage/IDBVersionChangeRequest.idl: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
2940
2941 2011-02-16  Robin Cao  <robin.cao@torchmobile.com.cn>
2942
2943         Reviewed by James Robinson.
2944
2945         PlatformContextSkia::applyAntiAliasedClipPaths does not work for paths which have evenOdd property
2946         https://bugs.webkit.org/show_bug.cgi?id=54336
2947
2948         We need to take fill type of paths into account when drawing them.
2949
2950         No new tests, covered by svg/W3C-SVG-1.1/masking-path-05-f.svg.
2951
2952         * platform/graphics/skia/PlatformContextSkia.cpp:
2953         (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
2954
2955 2011-02-16  Eric Seidel  <eric@webkit.org>
2956
2957         Reviewed by Adam Barth.
2958
2959         REGRESSION (r61234): washingtonpost.com top bar looks wrong, doesn't animate
2960         https://bugs.webkit.org/show_bug.cgi?id=53717
2961
2962         Test: http/tests/local/absolute-url-strip-whitespace.html
2963
2964         This was theoretically tested already in fast/url, however the
2965         tests were disabled due to lack of any clean way to test absolute
2966         url parsing in JavaScript.  I added a test which mimics the sites
2967         behavior using our local http server.  There seems to be no other
2968         way to test this at the moment.
2969
2970         * platform/KURL.cpp:
2971         (WebCore::shouldTrimFromURL):
2972          - Any char 0-20 should be removed (matches google-url and other browsers).
2973         (WebCore::KURL::init):
2974
2975 2011-02-16  Abhishek Arya  <inferno@chromium.org>
2976
2977         Reviewed by James Robinson.
2978
2979         Traverse the next sibling tree to find the text fragment for a first letter.
2980         https://bugs.webkit.org/show_bug.cgi?id=54568
2981
2982         We cannot assume that the next sibling to the first letter will a text fragment
2983         since there can be intermediatary Apple-style-span inline elements wrapping the
2984         text fragment. So, we traverse the next sibling tree to find it.
2985         Test: fast/css/first-letter-text-fragment-crash.html
2986
2987         * rendering/RenderBlock.cpp:
2988         (WebCore::RenderBlock::updateFirstLetter):
2989
2990 2011-02-16  Martin Robinson  <mrobinson@igalia.com>
2991
2992         Reviewed by Xan Lopez.
2993
2994         [GTK] r78718 introduced some assertion failures in some HTTP tests
2995         https://bugs.webkit.org/show_bug.cgi?id=54592
2996
2997         No new tests. This fix is covered by tests that are currently failing.
2998
2999         * platform/network/soup/ResourceRequestSoup.cpp:
3000         (WebCore::ResourceRequest::updateFromSoupMessage): Instead of setting the existing
3001         headers and then selectively removing ones that do not exist in the updated soup
3002         message, just remove all headers from the map first.
3003
3004 2011-02-16  Jian Li  <jianli@chromium.org>
3005
3006         Reviewed by Kenneth Russell.
3007
3008         [V8] DataView constructor can be applied as a regular method
3009         https://bugs.webkit.org/show_bug.cgi?id=54563
3010
3011         Tested by adding a new test case to fast/canvas/webgl/data-view-test.html.
3012
3013         * bindings/v8/custom/V8DataViewCustom.cpp:
3014         (WebCore::V8DataView::constructorCallback):
3015
3016 == Rolled over to ChangeLog-2011-02-16 ==