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