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