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