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