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