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