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