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