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