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