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