1 2010-07-02 Zhenyao Mo <zmo@google.com>
3 Reviewed by Dimitri Glazkov.
5 Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
6 https://bugs.webkit.org/show_bug.cgi?id=41473
8 * WebCore.gypi: Add CheckedInt.h.
9 * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
10 * html/canvas/CheckedInt.h: Added support of safe integer operations.
11 (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
12 (mozilla::CheckedInt_internal::is_unsupported_type::):
13 (mozilla::CheckedInt_internal::):
14 (mozilla::CheckedInt_internal::integer_traits::):
15 (mozilla::CheckedInt_internal::integer_traits::min):
16 (mozilla::CheckedInt_internal::integer_traits::max):
17 (mozilla::CheckedInt_internal::has_sign_bit):
18 (mozilla::CheckedInt_internal::binary_complement):
19 (mozilla::CheckedInt_internal::is_in_range):
20 (mozilla::CheckedInt_internal::is_add_valid):
21 (mozilla::CheckedInt_internal::is_sub_valid):
22 (mozilla::CheckedInt_internal::is_mul_valid):
23 (mozilla::CheckedInt_internal::is_div_valid):
24 (mozilla::CheckedInt::CheckedInt):
25 (mozilla::CheckedInt::value):
26 (mozilla::CheckedInt::valid):
27 (mozilla::CheckedInt::operator -):
28 (mozilla::CheckedInt::operator ==):
29 (mozilla::CheckedInt::operator !=):
30 (mozilla::operator /):
31 (mozilla::cast_to_CheckedInt_impl::run):
33 (mozilla::cast_to_CheckedInt):
34 (mozilla::operator ==):
35 * html/canvas/WebGLRenderingContext.cpp:
36 (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
37 (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
38 (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.
40 2010-07-02 Zhenyao Mo <zmo@google.com>
42 Reviewed by Dimitri Glazkov.
44 linkProgram should fail when vertex/fragment shaders are not both present
45 https://bugs.webkit.org/show_bug.cgi?id=41380
47 Test: fast/canvas/webgl/program-test.html
49 * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
50 (WebCore::WebGLProgram::WebGLProgram):
51 * html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
52 (WebCore::WebGLProgram::isLinkFailureFlagSet):
53 (WebCore::WebGLProgram::setLinkFailureFlag):
54 * html/canvas/WebGLRenderingContext.cpp:
55 (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
56 (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
57 * html/canvas/WebGLShader.cpp: Cache shader type.
58 (WebCore::WebGLShader::WebGLShader):
59 * html/canvas/WebGLShader.h: Ditto.
60 (WebCore::WebGLShader::getType):
62 2010-07-02 Qi Zhang <qi.2.zhang@nokia.com>
64 Reviewed by Laszlo Gombos.
66 [Qt] Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html
68 Support negative width and height in canvas image draw
70 * platform/graphics/FloatRect.h:
71 * platform/graphics/qt/FloatRectQt.cpp:
72 (WebCore::FloatRect::normalized):
73 * platform/graphics/qt/ImageQt.cpp:
74 (WebCore::BitmapImage::draw):
76 2010-06-24 Dimitri Glazkov <dglazkov@chromium.org>
78 Reviewed by Alexey Proskuryakov.
80 REGRESSION: Enter does not trigger submit of forms when focus is on select.
81 https://bugs.webkit.org/show_bug.cgi?id=39532
83 Restore behavior where hitting "Enter" on a select element attempts to submit
86 * dom/SelectElement.cpp:
87 (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
88 and attempting to submit implicitly.
89 (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
90 (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
91 * dom/SelectElement.h: Added htmlForm argument to method declaration.
92 * html/HTMLSelectElement.cpp:
93 (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
96 2010-07-02 Kent Tamura <tkent@chromium.org>
98 Reviewed by Darin Fisher.
100 [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
101 https://bugs.webkit.org/show_bug.cgi?id=41508
103 * rendering/RenderThemeChromiumSkia.cpp:
104 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
105 Use dedicated images for indeterminate states.
106 * rendering/RenderThemeChromiumWin.cpp:
107 (WebCore::RenderThemeChromiumWin::determineClassicState):
108 Do not use DFCS_CHECKED in a case of indeterminate state in
109 order to have consistent appearance of indeterminate checkbox.
111 2010-07-02 Brent Fulgham <bfulgham@webkit.org>
113 Reviewed by Gustavo Noronha Silva.
115 Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
116 Provides an implementation of the 'squiggle' used for
117 bad grammar or spelling, based on the Pango logic used
120 No new tests. Covered by LayoutTests/editing/spelling
122 * WebCore.vcproj/WebCore.vcproj: Add new file holding underline
123 implementation, set to build only for WinCairo port.
124 * platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
125 (drawErrorUnderline): New file containing the squiggle drawing
126 logic based on the Pango implementation. Placed in its own file
128 * platform/graphics/cairo/GraphicsContextCairo.cpp:
129 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
130 Have WinCairo build call new 'drawErrorUnderline' implementation.
132 2010-07-02 Martin Robinson <mrobinson@igalia.com>
134 Reviewed by Gustavo Noronha Silva.
136 [GTK] Separate DerivedSources per-project
137 https://bugs.webkit.org/show_bug.cgi?id=41109
139 Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.
143 2010-07-02 Zhenyao Mo <zmo@google.com>
145 Reviewed by Dimitri Glazkov.
147 Implement OpenGL ES 2.0 semantics for vertex attribute 0
148 https://bugs.webkit.org/show_bug.cgi?id=41300
150 Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
151 fast/canvas/webgl/gl-vertex-attrib.html
153 * html/canvas/WebGLProgram.cpp:
154 (WebCore::WebGLProgram::numActiveAttribLocations): const.
155 (WebCore::WebGLProgram::getActiveAttribLocation): const.
156 (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
157 * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
158 * html/canvas/WebGLRenderingContext.cpp:
159 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
160 (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
161 (WebCore::WebGLRenderingContext::drawArrays): Ditto.
162 (WebCore::WebGLRenderingContext::drawElements): Ditto.
163 (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
164 (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
165 (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
166 (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
167 (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
168 (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
169 (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
170 (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
171 (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
172 (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
173 (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
174 (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
175 (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
176 (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
177 (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
178 * html/canvas/WebGLRenderingContext.h:
179 (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
180 (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].
182 2010-07-02 Zhenyao Mo <zmo@google.com>
184 Reviewed by Dimitri Glazkov.
186 Need to validate the size of the incoming arrays for uniform* functions
187 https://bugs.webkit.org/show_bug.cgi?id=41383
189 * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
190 (WebCore::WebGLRenderingContext::uniform1fv):
191 (WebCore::WebGLRenderingContext::uniform1iv):
192 (WebCore::WebGLRenderingContext::uniform2fv):
193 (WebCore::WebGLRenderingContext::uniform2iv):
194 (WebCore::WebGLRenderingContext::uniform3fv):
195 (WebCore::WebGLRenderingContext::uniform3iv):
196 (WebCore::WebGLRenderingContext::uniform4fv):
197 (WebCore::WebGLRenderingContext::uniform4iv):
198 (WebCore::WebGLRenderingContext::uniformMatrix2fv):
199 (WebCore::WebGLRenderingContext::uniformMatrix3fv):
200 (WebCore::WebGLRenderingContext::uniformMatrix4fv):
201 (WebCore::WebGLRenderingContext::validateUniformParameters):
202 (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
203 * html/canvas/WebGLRenderingContext.h: Add helper functions.
205 2010-07-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
207 Reviewed by Simon Hausmann.
209 [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear
211 The implementation of PathQt's addArcTo() was not float-safe and also had
212 a case where it drew an 'infinite' line, which is not part of the spec.
214 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto
216 We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
217 also had the same problem, and was refactored a bit in the process of fixing
220 Initial patch by Andreas Kling.
222 https://bugs.webkit.org/show_bug.cgi?id=41412
224 * platform/graphics/qt/PathQt.cpp:
226 2010-07-02 Yury Semikhatsky <yurys@chromium.org>
228 Reviewed by Pavel Feldman.
230 [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
231 https://bugs.webkit.org/show_bug.cgi?id=41511
233 Tests: fast/events/popup-blocked-from-fake-user-gesture.html
234 http/tests/inspector/change-iframe-src.html
236 * bindings/v8/ScriptController.cpp:
237 (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
238 from the call stack. Get event directly from hidden property to avoid unnecessary checks.
239 * bindings/v8/V8AbstractEventListener.cpp:
240 (WebCore::V8AbstractEventListener::invokeEventHandler):
241 * bindings/v8/V8HiddenPropertyName.h:
242 * bindings/v8/custom/V8DOMWindowCustom.cpp:
243 (WebCore::V8DOMWindow::eventAccessorGetter):
244 (WebCore::V8DOMWindow::eventAccessorSetter):
246 2010-07-02 Adam Barth <abarth@webkit.org>
248 Reviewed by Eric Seidel.
250 Fix tokenization of <!----->
251 https://bugs.webkit.org/show_bug.cgi?id=41505
253 I noticed this error when browsing through the HTML5lib failures.
254 We're adding an extra character to the comment token, contrary to what
257 * html/HTMLTokenizer.cpp:
258 (WebCore::HTMLTokenizer::nextToken):
260 2010-07-02 Adam Barth <abarth@webkit.org>
262 Reviewed by Eric Seidel.
264 Implement processFakePEndTagIfPInScope
265 https://bugs.webkit.org/show_bug.cgi?id=41503
267 This is a common idiom because <p> likes to close itself.
269 * html/HTMLTreeBuilder.cpp:
270 (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
271 (WebCore::HTMLTreeBuilder::processStartTag):
272 * html/HTMLTreeBuilder.h:
274 2010-07-02 Adam Barth <abarth@webkit.org>
276 Reviewed by Eric Seidel.
278 Implement AfterAfterBodyMode
279 https://bugs.webkit.org/show_bug.cgi?id=41501
281 In implementing this mode, I noticed a bug in the character processing
282 of the AfterBodyMode, which I fixed by adding a break statement. Also,
283 to get one of the new tests to pass, I needed to implement one
284 notImplemented() in the InBody insertion mode. Yay for testing.
286 * html/HTMLTreeBuilder.cpp:
287 (WebCore::HTMLTreeBuilder::processStartTag):
288 (WebCore::HTMLTreeBuilder::processEndTag):
289 (WebCore::HTMLTreeBuilder::processComment):
290 (WebCore::HTMLTreeBuilder::processCharacter):
291 (WebCore::HTMLTreeBuilder::processEndOfFile):
293 2010-07-02 Sheriff Bot <webkit.review.bot@gmail.com>
295 Unreviewed, rolling out r62371.
296 http://trac.webkit.org/changeset/62371
297 https://bugs.webkit.org/show_bug.cgi?id=41515
299 "Breaks media/controls-drag-timebar.html on 32-Bit Release"
300 (Requested by philn-tp on #webkit).
302 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
303 (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
304 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
306 2010-06-28 Philippe Normand <pnormand@igalia.com>
308 Reviewed by Xan Lopez.
310 [GStreamer] can't seek past maxTimeLoaded value
311 https://bugs.webkit.org/show_bug.cgi?id=40526
313 Extended the seekable range to the whole media. This allows video
314 played with progressive download to be seeked past the current
317 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
318 (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
319 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
321 2010-07-02 Adam Barth <abarth@webkit.org>
323 Reviewed by Eric Seidel.
325 Implement AfterBodyMode for HTML5 tree builder
326 https://bugs.webkit.org/show_bug.cgi?id=41500
328 In the coarse of implementing this state, I ran into an ASSERT in how
329 </br> tags where handled, which I fixed. Technically, that could be a
330 separate patch, but it seemed harmless to include it here (with tests).
332 * html/HTMLTreeBuilder.cpp:
333 (WebCore::HTMLTreeBuilder::processStartTag):
334 (WebCore::HTMLTreeBuilder::processEndTag):
335 (WebCore::HTMLTreeBuilder::processComment):
336 (WebCore::HTMLTreeBuilder::processCharacter):
337 (WebCore::HTMLTreeBuilder::processEndOfFile):
338 (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
339 * html/HTMLTreeBuilder.h:
341 2010-07-02 Adam Barth <abarth@webkit.org>
343 Reviewed by Eric Seidel.
345 Handle <base> and friends in AfterHeadMode
346 https://bugs.webkit.org/show_bug.cgi?id=41502
348 Implement notImplemented() per spec.
350 * html/HTMLTreeBuilder.cpp:
351 (WebCore::HTMLTreeBuilder::processStartTag):
353 2010-07-01 Oliver Hunt <oliver@apple.com>
359 2010-07-01 Oliver Hunt <oliver@apple.com>
361 Reviewed by Maciej Stachowiak.
363 Add a FixedArray template to encapsulate fixed length arrays
364 https://bugs.webkit.org/show_bug.cgi?id=41506
366 Add forwarding header, and replace a few fixed length arrays
367 with the new FixedArray type.
369 * ForwardingHeaders/wtf/FixedArray.h: Added.
371 * platform/graphics/GlyphMetricsMap.h:
373 2010-07-01 Simon Fraser <simon.fraser@apple.com>
377 Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().
379 * WebCore.AcceleratedCompositing.exp:
381 2010-07-01 Tony Gentilcore <tonyg@chromium.org>
383 Reviewed by Dimitri Glazkov.
385 Add window.performance.navigation namespace
386 https://bugs.webkit.org/show_bug.cgi?id=41442
388 Adds window.performance.navigation namespace consisting of ".type"
389 and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
390 to just "Timing" to avoid confusion.
392 No new tests because tests will be added in a subsequent patch when
393 functionality is added.
397 * DerivedSources.cpp:
398 * DerivedSources.make:
403 * WebCore.vcproj/WebCore.vcproj:
404 * WebCore.xcodeproj/project.pbxproj:
405 * page/Navigation.cpp: Added.
406 (WebCore::Navigation::Navigation):
407 (WebCore::Navigation::frame):
408 (WebCore::Navigation::disconnectFrame):
409 (WebCore::Navigation::type):
410 (WebCore::Navigation::redirectCount):
411 * page/Navigation.h: Added.
412 (WebCore::Navigation::create):
413 * page/Navigation.idl: Added.
414 * page/NavigationTiming.cpp: Removed.
415 * page/NavigationTiming.h: Removed.
416 * page/NavigationTiming.idl: Removed.
417 * page/Performance.cpp:
418 (WebCore::Performance::navigation):
419 (WebCore::Performance::timing):
420 * page/Performance.h:
421 * page/Performance.idl:
422 * page/Timing.cpp: Added.
423 (WebCore::Timing::Timing):
424 (WebCore::Timing::frame):
425 (WebCore::Timing::disconnectFrame):
426 (WebCore::Timing::navigationStart):
427 * page/Timing.h: Added.
428 (WebCore::Timing::create):
429 * page/Timing.idl: Added.
431 2010-07-01 Daniel Cheng <dcheng@chromium.org>
435 [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
436 https://bugs.webkit.org/show_bug.cgi?id=41493
438 ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
439 be non-empty if url is valid.
443 * platform/chromium/ClipboardChromium.cpp:
444 (WebCore::ClipboardChromium::writeURL):
446 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
448 Reviewed by Tor Arne Vestbø.
450 [Qt] Clamp color stops passed to QGradient to 1.0
451 [https://bugs.webkit.org/show_bug.cgi?id=41484
453 Fixes an issue where color stops would be silently dropped from radial gradients.
455 * platform/graphics/qt/GradientQt.cpp:
456 (WebCore::Gradient::platformGradient):
458 2010-07-01 Eric Seidel <eric@webkit.org>
460 Reviewed by Adam Barth.
462 HTMLTokenizer should ASSERT that it never emits a null character
463 https://bugs.webkit.org/show_bug.cgi?id=41448
465 No functional change, thus no tests. These ASSERTs would have
466 caught the coding error which caused the trouble in bug 41436
467 (which was fixed by bug 41439).
470 (WebCore::HTMLToken::beginStartTag):
471 (WebCore::HTMLToken::beginCharacter):
472 (WebCore::HTMLToken::beginDOCTYPE):
473 (WebCore::HTMLToken::appendToName):
474 (WebCore::HTMLToken::appendToComment):
475 (WebCore::HTMLToken::appendToAttributeName):
476 (WebCore::HTMLToken::appendToAttributeValue):
477 (WebCore::HTMLToken::appendToPublicIdentifier):
478 (WebCore::HTMLToken::appendToSystemIdentifier):
480 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
482 Reviewed by Tor Arne Vestbø.
484 Canvas: Don't paint with empty radial gradients
485 https://bugs.webkit.org/show_bug.cgi?id=41190
487 If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.
489 * html/canvas/CanvasRenderingContext2D.cpp:
490 (WebCore::CanvasRenderingContext2D::fillRect):
491 * platform/graphics/Gradient.h:
492 (WebCore::Gradient::isZeroSize):
494 2010-07-01 Tony Gentilcore <tonyg@chromium.org>
496 Reviewed by Adam Barth.
498 Add interface for network platform to pass up timing information
499 https://bugs.webkit.org/show_bug.cgi?id=41437
501 The Web Timing feature requires the network platform to expose detailed
502 timing information for the main resource. This patch adds that data to
503 the ResourceResponseBase. Since the 82 bytes of information is only
504 needed for the main resource, it is a RefPtr to avoid using the memory
505 for other resource types.
507 No new tests because no new functionality.
512 * WebCore.vcproj/WebCore.vcproj:
513 * WebCore.xcodeproj/project.pbxproj:
514 * platform/network/ResourceLoadTiming.h: Added.
515 (WebCore::ResourceLoadTiming::create):
516 (WebCore::ResourceLoadTiming::deepCopy):
517 (WebCore::ResourceLoadTiming::operator==):
518 (WebCore::ResourceLoadTiming::operator!=):
519 (WebCore::ResourceLoadTiming::ResourceLoadTiming):
520 * platform/network/ResourceResponseBase.cpp:
521 (WebCore::ResourceResponseBase::adopt):
522 (WebCore::ResourceResponseBase::copyData):
523 (WebCore::ResourceResponseBase::resourceLoadTiming):
524 (WebCore::ResourceResponseBase::setResourceLoadTiming):
525 (WebCore::ResourceResponseBase::compare):
526 * platform/network/ResourceResponseBase.h:
528 2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
530 Unreviewed, rolling out r62321.
531 http://trac.webkit.org/changeset/62321
532 https://bugs.webkit.org/show_bug.cgi?id=41494
534 Broke the non-win builds. (Requested by dumi on #webkit).
536 * dom/ScriptExecutionContext.cpp:
537 (WebCore::ScriptExecutionContext::addOpenDatabase):
538 (WebCore::ScriptExecutionContext::removeOpenDatabase):
539 (WebCore::ScriptExecutionContext::stopDatabases):
540 * dom/ScriptExecutionContext.h:
541 * storage/Database.cpp:
542 (WebCore::Database::openDatabase):
543 (WebCore::Database::Database):
544 (WebCore::Database::markAsDeletedAndClose):
545 (WebCore::ContextRemoveOpenDatabaseTask::create):
546 (WebCore::ContextRemoveOpenDatabaseTask::performTask):
547 (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
548 (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
549 (WebCore::Database::close):
550 (WebCore::Database::closeImmediately):
551 (WebCore::Database::stop):
552 (WebCore::Database::performPolicyChecks):
553 * storage/Database.h:
554 (WebCore::Database::):
555 (WebCore::Database::stopped):
556 * storage/DatabaseTask.cpp:
557 (WebCore::DatabaseTask::performTask):
558 (WebCore::DatabaseOpenTask::DatabaseOpenTask):
559 (WebCore::DatabaseOpenTask::doPerformTask):
560 (WebCore::DatabaseOpenTask::debugTaskName):
561 (WebCore::DatabaseCloseTask::DatabaseCloseTask):
562 (WebCore::DatabaseCloseTask::doPerformTask):
563 (WebCore::DatabaseCloseTask::debugTaskName):
564 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
565 (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
566 (WebCore::DatabaseTransactionTask::doPerformTask):
567 (WebCore::DatabaseTransactionTask::debugTaskName):
568 (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
569 (WebCore::DatabaseTableNamesTask::doPerformTask):
570 (WebCore::DatabaseTableNamesTask::debugTaskName):
571 * storage/DatabaseTask.h:
572 (WebCore::DatabaseOpenTask::create):
573 (WebCore::DatabaseCloseTask::create):
574 (WebCore::DatabaseTransactionTask::create):
575 (WebCore::DatabaseTableNamesTask::create):
576 * storage/DatabaseThread.cpp:
577 (WebCore::DatabaseThread::databaseThread):
578 * storage/DatabaseTracker.cpp:
579 (WebCore::DatabaseTracker::addOpenDatabase):
580 * storage/SQLTransaction.cpp:
581 (WebCore::SQLTransaction::executeSQL):
582 (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
584 2010-07-01 Xan Lopez <xlopez@igalia.com>
586 Reviewed by Gustavo Noronha.
588 [GTK] Stop using GdkRegion in 3.x mode
589 https://bugs.webkit.org/show_bug.cgi?id=41463
591 Make us compile without using GdkRegion, since it's gone from GTK+
594 * platform/graphics/IntRect.h:
595 * platform/graphics/cairo/GraphicsContextCairo.cpp:
596 (WebCore::GraphicsContext::drawFocusRing):
597 * platform/graphics/gtk/FontGtk.cpp:
598 (WebCore::cairo_region_shrink):
599 (WebCore::Font::drawComplexText):
600 * platform/gtk/GtkPluginWidget.cpp:
601 (WebCore::GtkPluginWidget::paint):
602 * platform/gtk/RenderThemeGtk.h:
603 * platform/gtk/ScrollbarGtk.cpp:
604 (ScrollbarGtk::paint):
606 2010-06-30 Dumitru Daniliuc <dumi@chromium.org>
608 Reviewed by Darin Fisher.
611 https://bugs.webkit.org/show_bug.cgi?id=41404
613 1. Made all DatabaseTasks internal classes of Database and made
614 the Database methods called by those tasks private.
615 2. Removed the Database::stop{ed}() methods.
616 3. Removed the code that kept track of open databases from
617 ScriptExecutionContext (no longer needed).
618 4. Made minor changes to Database::closeImmediately() to make it
619 possible for DatabaseThread to call that method instead of
621 5. Minor fix to DatabaseTracker: addOpenDatabase() should call
622 OriginQuotaManager::addDatabase() if the origin quota manager
623 is not tracking this origin.
624 6. Removed Database::performPolicyChecks(). We already update the
625 DB size after each transaction, and we enforce a max size for
626 the DB at the beginning of each transaction.
628 * dom/ScriptExecutionContext.cpp:
629 (WebCore::ScriptExecutionContext::stopDatabases):
630 * dom/ScriptExecutionContext.h:
631 (WebCore::ScriptExecutionContext::hasOpenDatabases):
632 * storage/Database.cpp:
633 (WebCore::Database::openDatabase):
634 (WebCore::Database::Database):
635 (WebCore::Database::markAsDeletedAndClose):
636 (WebCore::Database::close):
637 (WebCore::Database::closeImmediately):
638 * storage/Database.h:
639 * storage/DatabaseTask.cpp:
640 (WebCore::DatabaseTask::performTask):
641 (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
642 (WebCore::Database::DatabaseOpenTask::doPerformTask):
643 (WebCore::Database::DatabaseOpenTask::debugTaskName):
644 (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
645 (WebCore::Database::DatabaseCloseTask::doPerformTask):
646 (WebCore::Database::DatabaseCloseTask::debugTaskName):
647 (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
648 (WebCore::Database::DatabaseTransactionTask::doPerformTask):
649 (WebCore::Database::DatabaseTransactionTask::debugTaskName):
650 (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
651 (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
652 (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
653 * storage/DatabaseTask.h:
654 (WebCore::Database::DatabaseOpenTask::create):
655 (WebCore::Database::DatabaseCloseTask::create):
656 (WebCore::Database::DatabaseTransactionTask::create):
657 (WebCore::Database::DatabaseTableNamesTask::create):
658 * storage/DatabaseThread.cpp:
659 (WebCore::DatabaseThread::databaseThread):
660 * storage/DatabaseTracker.cpp:
661 (WebCore::DatabaseTracker::addOpenDatabase):
662 * storage/SQLTransaction.cpp:
663 (WebCore::SQLTransaction::executeSQL):
664 (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
666 2010-07-01 Kent Tamura <tkent@chromium.org>
668 Reviewed by Darin Fisher.
670 [Chromium] Support indeterminate checkbox for Windows
671 https://bugs.webkit.org/show_bug.cgi?id=41444
673 * rendering/RenderThemeChromiumWin.cpp:
674 (WebCore::RenderThemeChromiumWin::determineState):
675 Check isIndeterminate() and set an appropriate flag value.
677 2010-07-01 Alexey Proskuryakov <ap@apple.com>
679 Reviewed by Dan Bernstein.
681 https://bugs.webkit.org/show_bug.cgi?id=41488
682 <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor
684 Test: plugins/js-from-destroy.html
686 * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
689 2010-07-01 Andy Estes <aestes@apple.com>
691 Reviewed by Darin Adler.
693 <rdar://problem/8113003> Correctly fire beforeload events for images
694 added to the DOM using .innerHTML.
695 https://bugs.webkit.org/show_bug.cgi?id=40919
697 Test: fast/dom/beforeload/image-before-load-innerHTML.html
699 * html/LegacyHTMLDocumentParser.cpp:
700 (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
701 image beforeload events immediately after parsing a document fragment.
702 Let the events fire later, giving the fragment time to potentially be
703 inserted into the document.
705 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
707 Reviewed by Tor Arne Vestbø.
709 Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
710 https://bugs.webkit.org/show_bug.cgi?id=41192
712 If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
713 move to the (first) control point before adding the curve.
716 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
717 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto
719 * html/canvas/CanvasRenderingContext2D.cpp:
720 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
721 (WebCore::CanvasRenderingContext2D::bezierCurveTo):
723 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
725 Reviewed by Darin Adler.
727 Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
728 https://bugs.webkit.org/show_bug.cgi?id=39149
730 If assigned a negative value, it should default to 300 for width and 150 for height.
733 http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width
735 Test: fast/canvas/canvas-negative-size.html
737 * html/HTMLCanvasElement.cpp:
738 (WebCore::HTMLCanvasElement::reset):
740 2010-07-01 Darin Adler <darin@apple.com>
742 Reviewed by Steve Falkenburg.
744 Turn on adoptRef assertion for TreeShared.
746 * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
747 Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
748 removing them all now.
750 * rendering/ShadowElement.cpp:
751 (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
752 storage leak before, probably recently introduced r61324.
753 (WebCore::ShadowInputElement::create): Ditto.
755 2010-07-01 Xan Lopez <xlopez@igalia.com>
757 Reviewed by Gustavo Noronha.
759 Only include the geolocation IDL in the GObject DOM bindings set
760 if geolocation is enabled.
764 2010-07-01 Timothy Hatcher <timothy@apple.com>
766 Provide a WebView preference to disable DNS prefetching.
768 https://bugs.webkit.org/show_bug.cgi?id=28825
769 rdar://problem/7181249
771 Reviewed by Darin Adler.
773 * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
775 (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
777 (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
778 (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
780 (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.
782 2010-07-01 Simon Fraser <simon.fraser@apple.com>
784 Reviewed by Darin Adler.
786 Get accelerated compositing working with webkit2
787 https://bugs.webkit.org/show_bug.cgi?id=41084
789 Step 2: add a method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
790 batched changes non-recursively. This allows us to use GraphicsLayer in places where we
791 don't want to kick off a recursive commit of the entire tree.
793 * platform/graphics/GraphicsLayer.h:
794 (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
795 * platform/graphics/mac/GraphicsLayerCA.h:
796 * platform/graphics/mac/GraphicsLayerCA.mm:
797 (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
798 * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.
800 2010-07-01 Simon Fraser <simon.fraser@apple.com>
802 Reviewed by Sam Weinig.
804 Get accelerated compositing working with webkit2
805 https://bugs.webkit.org/show_bug.cgi?id=41084
807 Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
810 Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.
812 * DerivedSources.make:
813 * WebCore.AcceleratedCompositing.exp: Added.
815 * WebCore.xcodeproj/project.pbxproj:
817 2010-07-01 Alexey Proskuryakov <ap@apple.com>
819 Reviewed by Darin Adler.
821 <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
822 REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
824 Test: plugins/write-xssauditor-from-destroy.html
826 Fix specific known cases that also crash in same process case. I don't know if there is
827 any rule for when documentLoader should be checked for being null, it looks like a mess.
829 * loader/FrameLoader.cpp:
830 (WebCore::FrameLoader::referrer):
831 * page/XSSAuditor.cpp:
832 (WebCore::XSSAuditor::findInRequest):
834 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
836 Reviewed by Darin Adler.
838 The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
839 https://bugs.webkit.org/show_bug.cgi?id=40271
841 Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.
844 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
846 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
847 (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
848 * html/canvas/CanvasRenderingContext2D.cpp:
849 (WebCore::CanvasRenderingContext2D::drawImage):
851 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
853 Reviewed by Oliver Hunt.
855 [Qt] Canvas: clip() should use non-zero winding rule
856 https://bugs.webkit.org/show_bug.cgi?id=41466
858 Use non-zero winding number rule when clipping a GraphicsContext from canvas.
859 Fixes appearance of the "pill" in the web inspector.
861 * platform/graphics/qt/GraphicsContextQt.cpp:
862 (WebCore::GraphicsContext::canvasClip):
864 2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
866 Unreviewed, rolling out r62246.
867 http://trac.webkit.org/changeset/62246
868 https://bugs.webkit.org/show_bug.cgi?id=41470
870 "Worker tests are broken in Chromium" (Requested by yurys on
873 * bindings/v8/ScriptController.cpp:
874 (WebCore::ScriptController::processingUserGesture):
875 * bindings/v8/V8AbstractEventListener.cpp:
876 (WebCore::V8AbstractEventListener::invokeEventHandler):
877 * bindings/v8/V8HiddenPropertyName.h:
878 * bindings/v8/custom/V8DOMWindowCustom.cpp:
879 (WebCore::V8DOMWindow::eventAccessorGetter):
880 (WebCore::V8DOMWindow::eventAccessorSetter):
882 2010-07-01 Andreas Kling <andreas.kling@nokia.com>
884 Reviewed by Tor Arne Vestbø.
886 Canvas: Exception erroneously thrown for drawImage() when image.complete=false
887 https://bugs.webkit.org/show_bug.cgi?id=33968
889 Do nothing in drawImage() if called with an image whose 'complete'
890 attribute is false, or a video whose readyState is either HAVE_NOTHING
894 http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
896 Test: fast/canvas/canvas-drawImage-incomplete.html
898 * html/canvas/CanvasRenderingContext2D.cpp:
899 (WebCore::CanvasRenderingContext2D::drawImage):
901 2010-07-01 Justin Schuh <jschuh@chromium.org>
903 Reviewed by Dan Bernstein.
905 Prevent crash on counter destruction
906 https://bugs.webkit.org/show_bug.cgi?id=40032
908 Added counter destruction to RenderWidget::destroy()
910 Test: fast/css/counters/destroy-counter-crash.html
912 * rendering/RenderWidget.cpp:
913 (WebCore::RenderWidget::destroy):
915 2010-07-01 Lucas De Marchi <lucas.demarchi@profusion.mobi>
917 Unreviewed build fix after r62215.
919 No new functionality, so no new tests.
921 * CMakeLists.txt: Add missing files and re-sort.
923 2010-07-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
925 Reviewed by Kenneth Rohde Christiansen.
927 [Qt] Remove an unneeded assert.
929 This assert is triggered for example while showing the falling leaves demo.
930 GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
931 pointer is null. Looking at the uses of this method it seems like
932 it is expected to return null if a null pointer is given to it.
934 * platform/graphics/qt/GraphicsLayerQt.cpp:
935 (WebCore::toGraphicsLayerQtImpl):
937 2010-06-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
939 Reviewed by Simon Hausmann.
941 [Qt] Fix qmake vcproj generation for QtWebKit.
943 qmake use TARGET=/LIBS+= -lTARGET to create dependencies
944 between projects in a subdir template.
946 Since when compiling outside of Qt we hijack the target name of
947 QtWebKit to add the configuration and version suffix to the binary
948 filename, qmake can't establish the WebCore project as a dependency
951 This patch makes sure that the target is not hijacked on the
952 first of the three passes where the dependencies are determined.
956 2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com>
958 Reviewed by Dirk Schulze.
960 SVGRenderStyle::diff() is missing
961 https://bugs.webkit.org/show_bug.cgi?id=41455
963 Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
964 Figure out when to repaint, and as last resort do a relayout.
966 Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.
968 * rendering/style/RenderStyle.cpp:
969 (WebCore::RenderStyle::diff):
970 * rendering/style/SVGRenderStyle.cpp:
971 (WebCore::SVGRenderStyle::diff):
972 * rendering/style/SVGRenderStyle.h:
974 2010-07-01 Antti Koivisto <koivisto@iki.fi>
976 Revert accidental commit.
978 * platform/network/qt/ResourceRequestQt.cpp:
979 (WebCore::ResourceRequest::toNetworkRequest):
981 2010-07-01 Patrick Gansterer <paroga@paroga.com>
983 Reviewed by Dirk Schulze.
985 Buildfix for !ENABLE(FILTERS) after r62238.
986 https://bugs.webkit.org/show_bug.cgi?id=41456
988 * rendering/SVGRenderSupport.cpp:
989 (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
991 2010-07-01 MORITA Hajime <morrita@google.com>
993 Unreviewed build fix.
995 * rendering/RenderInputSpeech.cpp:
996 (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
997 * rendering/RenderInputSpeech.h:
998 * rendering/RenderTheme.cpp:
999 (WebCore::RenderTheme::paintInputFieldSpeechButton):
1000 * rendering/RenderTheme.h:
1002 2010-07-01 Satish Sampath <satish@chromium.org>
1004 Reviewed by Kent Tamura.
1006 Rendering the speech button in input elements.
1007 https://bugs.webkit.org/show_bug.cgi?id=40984
1009 The button currently has only one state and rendered as an image on all platforms. Subsequent
1010 patches will add user input handling and more states + rendering code to the button. The
1011 button's appearance can be customized by individual ports in their RenderTheme implementation
1014 Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
1015 platform/mac/fast/forms/input-appearance-searchandspeech.html
1016 platform/mac/fast/forms/input-appearance-speechbutton.html
1019 * Resources/inputSpeech.png: Added.
1020 * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
1024 * WebCore.xcodeproj/project.pbxproj:
1025 * platform/graphics/qt/ImageQt.cpp:
1026 (loadResourcePixmap): Load the speech button images for Qt port.
1027 * rendering/RenderInputSpeech.cpp: Added.
1028 (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
1029 (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
1030 * rendering/RenderInputSpeech.h: Added.
1031 * rendering/RenderTextControlSingleLine.cpp:
1032 (WebCore::RenderTextControlSingleLine::layout):
1033 (WebCore::RenderTextControlSingleLine::forwardEvent):
1034 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
1035 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
1036 * rendering/RenderTheme.cpp:
1037 (WebCore::RenderTheme::adjustStyle):
1038 (WebCore::RenderTheme::paint):
1039 (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
1040 (WebCore::RenderTheme::paintInputFieldSpeechButton):
1041 * rendering/RenderTheme.h:
1042 * rendering/RenderThemeMac.mm:
1043 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
1044 speech button when enabled.
1046 2010-07-01 Mario Sanchez Prada <msanchez@igalia.com>
1048 Reviewed by Xan Lopez.
1050 [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
1051 https://bugs.webkit.org/show_bug.cgi?id=41447
1053 Extra null check added.
1055 * editing/gtk/SelectionControllerGtk.cpp:
1056 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1058 2010-07-01 Yury Semikhatsky <yurys@chromium.org>
1060 Reviewed by Adam Barth.
1062 [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
1063 https://bugs.webkit.org/show_bug.cgi?id=41350
1065 Tests: fast/events/popup-blocked-from-fake-user-gesture.html
1066 http/tests/inspector/change-iframe-src.html
1068 * bindings/v8/ScriptController.cpp:
1069 (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
1070 from the call stack. Get event directly from hidden property to avoid unnecessary checks.
1071 * bindings/v8/V8AbstractEventListener.cpp:
1072 (WebCore::V8AbstractEventListener::invokeEventHandler):
1073 * bindings/v8/V8HiddenPropertyName.h:
1074 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1075 (WebCore::V8DOMWindow::eventAccessorGetter):
1076 (WebCore::V8DOMWindow::eventAccessorSetter):
1078 2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com>
1080 Reviewed by Dirk Schulze.
1082 RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
1083 https://bugs.webkit.org/show_bug.cgi?id=41450
1085 strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
1086 instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
1087 which has a resource applied and contains a children which also has a resource applied.
1089 Doesn't affect any test results.
1091 * rendering/RenderSVGContainer.cpp:
1092 (WebCore::RenderSVGContainer::objectBoundingBox):
1093 (WebCore::RenderSVGContainer::strokeBoundingBox):
1094 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1095 * rendering/RenderSVGRoot.cpp:
1096 (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
1097 (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
1098 (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1099 * rendering/RenderSVGRoot.h:
1100 * rendering/SVGRenderSupport.cpp:
1101 (WebCore::SVGRenderSupport::computeContainerBoundingBox):
1102 * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.
1104 2010-07-01 Zoltan Herczeg <zherczeg@webkit.org>
1106 Reviewed by Nikolas Zimmermann.
1108 Implementing feConvolveMatrix svg filter
1109 https://bugs.webkit.org/show_bug.cgi?id=5861
1111 The implementation is optimized for speed, and uses
1112 multiple algorithms for different parts of the image.
1113 See SVGFEConvolveMatrixElement.cpp for a detailed
1116 * svg/SVGFEConvolveMatrixElement.cpp:
1117 (WebCore::SVGFEConvolveMatrixElement::build):
1118 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1119 (WebCore::clampRGBAValue):
1120 (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
1121 (WebCore::FEConvolveMatrix::getPixelValue):
1122 (WebCore::FEConvolveMatrix::fastSetOuterPixels):
1123 (WebCore::FEConvolveMatrix::setInteriorPixels):
1124 (WebCore::FEConvolveMatrix::setOuterPixels):
1125 (WebCore::FEConvolveMatrix::apply):
1126 * svg/graphics/filters/SVGFEConvolveMatrix.h:
1127 (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
1129 2010-07-01 Adam Barth <abarth@webkit.org>
1131 Reviewed by Eric Seidel.
1133 Abstract 'a'-'z' checks into a function
1134 https://bugs.webkit.org/show_bug.cgi?id=41438
1136 Hopefully this version is more readable.
1138 * html/HTMLTokenizer.cpp:
1139 (WebCore::HTMLTokenizer::nextToken):
1141 2010-07-01 Adam Barth <abarth@webkit.org>
1143 Reviewed by Eric Seidel.
1145 Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
1146 https://bugs.webkit.org/show_bug.cgi?id=41345
1148 Apparently whether an HTML entity requires a trailing semicolon varies
1149 depending on the entity. The full table is in the spec:
1151 http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references
1153 I believe branch added in this patch is accurate. At some point, I'll
1154 add a full test suite for all the named entities.
1156 * html/HTMLEntityParser.cpp:
1157 (WebCore::consumeHTMLEntity):
1159 2010-07-01 Eric Seidel <eric@webkit.org>
1161 Unreviewed. Fix paste-o in Gtk build file.
1163 Split out HTMLFormattingElementList into its own file
1164 https://bugs.webkit.org/show_bug.cgi?id=41440
1168 2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com>
1170 Reviewed by Eric Seidel & Dirk Schulze.
1172 Performance regression for setting content of <text> in SVG
1173 https://bugs.webkit.org/show_bug.cgi?id=36564
1175 Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
1176 Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
1177 Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
1178 And as RenderSVGRoot never carries shadow or opacity it was completly useless.
1180 RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
1181 These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
1182 the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.
1184 50 runs without the patch: ~ 520.8ms
1185 50 runs with the patch : ~ 501.8ms
1187 The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
1188 element withs clippers applied, is very cheap now.
1190 Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
1191 of the cache - just like all other resources are handled, simplifying the code.
1193 * rendering/RenderPath.cpp:
1194 (WebCore::RenderPath::paint):
1195 * rendering/RenderSVGContainer.cpp:
1196 (WebCore::RenderSVGContainer::paint):
1197 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1198 * rendering/RenderSVGImage.cpp:
1199 (WebCore::RenderSVGImage::paint):
1200 * rendering/RenderSVGRoot.cpp:
1201 (WebCore::RenderSVGRoot::paint):
1202 * rendering/SVGInlineFlowBox.cpp:
1203 (WebCore::SVGInlineFlowBox::paint):
1204 * rendering/SVGRenderSupport.cpp:
1205 (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
1206 (WebCore::SVGRenderSupport::finishRenderSVGContent):
1207 * rendering/SVGRenderSupport.h:
1208 * rendering/SVGRootInlineBox.cpp:
1209 (WebCore::SVGRootInlineBox::paint):
1211 2010-07-01 Eric Seidel <eric@webkit.org>
1213 Reviewed by Adam Barth.
1215 Split out HTMLFormattingElementList into its own file
1216 https://bugs.webkit.org/show_bug.cgi?id=41440
1218 No functional changes, thus no tests.
1225 * WebCore.vcproj/WebCore.vcproj:
1226 * WebCore.xcodeproj/project.pbxproj:
1227 * html/HTMLTreeBuilder.cpp:
1228 (WebCore::HTMLTreeBuilder::processEndTag):
1229 (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
1230 (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
1231 * html/HTMLTreeBuilder.h:
1233 2010-07-01 Adam Barth <abarth@webkit.org>
1235 Reviewed by Eric Seidel.
1237 BogusCommentState should come in from the cold
1238 https://bugs.webkit.org/show_bug.cgi?id=41439
1240 The BogusCommentState has always been wrong. The proximate issue is
1241 that it didn't handle resuming correctly when parsing a partial input
1242 stream. Now that we have EOF working properly, we can actually
1243 implement this state correctly.
1245 We need to distinguish when we enter this state from when we continue
1246 in this state. We could do that with a branch for each character, but
1247 it seemed easier to split the state in two, even though that leaves us
1248 with one more state in our tokenizer than we have in the HTML5 spec.
1250 * html/HTMLTokenizer.cpp:
1251 (WebCore::HTMLTokenizer::nextToken):
1252 * html/HTMLTokenizer.h:
1253 (WebCore::HTMLTokenizer::):
1255 2010-06-30 Adam Barth <abarth@webkit.org>
1257 Reviewed by Eric Seidel.
1259 HTMLTokenizer's whitespace checks are very redundant
1260 https://bugs.webkit.org/show_bug.cgi?id=41434
1262 This patch adds isTokenizerWhitespace, which replaces a lot of
1263 redundant logic in nextToken.
1265 * html/HTMLTokenizer.cpp:
1266 (WebCore::HTMLTokenizer::nextToken):
1268 2010-06-30 Andreas Kling <andreas.kling@nokia.com>
1270 Reviewed by Kenneth Rohde Christiansen.
1272 [Qt] Crash when uploading document to Google Docs
1273 https://bugs.webkit.org/show_bug.cgi?id=40795
1275 Fix bug where the local file wasn't opened (for POSTing)
1276 if it were the first element in the form.
1278 * platform/network/qt/QNetworkReplyHandler.cpp:
1279 (WebCore::FormDataIODevice::FormDataIODevice):
1280 (WebCore::FormDataIODevice::moveToNextElement):
1281 (WebCore::FormDataIODevice::openFileForCurrentElement):
1282 * platform/network/qt/QNetworkReplyHandler.h:
1284 2010-06-30 Eric Seidel <eric@webkit.org>
1286 Reviewed by Adam Barth.
1288 Implement generateImpliedEndTags and deploy to steps which were blocked on it
1289 https://bugs.webkit.org/show_bug.cgi?id=41432
1291 This fixes one subtest in html5lib/runner.html and positively
1292 effects a couple others.
1294 More code sharing will be needed here. For the moment
1295 we're using copy/paste code, but that will soon be shared.
1297 * html/HTMLTreeBuilder.cpp:
1298 (WebCore::HTMLTreeBuilder::processEndTag):
1299 (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
1300 (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
1301 * html/HTMLTreeBuilder.h:
1303 2010-06-30 Csaba Osztrogonác <ossy@webkit.org>
1305 Unreviewed buildfix after r62196 and r62214.
1307 * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of
1308 !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.
1310 2010-06-30 Sam Weinig <sam@webkit.org>
1312 Really fix the windows build.
1314 * bindings/js/JSBindingsAllInOne.cpp:
1316 2010-06-30 Sam Weinig <sam@webkit.org>
1318 Another Chromium build fix.
1320 * page/DOMWindow.idl:
1322 2010-06-30 Sam Weinig <sam@webkit.org>
1326 * WebCore.gyp/WebCore.gyp:
1328 2010-06-30 Sam Weinig <sam@webkit.org>
1332 * bindings/js/JSBindingsAllInOne.cpp:
1334 2010-06-30 Sam Weinig <sam@webkit.org>
1340 2010-06-29 Sam Weinig <sam@webkit.org>
1342 Reviewed by Dan Bernstein.
1344 Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
1345 <rdar://problem/8126069>
1346 Implement the .dataset DOM property
1348 Tests: fast/dom/dataset-xhtml.xhtml
1349 fast/dom/dataset.html
1351 * DerivedSources.cpp:
1352 * DerivedSources.make:
1356 * WebCore.vcproj/WebCore.vcproj:
1357 * WebCore.xcodeproj/project.pbxproj:
1358 * bindings/js/JSDOMStringMapCustom.cpp: Added.
1359 (WebCore::JSDOMStringMap::canGetItemsForName):
1360 (WebCore::JSDOMStringMap::nameGetter):
1361 (WebCore::JSDOMStringMap::getOwnPropertyNames):
1362 (WebCore::JSDOMStringMap::deleteProperty):
1363 (WebCore::JSDOMStringMap::putDelegate):
1364 * bindings/js/JSDOMStringMapCustom.h: Added.
1365 * dom/DOMStringMap.cpp: Added.
1366 (WebCore::DOMStringMap::~DOMStringMap):
1367 * dom/DOMStringMap.h: Added.
1368 (WebCore::DOMStringMap::DOMStringMap):
1369 * dom/DOMStringMap.idl: Added.
1370 * dom/DatasetDOMStringMap.cpp: Added.
1371 (WebCore::isValidAttributeName):
1372 (WebCore::convertAttributeNameToPropertyName):
1373 (WebCore::propertyNameMatchesAttributeName):
1374 (WebCore::isValidPropertyName):
1375 (WebCore::convertPropertyNameToAttributeName):
1376 (WebCore::DatasetDOMStringMap::ref):
1377 (WebCore::DatasetDOMStringMap::deref):
1378 (WebCore::DatasetDOMStringMap::getNames):
1379 (WebCore::DatasetDOMStringMap::item):
1380 (WebCore::DatasetDOMStringMap::contains):
1381 (WebCore::DatasetDOMStringMap::setItem):
1382 (WebCore::DatasetDOMStringMap::deleteItem):
1383 * dom/DatasetDOMStringMap.h: Added.
1384 (WebCore::DatasetDOMStringMap::create):
1385 (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
1387 (WebCore::Element::dataset):
1390 * dom/ElementRareData.h:
1391 * page/DOMWindow.idl:
1393 2010-06-30 Darin Adler <darin@apple.com>
1397 * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
1398 include of SVGNames.h too.
1400 2010-06-30 Darin Adler <darin@apple.com>
1402 Reviewed by Adam Barth.
1404 Add assertion, off by default, for when you forget to do adoptRef
1405 https://bugs.webkit.org/show_bug.cgi?id=41422
1407 * platform/TreeShared.h: Added code to require adoption and assert if
1408 you don't call adoptRef. For now, it is turned off because of the
1409 LOOSE_TREE_SHARED define in this header. Later we can turn it on
1410 once we get everything working without asserting. Note also that it
1411 only works for objects with an initial reference count of 1.
1413 2010-06-30 Patrick Gansterer <paroga@paroga.com>
1415 Reviewed by Darin Adler.
1417 Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
1418 https://bugs.webkit.org/show_bug.cgi?id=41429
1420 * html/HTMLElementStack.cpp:
1422 2010-06-30 Eric Seidel <eric@webkit.org>
1424 Reviewed by Adam Barth.
1426 Add new popUntil(tagName) function and deploy
1427 https://bugs.webkit.org/show_bug.cgi?id=41405
1429 Add a new popUntil function to share some common code
1430 between states. There is more code to share here, but this
1433 I also filled in a couple similar states to these with the
1434 hope of sharing more code, but decided to wait for a later
1437 No test changes, since this code doesn't do enough yet to
1438 pass any more subtests. Lack of generateImpliedEndTags is the main
1441 * html/HTMLElementStack.cpp:
1442 (WebCore::HTMLElementStack::popUntil):
1443 * html/HTMLElementStack.h:
1444 * html/HTMLTreeBuilder.cpp:
1445 (WebCore::HTMLTreeBuilder::processEndTag):
1447 2010-06-30 Xan Lopez <xlopez@igalia.com>
1449 Reviewed by Gustavo Noronha.
1451 [GTK] Unit test for DOM insertion methods
1452 https://bugs.webkit.org/show_bug.cgi?id=40495
1454 Fix typo in custom function detection method.
1456 * bindings/scripts/CodeGeneratorGObject.pm:
1458 2010-06-30 Eric Seidel <eric@webkit.org>
1460 Reviewed by Adam Barth.
1462 Implement HTML5 "in scope" algorithm and attempt to use it
1463 https://bugs.webkit.org/show_bug.cgi?id=41402
1465 Implemented the 4 needed "in scope" functions for HTML5.
1466 3 for the different sets of scope markers, and one for
1467 doing exact element comparisons instead of tag name searches.
1469 I deployed inScope("body") for </body> and </html> in InBody.
1471 Adds two new (expected) failures, since we're now
1472 switching out of InBody to AfterBody when seeing
1473 </html>. We don't implement AfterBody yet, so
1474 the rest of the content after </html> is ignored.
1476 * html/HTMLElementStack.cpp:
1477 (WebCore::inScopeCommon):
1478 (WebCore::HTMLElementStack::inScope):
1479 (WebCore::HTMLElementStack::inListItemScope):
1480 (WebCore::HTMLElementStack::inTableScope):
1481 * html/HTMLElementStack.h:
1482 * html/HTMLTreeBuilder.cpp:
1483 (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
1484 (WebCore::HTMLTreeBuilder::processEndTag):
1485 * html/HTMLTreeBuilder.h:
1487 2010-06-30 Eric Seidel <eric@webkit.org>
1489 Reviewed by Adam Barth.
1491 Split HTMLElementStack out into its own file
1492 https://bugs.webkit.org/show_bug.cgi?id=41399
1494 No functional change, thus no tests.
1501 * WebCore.vcproj/WebCore.vcproj:
1502 * WebCore.xcodeproj/project.pbxproj:
1503 * html/HTMLElementStack.cpp: Added.
1504 (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1505 (WebCore::HTMLElementStack::ElementRecord::element):
1506 (WebCore::HTMLElementStack::ElementRecord::next):
1507 (WebCore::HTMLElementStack::ElementRecord::releaseNext):
1508 (WebCore::HTMLElementStack::ElementRecord::setNext):
1509 (WebCore::HTMLElementStack::HTMLElementStack):
1510 (WebCore::HTMLElementStack::~HTMLElementStack):
1511 (WebCore::HTMLElementStack::popHTMLHeadElement):
1512 (WebCore::HTMLElementStack::pop):
1513 (WebCore::HTMLElementStack::pushHTMLHtmlElement):
1514 (WebCore::HTMLElementStack::pushHTMLHeadElement):
1515 (WebCore::HTMLElementStack::pushHTMLBodyElement):
1516 (WebCore::HTMLElementStack::push):
1517 (WebCore::HTMLElementStack::top):
1518 (WebCore::HTMLElementStack::removeHTMLHeadElement):
1519 (WebCore::HTMLElementStack::remove):
1520 (WebCore::HTMLElementStack::contains):
1521 (WebCore::HTMLElementStack::inScope):
1522 (WebCore::HTMLElementStack::htmlElement):
1523 (WebCore::HTMLElementStack::headElement):
1524 (WebCore::HTMLElementStack::bodyElement):
1525 (WebCore::HTMLElementStack::pushCommon):
1526 (WebCore::HTMLElementStack::popCommon):
1527 (WebCore::HTMLElementStack::removeNonFirstCommon):
1528 * html/HTMLElementStack.h: Added.
1529 * html/HTMLTreeBuilder.h:
1531 2010-06-30 Kenneth Russell <kbr@google.com>
1533 Reviewed by Oliver Hunt.
1535 WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
1536 https://bugs.webkit.org/show_bug.cgi?id=38040
1538 Changed custom ArrayBufferView constructors to create a
1539 fully-initialized, zero-length array when called with zero
1540 arguments. This is the simplest fix which works identically in
1541 both the JSC and V8 bindings.
1543 Test: fast/canvas/webgl/array-buffer-view-crash.html
1545 * bindings/js/JSArrayBufferViewHelper.h:
1546 (WebCore::constructArrayBufferView):
1547 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1548 (WebCore::constructWebGLArray):
1550 2010-06-30 Victor Wang <victorw@chromium.org>
1552 Reviewed by Darin Fisher.
1554 [chromium] update webcore gyp to use v8 dll for chromium multi dll build.
1556 https://bugs.webkit.org/show_bug.cgi?id=41376
1558 * WebCore.gyp/WebCore.gyp:
1560 2010-06-30 Jeremy Moskovich <jeremy@chromium.org>
1562 Reviewed by Dimitri Glazkov.
1564 [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.
1566 On OS X, with font management software installed. Fonts
1567 can reside in an arbitrary path on disk which is blocked by
1570 This change adds hooks to FontPlaformData which allow cross-process
1571 font loading in case of need.
1573 https://bugs.webkit.org/show_bug.cgi?id=41148
1575 Not possible to test - requires sandboxing which DRT doesn't support.
1578 * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
1579 (WebCore::FontPlatformData::FontPlatformData):
1580 (WebCore::FontPlatformData::~FontPlatformData):
1581 (WebCore::FontPlatformData::operator=):
1582 (WebCore::FontPlatformData::setFont):
1583 (WebCore::FontPlatformData::roundsGlyphAdvances):
1584 (WebCore::FontPlatformData::allowsLigatures):
1585 (WebCore::FontPlatformData::description):
1587 2010-06-30 Jeremy Moskovich <jeremy@chromium.org>
1589 Reviewed by Dan Bernstein.
1591 Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm
1593 * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
1594 * Fix a typo in FontPlatformDataMac.mm
1596 https://bugs.webkit.org/show_bug.cgi?id=41152
1598 No behavior changes so no new tests.
1600 * platform/graphics/mac/FontPlatformDataMac.mm:
1601 (WebCore::FontPlatformData::description):
1602 * platform/graphics/mac/SimpleFontDataMac.mm:
1603 (WebCore::copyFontTableForTag):
1605 2010-06-30 Andreas Kling <andreas.kling@nokia.com>
1607 Reviewed by Kenneth Rohde Christiansen.
1609 [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
1610 https://bugs.webkit.org/show_bug.cgi?id=41407
1612 Only disallow calling SetWindow more than once if we're using Flash 9 or older.
1613 This fixes resizing of YouTube videos via the player's own button.
1615 Removed copy-pasted logic in PluginViewGtk since the issue only exists
1616 when running Flash with a non-Gtk toolkit.
1618 * plugins/PluginPackage.cpp:
1619 (WebCore::PluginPackage::determineQuirks):
1620 * plugins/PluginQuirkSet.h:
1622 * plugins/gtk/PluginViewGtk.cpp:
1623 (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
1624 * plugins/qt/PluginViewQt.cpp:
1625 (WebCore::PluginView::setNPWindowIfNeeded):
1627 2010-06-30 Andreas Kling <andreas.kling@nokia.com>
1629 Reviewed by Antti Koivisto.
1631 [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
1632 https://bugs.webkit.org/show_bug.cgi?id=41406
1634 NPRect has right/bottom instead of width/height.
1635 This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815
1637 * plugins/gtk/PluginViewGtk.cpp:
1638 (WebCore::PluginView::setNPWindowIfNeeded):
1639 * plugins/qt/PluginViewQt.cpp:
1640 (WebCore::PluginView::setNPWindowIfNeeded):
1641 * plugins/symbian/PluginViewSymbian.cpp:
1642 (WebCore::PluginView::setNPWindowIfNeeded):
1644 2010-06-30 Antonio Gomes <tonikitoo@webkit.org>
1646 Reviewed by Simon Fraser.
1648 Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
1649 https://bugs.webkit.org/show_bug.cgi?id=41160
1651 Patch addresses the problem of spatial navigation not work properly with nested
1652 inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
1653 if a give node is descendant of a given document or any parent of it.
1655 Test: fast/events/spatial-navigation/snav-iframe-nested.html
1657 * page/FocusController.cpp:
1658 (WebCore::FocusController::deepFindFocusableNodeInDirection):
1659 * page/SpatialNavigation.cpp:
1660 (WebCore::isNodeDeepDescendantOfDocument):
1661 * page/SpatialNavigation.h:
1663 2010-06-30 Adam Barth <abarth@webkit.org>
1665 Reviewed by Eric Seidel.
1667 HTMLTokenizer should use fewer macros
1668 https://bugs.webkit.org/show_bug.cgi?id=41397
1670 Macros are sadness. Inline functions are the new hotness.
1672 * html/HTMLTokenizer.cpp:
1673 (WebCore::HTMLTokenizer::processEntity):
1674 (WebCore::HTMLTokenizer::emitAndResumeIn):
1675 (WebCore::HTMLTokenizer::emitAndReconsumeIn):
1676 (WebCore::HTMLTokenizer::emitEndOfFile):
1677 (WebCore::HTMLTokenizer::flushBufferedEndTag):
1678 (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
1679 (WebCore::HTMLTokenizer::nextToken):
1680 (WebCore::HTMLTokenizer::bufferCharacter):
1681 (WebCore::HTMLTokenizer::bufferCodePoint):
1682 (WebCore::HTMLTokenizer::bufferParseError):
1683 (WebCore::HTMLTokenizer::bufferCurrentToken):
1684 (WebCore::HTMLTokenizer::bufferEndOfFile):
1685 * html/HTMLTokenizer.h:
1687 2010-06-30 Justin Schuh <jschuh@chromium.org>
1689 Reviewed by Adam Barth.
1691 Remove dead binding code
1692 https://bugs.webkit.org/show_bug.cgi?id=41388
1694 Removed BindingElement because it was obsoleted by r59866.
1697 * bindings/generic/BindingElement.h: Removed.
1698 * bindings/v8/SerializedScriptValue.cpp:
1699 * bindings/v8/V8Binding.h:
1700 * bindings/v8/custom/V8DatabaseCustom.cpp:
1701 * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
1702 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1703 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1705 2010-06-30 Eric Seidel <eric@webkit.org>
1707 Reviewed by Adam Barth.
1709 HTMLTokenizer needs EndOfFile support
1710 https://bugs.webkit.org/show_bug.cgi?id=41344
1712 EndOfFile support uncovered a bug in our implementation of finish().
1713 finish() may be called more than once if the first call does not
1714 result in end() being called (and parsing thus actually stopping).
1716 SegmentedString::close() should have ASSERTed that it was not already
1717 closed when close() is called. I've added such an assert now.
1719 * html/HTMLDocumentParser.cpp:
1720 (WebCore::HTMLDocumentParser::finish):
1721 * platform/text/SegmentedString.cpp:
1722 (WebCore::SegmentedString::close):
1723 * platform/text/SegmentedString.h:
1725 2010-06-29 Eric Seidel <eric@webkit.org>
1727 Reviewed by Adam Barth.
1729 HTMLTokenizer needs EndOfFile support
1730 https://bugs.webkit.org/show_bug.cgi?id=41344
1732 We're using \0 as the EndOfFile marker as HTML5 replaces
1733 all other \0 with \0xFFFD. Added some special case logic
1734 to InputStreamPreprocessor::peek not to replace \0 when
1735 its being used at the end of a stream.
1737 This fixed 60 subtests in html5lib/runner.html.
1739 There are still at least two states (BogusCommentState and
1740 CDATASectionState) which do not have proper EOF support.
1742 * html/HTMLDocumentParser.cpp:
1743 (WebCore::HTMLDocumentParser::finish):
1744 (WebCore::HTMLDocumentParser::finishWasCalled):
1745 * html/HTMLInputStream.h:
1746 (WebCore::HTMLInputStream::markEndOfFile):
1747 (WebCore::HTMLInputStream::haveSeenEndOfFile):
1749 (WebCore::HTMLToken::makeEndOfFile):
1750 * html/HTMLTokenizer.cpp:
1751 (WebCore::HTMLTokenizer::nextToken):
1752 (WebCore::HTMLTokenizer::emitEndOfFile):
1753 * html/HTMLTokenizer.h:
1754 (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
1755 (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
1756 * html/HTMLTreeBuilder.cpp:
1757 (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
1759 2010-06-28 Eric Seidel <eric@webkit.org>
1761 Reviewed by Adam Barth.
1763 Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
1764 https://bugs.webkit.org/show_bug.cgi?id=41337
1766 Had to teach ElementStack to store pointers to html, head, and body
1769 This fixed a few tests in LayoutTests/html5lib.
1771 * html/HTMLTreeBuilder.cpp:
1772 (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
1773 (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
1774 (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
1775 (WebCore::HTMLTreeBuilder::processStartTag):
1776 (WebCore::HTMLTreeBuilder::processEndTag):
1777 (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
1778 (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
1779 (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
1780 (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
1781 (WebCore::HTMLTreeBuilder::insertElement):
1782 (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
1783 (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
1784 * html/HTMLTreeBuilder.h:
1785 (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
1786 (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
1787 (WebCore::HTMLTreeBuilder::ElementStack::pop):
1788 (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
1789 (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
1790 (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
1791 (WebCore::HTMLTreeBuilder::ElementStack::push):
1792 (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
1793 (WebCore::HTMLTreeBuilder::ElementStack::remove):
1794 (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
1795 (WebCore::HTMLTreeBuilder::ElementStack::headElement):
1796 (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
1797 (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
1798 (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
1799 (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):
1801 2010-06-30 José Millán Soto <jmillan@igalia.com>
1803 Reviewed by Xan Lopez.
1805 [Gtk] Text attributes not exposed
1806 https://bugs.webkit.org/show_bug.cgi?id=25528
1808 Implemented the get_run_attributes and get_default_attributes
1809 functions for the ATK_TEXT role.
1811 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1812 (getAttributeSetForAccessibilityObject):
1814 (attributeSetDifference):
1815 (accessibilityObjectLength):
1816 (getAccessibilityObjectForOffset):
1817 (getRunAttributesFromAccesibilityObject):
1818 (webkit_accessible_text_get_run_attributes):
1819 (webkit_accessible_text_get_default_attributes):
1821 2010-06-30 Yuta Kitamura <yutak@chromium.org>
1823 Reviewed by Alexey Proskuryakov.
1825 Fix Sec-WebSocketKey{1,2} headers.
1827 According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
1828 should not start or end with a space.
1830 WebSocket: Malformed handshake headers in a worker due to rand_s failing
1831 https://bugs.webkit.org/show_bug.cgi?id=41327
1833 No new tests. ASSERT should catch the problem.
1835 * websockets/WebSocketHandshake.cpp:
1836 (WebCore::generateSecWebSocketKey):
1838 2010-06-30 Yuzo Fujishima <yuzo@google.com>
1840 Reviewed by Dan Bernstein.
1842 Fix for Bug 41339 - unicode-range property only with a descending range
1845 https://bugs.webkit.org/show_bug.cgi?id=41339
1847 Test: fast/css/font-face-descending-unicode-range.html
1849 * css/CSSParser.cpp:
1850 (WebCore::CSSParser::parseFontFaceUnicodeRange):
1852 2010-06-29 Abhinav Mithal <abhinav.mithal@nokia.com>
1854 Reviewed by Laszlo Gombos.
1856 [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
1857 https://bugs.webkit.org/show_bug.cgi?id=37303
1859 * plugins/symbian/PluginViewSymbian.cpp:
1860 (WebCore::PluginView::platformDestroy):
1862 2010-06-29 Zhenyao Mo <zmo@google.com>
1864 Reviewed by Dimitri Glazkov.
1866 Implement getAttachedShaders
1867 https://bugs.webkit.org/show_bug.cgi?id=31172
1869 * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
1870 (WebCore::JSWebGLRenderingContext::getAttachedShaders):
1871 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
1872 (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1873 * html/canvas/WebGLRenderingContext.cpp:
1874 (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
1875 (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
1876 * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
1877 * html/canvas/WebGLRenderingContext.idl: Ditto.
1878 * platform/graphics/GraphicsContext3D.h: Ditto.
1879 * platform/graphics/mac/GraphicsContext3DMac.mm:
1880 (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().
1882 2010-06-29 MORITA Hajime <morrita@google.com>
1884 Reviewed by Kent Tamura.
1886 REGRESSION: [Chromium] <progress> appearance on windows looks not good
1887 https://bugs.webkit.org/show_bug.cgi?id=41343
1889 RenderThemeChromiumWin::paintProgressBar() should return false,
1890 which indicates the widget is painted.
1892 Test: fast/dom/HTMLProgressElement/progress-element.html
1893 * rebaselined with a wrong expectation.
1895 * rendering/RenderThemeChromiumWin.cpp:
1896 (WebCore::RenderThemeChromiumWin::paintProgressBar):
1898 2010-06-29 Kinuko Yasuda <kinuko@chromium.org>
1900 Reviewed by Jian Li.
1902 Fix http/tests/local/blob/send-data-blob.html on Windows
1903 https://bugs.webkit.org/show_bug.cgi?id=41228
1905 Fix a regression bug in the line-conversion code.
1906 Rewrite the line-conversion function with simpler functions to
1907 make it less error prone.
1909 No new tests as this is for bug fixes.
1911 * platform/BlobItem.cpp:
1912 (WebCore::StringBlobItem::convertToCString):
1914 2010-06-29 Dumitru Daniliuc <dumi@chromium.org>
1916 Reviewed by Darin Fisher.
1918 Implementing DatabaseSync::openDatabaseSync().
1919 https://bugs.webkit.org/show_bug.cgi?id=40607
1921 1. Moved some common code from Database to AbstractDatabase.
1922 2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
1923 need to interact with DatabaseThread.
1924 3. Removed the m_creationCallback field, since it's only needed in
1925 the openDatabase{Sync} methods.
1927 * storage/AbstractDatabase.cpp:
1928 (WebCore::retrieveTextResultFromDatabase):
1929 (WebCore::setTextValueInDatabase):
1930 (WebCore::guidMutex):
1931 (WebCore::guidToVersionMap):
1932 (WebCore::updateGuidVersionMap):
1933 (WebCore::guidToDatabaseMap):
1934 (WebCore::guidForOriginAndName):
1935 (WebCore::AbstractDatabase::databaseInfoTableName):
1936 (WebCore::AbstractDatabase::AbstractDatabase):
1937 (WebCore::AbstractDatabase::closeDatabase):
1938 (WebCore::AbstractDatabase::version):
1939 (WebCore::AbstractDatabase::performOpenAndVerify):
1940 (WebCore::AbstractDatabase::scriptExecutionContext):
1941 (WebCore::AbstractDatabase::securityOrigin):
1942 (WebCore::AbstractDatabase::stringIdentifier):
1943 (WebCore::AbstractDatabase::displayName):
1944 (WebCore::AbstractDatabase::estimatedSize):
1945 (WebCore::AbstractDatabase::fileName):
1946 (WebCore::AbstractDatabase::databaseVersionKey):
1947 (WebCore::AbstractDatabase::getVersionFromDatabase):
1948 (WebCore::AbstractDatabase::setVersionInDatabase):
1949 (WebCore::AbstractDatabase::versionMatchesExpected):
1950 (WebCore::AbstractDatabase::setExpectedVersion):
1951 (WebCore::AbstractDatabase::disableAuthorizer):
1952 (WebCore::AbstractDatabase::enableAuthorizer):
1953 (WebCore::AbstractDatabase::setAuthorizerReadOnly):
1954 (WebCore::AbstractDatabase::lastActionChangedDatabase):
1955 (WebCore::AbstractDatabase::lastActionWasInsert):
1956 (WebCore::AbstractDatabase::resetDeletes):
1957 (WebCore::AbstractDatabase::hadDeletes):
1958 (WebCore::AbstractDatabase::resetAuthorizer):
1959 * storage/AbstractDatabase.h:
1960 (WebCore::AbstractDatabase::opened):
1961 (WebCore::AbstractDatabase::isNew):
1962 (WebCore::AbstractDatabase::databaseDebugName):
1963 * storage/Database.cpp:
1964 (WebCore::DatabaseCreationCallbackTask::create):
1965 (WebCore::DatabaseCreationCallbackTask::performTask):
1966 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
1967 (WebCore::Database::openDatabase):
1968 (WebCore::Database::Database):
1969 (WebCore::Database::version):
1970 (WebCore::Database::openAndVerifyVersion):
1971 (WebCore::Database::close):
1972 (WebCore::Database::stop):
1973 (WebCore::Database::performOpenAndVerify):
1974 * storage/Database.h:
1975 (WebCore::Database::sqliteDatabase):
1976 * storage/DatabaseAuthorizer.cpp:
1977 (WebCore::DatabaseAuthorizer::create):
1978 (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
1979 (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
1980 * storage/DatabaseAuthorizer.h:
1981 * storage/DatabaseSync.cpp:
1982 (WebCore::DatabaseSync::openDatabaseSync):
1983 (WebCore::DatabaseSync::DatabaseSync):
1984 (WebCore::DatabaseSync::~DatabaseSync):
1985 (WebCore::DatabaseSync::markAsDeletedAndClose):
1986 (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
1987 (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
1988 (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
1989 (WebCore::DatabaseSync::closeImmediately):
1990 * storage/DatabaseSync.h:
1991 * storage/DatabaseTask.cpp:
1992 (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1993 (WebCore::DatabaseOpenTask::doPerformTask):
1994 * storage/DatabaseTask.h:
1995 (WebCore::DatabaseOpenTask::create):
1997 2010-06-29 François Sausset <sausset@gmail.com>
1999 Reviewed by Darin Adler.
2001 Fix a bug when a msubsup element is inside a mrow element
2002 https://bugs.webkit.org/show_bug.cgi?id=36525
2004 Test: mathml/presentation/subsup.xhtml
2006 * mathml/RenderMathMLSubSup.cpp:
2007 (WebCore::RenderMathMLSubSup::stretchToHeight):
2009 2010-06-29 Zhenyao Mo <zmo@google.com>
2011 Reviewed by Dimitri Glazkov.
2013 uniformmatrix* should generate INVALID_VALUE with transpose = true
2014 https://bugs.webkit.org/show_bug.cgi?id=41235
2016 Test: fast/canvas/webgl/gl-uniformmatrix4fv.html
2018 * html/canvas/WebGLRenderingContext.cpp:
2019 (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
2020 (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
2021 (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
2022 (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
2023 * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().
2025 2010-06-29 Kenneth Russell <kbr@google.com>
2027 Reviewed by Dimitri Glazkov.
2029 Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
2030 https://bugs.webkit.org/show_bug.cgi?id=40398
2032 Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
2033 parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
2034 More cleanly separated the unpacking and packing phases of user-supplied pixel data
2035 in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
2036 of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
2037 validation of the amount of data passed to texImage2D and texSubImage2D. Modified
2038 fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
2039 tests for relevant source formats; added new test which exercises all combinations
2040 of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
2043 Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
2045 * html/canvas/WebGLRenderingContext.cpp:
2046 (WebCore::WebGLRenderingContext::texImage2D):
2047 (WebCore::WebGLRenderingContext::texSubImage2D):
2048 (WebCore::WebGLRenderingContext::validateTexFuncData):
2049 * html/canvas/WebGLRenderingContext.h:
2050 * platform/graphics/GraphicsContext3D.cpp:
2051 (WebCore::GraphicsContext3D::extractImageData):
2052 (WebCore::GraphicsContext3D::extractTextureData):
2053 (WebCore::GraphicsContext3D::flipVertically):
2054 (WebCore::doUnpackingAndPacking):
2055 (WebCore::computeIncrementParameters):
2056 (WebCore::doPacking):
2057 (WebCore::GraphicsContext3D::packPixels):
2058 * platform/graphics/GraphicsContext3D.h:
2059 (WebCore::GraphicsContext3D::):
2060 * platform/graphics/cg/GraphicsContext3DCG.cpp:
2061 (WebCore::GraphicsContext3D::getImageData):
2062 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2063 (WebCore::GraphicsContext3D::getImageData):
2064 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2065 (WebCore::GraphicsContext3D::getImageData):
2067 2010-06-29 Patrick Gansterer <paroga@paroga.com>
2069 Reviewed by Dirk Schulze.
2071 Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
2072 https://bugs.webkit.org/show_bug.cgi?id=41367
2074 * svg/SVGSVGElement.cpp:
2075 (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).
2077 2010-06-29 Patrick Gansterer <paroga@paroga.com>
2079 Reviewed by Darin Adler.
2081 Buildfix after r62118.
2082 https://bugs.webkit.org/show_bug.cgi?id=41365
2084 * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.
2086 2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
2088 Unreviewed, rolling out r62052.
2089 http://trac.webkit.org/changeset/62052
2090 https://bugs.webkit.org/show_bug.cgi?id=41357
2092 Causes crashes in JSLazyEventListener::initializeFunction (see
2093 bug 41352) (Requested by aroben on #webkit).
2095 * bindings/js/ScriptEventListener.cpp:
2096 (WebCore::createAttributeEventListener):
2097 * bindings/js/ScriptEventListener.h:
2098 * bindings/v8/ScriptEventListener.cpp:
2099 (WebCore::createAttributeEventListener):
2100 * bindings/v8/ScriptEventListener.h:
2101 * html/HTMLBodyElement.cpp:
2102 (WebCore::HTMLBodyElement::parseMappedAttribute):
2103 * html/HTMLFrameSetElement.cpp:
2104 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2105 * svg/SVGSVGElement.cpp:
2106 (WebCore::SVGSVGElement::parseMappedAttribute):
2108 2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
2110 Unreviewed, rolling out r62129.
2111 http://trac.webkit.org/changeset/62129
2112 https://bugs.webkit.org/show_bug.cgi?id=41362
2114 Needed to roll out r62052 (see bug 41357) (Requested by aroben
2117 * bindings/js/ScriptEventListener.cpp:
2118 (WebCore::createWindowAttributeEventListener):
2120 2010-06-29 Beth Dakin <bdakin@apple.com>
2122 Reviewed by Darin Adler.
2124 Speculative fix for <rdar://problem/8071558> CrashTracer: [USER]
2125 2300+ crashes in Safari at com.apple.WebCore:
2126 WebCore::FrameView::scheduleRelayout + 352
2128 Unfortunately, we don't have a reproducible case for this bug, and
2129 therefore, we do not have a layout test either. It is pretty clear
2130 from the logs that m_frame->settings() is null in
2131 FrameView::scheduleRelayout() in the crashing case.
2132 m_frame->settings() is null whenever page is null. Everywhere else
2133 in FrameView.cpp we null-check either page or settings before using
2134 settings. It seems plausible to me that scheduleRelayout could be
2135 called when page is null, so the fix is just to add null-checks.
2137 * page/FrameView.cpp:
2138 (WebCore::FrameView::layout):
2139 (WebCore::FrameView::scheduleRelayout):
2141 2010-06-29 Dan Bernstein <mitz@apple.com>
2143 Reviewed by Darin Adler.
2145 <rdar://problem/7975842> Certain text is repeated after using splitText()
2147 Tests: fast/text/setData-dirty-lines.html
2148 fast/text/splitText-dirty-lines.html
2150 * dom/CharacterData.cpp:
2151 (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
2152 setText(), because only the former correctly dirties line boxes.
2154 (WebCore::Text::splitText): Ditto.
2156 2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
2158 Unreviewed, rolling out r62073.
2159 http://trac.webkit.org/changeset/62073
2160 https://bugs.webkit.org/show_bug.cgi?id=41359
2162 Necessary to fix chromium build when r62052 is rolled out.
2163 (Requested by dave_levin on #webkit).
2165 * bindings/v8/ScriptEventListener.h:
2167 2010-06-29 Vangelis Kokkevis <vangelis@chromium.org>
2169 Reviewed by Darin Fisher.
2171 [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
2172 methods to set the contents of a GraphicsLayer with a platform specific WebGL
2173 Layer, and to update the contents of the WebGL Layer when needed.
2174 https://bugs.webkit.org/show_bug.cgi?id=41243
2176 * platform/graphics/GraphicsContext3D.h:
2177 * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2178 (WebCore::GraphicsLayerChromium::setContentsToWebGL):
2179 * platform/graphics/chromium/GraphicsLayerChromium.h:
2180 * platform/graphics/chromium/LayerChromium.cpp:
2181 (WebCore::LayerChromium::removeAllSublayers):
2182 No need to call setNeedsCommit() from here as the previous call to
2183 layer->removeFromSuperlayer() will have that effect (and we only need
2184 to notify the owner if there were actually any sublayers removed).
2185 * platform/graphics/chromium/LayerChromium.h:
2186 * platform/graphics/chromium/LayerRendererChromium.cpp:
2187 (WebCore::LayerRendererChromium::drawLayer):
2188 * platform/graphics/chromium/WebGLLayerChromium.cpp:
2189 (WebCore::WebGLLayerChromium::create):
2190 (WebCore::WebGLLayerChromium::updateTextureContents):
2191 (WebCore::WebGLLayerChromium::setContext):
2193 2010-06-29 Csaba Osztrogonác <ossy@webkit.org>
2195 Reviewed by Nikolas Zimmermann.
2197 Buildfix for --minimal build after r62052
2198 https://bugs.webkit.org/show_bug.cgi?id=41338
2200 * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
2201 (WebCore::createWindowAttributeEventListener):
2203 2010-06-29 Brent Fulgham <bfulgham@webkit.org>
2205 Build fix. Not reviewd.
2207 CGColor is only used for PLATFORM(CG). Conditionalize include
2208 to correct build failure for WinCairo.
2210 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2211 Conditionalize use of CGColor.
2213 2010-06-29 Martin Robinson <mrobinson@igalia.com>
2215 Reviewed by Xan Lopez.
2217 [GTK] Clean up the source lists in the GNUMakefile.am files
2218 https://bugs.webkit.org/show_bug.cgi?id=41229
2220 Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
2225 2010-06-29 Martin Robinson <mrobinson@igalia.com>
2227 Reviewed by Xan Lopez.
2229 [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
2230 https://bugs.webkit.org/show_bug.cgi?id=40307
2232 Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
2233 contains all the information necessary to keep track of drops in progress.
2235 * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
2236 * platform/gtk/DragDataGtk.cpp:
2237 (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
2238 (WebCore::DragData::asFilenames): Ditto.
2239 (WebCore::DragData::containsPlainText): Ditto.
2240 (WebCore::DragData::asPlainText): Ditto.
2241 (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
2242 (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
2243 (WebCore::DragData::containsURL): Ditto.
2244 (WebCore::DragData::asURL): Ditto.
2245 (WebCore::DragData::asFragment): Ditto.
2247 2010-06-29 Adam Langley <agl@chromium.org>
2249 Build fix. Not reviewd.
2251 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2252 (WebCore::FontPlatformData::setupPaint):
2253 The name of the Skia function changed between writing this patch and
2256 2010-06-29 Adam Langley <agl@chromium.org>
2258 Reviewed by Kent Tamura.
2260 [chromium] Support forced autohinting.
2262 https://bugs.webkit.org/show_bug.cgi?id=40493
2264 Freetype (the typical font rendering on Linux) includes an 'autohinter':
2265 an algorithm for hinting glyph shapes without using the embedded hinting
2268 Some people prefer the autohinter's results, so we support forcing its
2271 This change also fixes a bug where two FontPlatformData structures would
2272 compare equal, even if their rendering styles were different.
2274 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2275 (WebCore::FontPlatformData::setupPaint):
2276 In order to compare FontPlatformData structures we need to make sure
2277 that they are initialised.
2278 (WebCore::FontPlatformData::operator==):
2279 * platform/graphics/chromium/FontRenderStyle.h:
2280 (WebCore::FontRenderStyle::FontRenderStyle):
2281 (WebCore::FontRenderStyle::operator==):
2282 This fixes the case where two FontPlatformData structures, differing
2283 only by rendering style, would compare equal.
2285 2010-06-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2287 Unreviewed, Symbian build fix.
2289 Add more directories to USERINCLUDE so that they get included
2290 before the Symbian system headers.
2292 This is a workaround to some toolchain problems; bug 31273 is used to
2293 find a better solution.
2295 No new tests as there is no new functionality.
2299 2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
2301 Reviewed by Dirk Schulze.
2303 Cleanup SVGRenderSupport
2304 https://bugs.webkit.org/show_bug.cgi?id=41347
2306 Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject,
2307 though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as
2308 it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance),
2309 RenderSVGInlineText (RenderText inheritance) etc.
2311 Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport.
2312 We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers.
2314 Doesn't affect any test.
2316 * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all.
2317 * rendering/RenderBox.h: Ditto.
2318 * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/
2319 (WebCore::RenderForeignObject::paint):
2320 (WebCore::RenderForeignObject::clippedOverflowRectForRepaint):
2321 (WebCore::RenderForeignObject::computeRectForRepaint):
2322 (WebCore::RenderForeignObject::nodeAtFloatPoint):
2323 (WebCore::RenderForeignObject::mapLocalToContainer):
2324 * rendering/RenderPath.cpp:
2325 (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
2326 (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/
2327 (WebCore::RenderPath::nodeAtFloatPoint): Ditto.
2328 (WebCore::RenderPath::updateCachedBoundaries): Ditto.
2329 * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance.
2330 * rendering/RenderSVGContainer.cpp:
2331 (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
2332 (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
2333 (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
2334 (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto.
2335 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
2336 (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
2337 * rendering/RenderSVGHiddenContainer.cpp:
2338 (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now.
2339 * rendering/RenderSVGImage.cpp:
2340 (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now.
2341 (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2342 (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
2343 (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
2344 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2345 (WebCore::RenderSVGImage::computeRectForRepaint): Ditto.
2346 (WebCore::RenderSVGImage::mapLocalToContainer): Ditto.
2347 * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance.
2348 * rendering/RenderSVGInline.cpp:
2349 (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now.
2350 (WebCore::RenderSVGInline::strokeBoundingBox): Ditto.
2351 (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto.
2352 (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2353 (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,.
2354 (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
2355 (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now.
2356 * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance.
2357 * rendering/RenderSVGModelObject.cpp:
2358 (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2359 (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto.
2360 (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
2361 (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2362 * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance.
2363 * rendering/RenderSVGResource.cpp:
2364 (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function).
2365 (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources.
2366 * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function.
2367 * rendering/RenderSVGResourceClipper.cpp:
2368 (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now.
2369 (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
2370 * rendering/RenderSVGResourceGradient.cpp:
2371 (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now.
2372 (WebCore::clipToTextMask): Ditto.
2373 (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
2374 (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now.
2375 * rendering/RenderSVGResourceMarker.cpp:
2376 (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
2377 * rendering/RenderSVGResourceMasker.cpp:
2378 (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
2379 * rendering/RenderSVGResourcePattern.cpp:
2380 (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now.
2381 (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport.
2382 (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now.
2383 * rendering/RenderSVGResourceSolidColor.cpp:
2384 (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now
2385 * rendering/RenderSVGRoot.cpp:
2386 (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now.
2387 (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
2388 (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2389 (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency.
2390 * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance.
2391 (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed.
2392 (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now.
2393 * rendering/RenderSVGText.cpp:
2394 (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2395 (WebCore::RenderSVGText::computeRectForRepaint): Ditto.
2396 (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
2397 (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now.
2398 (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2399 (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now.
2400 * rendering/RenderSVGViewportContainer.cpp:
2401 (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/
2402 (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now.
2403 * rendering/SVGInlineFlowBox.cpp:
2404 (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport.
2405 * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static.
2406 (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/
2407 (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto.
2408 (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto.
2409 (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto.
2410 (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto.
2411 (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static.
2412 (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto.
2413 (WebCore::SVGRenderSupport::layoutChildren): Ditto.
2414 (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/
2415 (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto.
2416 (WebCore::SVGRenderSupport::pointInClippingArea): Made static.
2417 (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto.
2418 (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto.
2419 (WebCore::SVGRenderSupport::findTextRootObject): Ditto.
2420 * rendering/SVGRenderSupport.h:
2421 * rendering/SVGRenderTreeAsText.cpp:
2422 (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now.
2423 * rendering/SVGRootInlineBox.cpp:
2424 (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/
2425 * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance.
2426 * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore.
2427 (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now.
2428 * svg/SVGStyledElement.cpp:
2429 (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport.
2431 2010-06-21 Philippe Normand <pnormand@igalia.com>
2433 Reviewed by Xan Lopez.
2435 [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103
2436 https://bugs.webkit.org/show_bug.cgi?id=40907
2438 Define a JMPBUF macro to cope with deprecation of the jmpbuf
2439 attribute in libpng >= 1.4.
2441 * platform/image-decoders/png/PNGImageDecoder.cpp:
2442 (WebCore::decodingFailed):
2443 (WebCore::PNGImageReader::decode):
2444 (WebCore::PNGImageDecoder::headerAvailable):
2445 (WebCore::PNGImageDecoder::rowAvailable):
2447 2010-06-29 Kristian Amlie <kristian.amlie@nokia.com>
2449 Reviewed by Simon Hausmann.
2451 [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin.
2455 2010-06-29 Yury Semikhatsky <yurys@chromium.org>
2457 Unreviewed: Chromium Win and Mac build fix.
2459 * bindings/v8/ScriptDebugServer.cpp:
2460 (WebCore::ScriptDebugServer::setBreakpoint):
2462 2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
2464 Reviewed by Dirk Schulze.
2466 Move PaintInfo/PaintPhase into their own headers, out of RenderObject
2467 https://bugs.webkit.org/show_bug.cgi?id=41342
2469 1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h.
2470 Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/.
2471 Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere.
2473 2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
2474 and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)".
2476 This changes a common idiom:
2477 - info.paintingRoot = paintingRootForChildren(paintInfo);
2478 + info.updatePaintingRootForChildren(this);
2480 We save resetting the paintingRoot to 0 if it was 0 already and thus do less work.
2482 3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo
2483 and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const".
2485 This changes a common idiom:
2486 - if (!shouldPaintWithinRoot(paintInfo))
2487 + if (!paintInfo.shouldPaintWithinRoot(this))
2489 4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)"
2490 from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks.
2492 This changes a common idiom:
2493 - applyTransformToPaintInfo(childPaintInfo, localToParentTransform());
2494 + childPaintInfo.applyTransform(localToParentTransform());
2496 Add PaintInfo.h / PaintPhase.h to all build systems that list headers.
2501 * WebCore.vcproj/WebCore.vcproj:
2502 * WebCore.xcodeproj/project.pbxproj:
2503 * platform/android/RenderThemeAndroid.cpp:
2504 (WebCore::getCanvasFromInfo):
2505 (WebCore::RenderThemeAndroid::paintCheckbox):
2506 (WebCore::RenderThemeAndroid::paintButton):
2507 (WebCore::RenderThemeAndroid::paintRadio):
2508 (WebCore::RenderThemeAndroid::paintTextField):
2509 (WebCore::RenderThemeAndroid::paintTextArea):
2510 (WebCore::RenderThemeAndroid::paintSearchField):
2511 (WebCore::RenderThemeAndroid::paintCombo):
2512 (WebCore::RenderThemeAndroid::paintMenuList):
2513 (WebCore::RenderThemeAndroid::paintMenuListButton):
2514 * platform/android/RenderThemeAndroid.h:
2515 * platform/efl/RenderThemeEfl.cpp:
2516 (WebCore::RenderThemeEfl::paintThemePart):
2517 (WebCore::RenderThemeEfl::paintCheckbox):
2518 (WebCore::RenderThemeEfl::paintRadio):
2519 (WebCore::RenderThemeEfl::paintButton):
2520 (WebCore::RenderThemeEfl::paintMenuList):
2521 (WebCore::RenderThemeEfl::paintTextField):
2522 (WebCore::RenderThemeEfl::paintTextArea):
2523 (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
2524 (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
2525 (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
2526 (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
2527 (WebCore::RenderThemeEfl::paintSearchField):
2528 * platform/efl/RenderThemeEfl.h:
2529 * platform/gtk/RenderThemeGtk.cpp:
2530 (WebCore::paintMozillaGtkWidget):
2531 (WebCore::RenderThemeGtk::paintCheckbox):
2532 (WebCore::RenderThemeGtk::paintRadio):
2533 (WebCore::RenderThemeGtk::paintButton):
2534 (WebCore::RenderThemeGtk::paintMenuList):
2535 (WebCore::RenderThemeGtk::paintTextField):
2536 (WebCore::RenderThemeGtk::paintTextArea):
2537 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
2538 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2539 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2540 (WebCore::RenderThemeGtk::paintSearchField):
2541 (WebCore::RenderThemeGtk::paintSliderTrack):
2542 (WebCore::RenderThemeGtk::paintSliderThumb):
2543 (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
2544 (WebCore::RenderThemeGtk::paintMediaMuteButton):
2545 (WebCore::RenderThemeGtk::paintMediaPlayButton):
2546 (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
2547 (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
2548 (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2549 (WebCore::RenderThemeGtk::paintMediaSliderThumb):
2550 (WebCore::RenderThemeGtk::paintProgressBar):
2551 * platform/gtk/RenderThemeGtk.h:
2552 * platform/haiku/RenderThemeHaiku.cpp:
2553 (WebCore::RenderThemeHaiku::paintCheckbox):
2554 (WebCore::RenderThemeHaiku::paintRadio):
2555 (WebCore::RenderThemeHaiku::paintMenuList):
2556 * platform/haiku/RenderThemeHaiku.h:
2557 * platform/qt/RenderThemeQt.cpp:
2558 (WebCore::StylePainter::StylePainter):
2559 (WebCore::RenderThemeQt::paintCheckbox):
2560 (WebCore::RenderThemeQt::paintRadio):
2561 (WebCore::RenderThemeQt::paintButton):
2562 (WebCore::RenderThemeQt::paintTextField):
2563 (WebCore::RenderThemeQt::paintTextArea):
2564 (WebCore::RenderThemeQt::paintMenuList):
2565 (WebCore::RenderThemeQt::paintMenuListButton):
2566 (WebCore::RenderThemeQt::paintProgressBar):
2567 (WebCore::RenderThemeQt::paintSliderTrack):
2568 (WebCore::RenderThemeQt::paintSliderThumb):
2569 (WebCore::RenderThemeQt::paintSearchField):
2570 (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
2571 (WebCore::RenderThemeQt::paintSearchFieldDecoration):
2572 (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
2573 (WebCore::RenderThemeQt::paintMediaFullscreenButton):
2574 (WebCore::RenderThemeQt::paintMediaMuteButton):
2575 (WebCore::RenderThemeQt::paintMediaPlayButton):
2576 (WebCore::RenderThemeQt::paintMediaSeekBackButton):
2577 (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
2578 (WebCore::RenderThemeQt::paintMediaCurrentTime):
2579 (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
2580 (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
2581 (WebCore::RenderThemeQt::paintMediaSliderTrack):
2582 (WebCore::RenderThemeQt::paintMediaSliderThumb):
2583 * platform/qt/RenderThemeQt.h:
2584 * platform/wx/RenderThemeWx.cpp:
2585 (WebCore::RenderThemeWx::paintCheckbox):
2586 (WebCore::RenderThemeWx::paintRadio):
2587 (WebCore::RenderThemeWx::paintButton):
2588 (WebCore::RenderThemeWx::paintTextField):
2589 (WebCore::RenderThemeWx::paintMenuList):
2590 (WebCore::RenderThemeWx::paintMenuListButton):
2591 * rendering/EllipsisBox.cpp:
2592 (WebCore::EllipsisBox::paint):
2593 * rendering/EllipsisBox.h:
2594 * rendering/InlineBox.cpp:
2595 (WebCore::InlineBox::paint):
2596 * rendering/InlineBox.h:
2597 * rendering/InlineFlowBox.cpp:
2598 (WebCore::InlineFlowBox::paint):
2599 (WebCore::InlineFlowBox::paintFillLayers):
2600 (WebCore::InlineFlowBox::paintFillLayer):
2601 (WebCore::InlineFlowBox::paintBoxDecorations):
2602 (WebCore::InlineFlowBox::paintMask):
2603 (WebCore::InlineFlowBox::paintTextDecorations):
2604 * rendering/InlineFlowBox.h:
2605 * rendering/InlineTextBox.cpp:
2606 (WebCore::InlineTextBox::paint):
2607 * rendering/InlineTextBox.h:
2608 * rendering/PaintInfo.h: Added.
2609 (WebCore::PaintInfo::PaintInfo):
2610 (WebCore::PaintInfo::updatePaintingRootForChildren):
2611 (WebCore::PaintInfo::shouldPaintWithinRoot):
2612 (WebCore::PaintInfo::applyTransform):
2613 * rendering/PaintPhase.h: Added.
2615 * rendering/RenderBlock.cpp:
2616 (WebCore::RenderBlock::paint):
2617 (WebCore::RenderBlock::paintChildren):
2618 (WebCore::RenderBlock::paintEllipsisBoxes):
2619 (WebCore::clipOutPositionedObjects):
2620 (WebCore::RenderBlock::layoutColumns):
2621 * rendering/RenderBox.cpp:
2622 (WebCore::RenderBox::paint):
2623 (WebCore::RenderBox::paintBoxDecorations):
2624 (WebCore::RenderBox::paintMask):
2625 * rendering/RenderFieldset.cpp:
2626 (WebCore::RenderFieldset::paintBoxDecorations):
2627 * rendering/RenderForeignObject.cpp:
2628 (WebCore::RenderForeignObject::paint):
2629 * rendering/RenderLayer.cpp:
2630 (WebCore::RenderLayer::paint):
2631 (WebCore::performOverlapTests):
2632 (WebCore::RenderLayer::paintLayer):
2633 (WebCore::RenderLayer::paintList):
2634 (WebCore::RenderLayer::paintPaginatedChildLayer):
2635 (WebCore::RenderLayer::paintChildLayerIntoColumns):
2636 * rendering/RenderLayer.h:
2637 * rendering/RenderLayerBacking.cpp:
2638 (WebCore::RenderLayerBacking::paintIntoLayer):
2639 * rendering/RenderLineBoxList.cpp:
2640 (WebCore::RenderLineBoxList::paint):
2641 * rendering/RenderLineBoxList.h:
2642 * rendering/RenderMediaControls.cpp:
2643 (WebCore::RenderMediaControls::paintMediaControlsPart):
2644 * rendering/RenderMediaControls.h:
2645 * rendering/RenderMediaControlsChromium.cpp:
2646 (WebCore::paintMediaMuteButton):
2647 (WebCore::paintMediaPlayButton):
2648 (WebCore::paintMediaSlider):
2649 (WebCore::paintMediaSliderThumb):
2650 (WebCore::paintMediaVolumeSlider):
2651 (WebCore::paintMediaVolumeSliderThumb):
2652 (WebCore::paintMediaTimelineContainer):
2653 (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2654 * rendering/RenderMediaControlsChromium.h:
2655 * rendering/RenderObject.h:
2656 * rendering/RenderPath.cpp:
2657 (WebCore::RenderPath::paint):
2658 * rendering/RenderReplaced.cpp:
2659 (WebCore::RenderReplaced::paint):
2660 (WebCore::RenderReplaced::shouldPaint):
2661 * rendering/RenderSVGContainer.cpp:
2662 (WebCore::RenderSVGContainer::paint):
2663 * rendering/RenderSVGResourceMarker.cpp:
2664 (WebCore::RenderSVGResourceMarker::draw):
2665 * rendering/RenderSVGResourceMarker.h:
2666 * rendering/RenderSVGRoot.cpp:
2667 (WebCore::RenderSVGRoot::paint):
2668 * rendering/RenderSVGText.cpp:
2669 (WebCore::RenderSVGText::paint):
2670 * rendering/RenderScrollbarPart.cpp:
2671 (WebCore::RenderScrollbarPart::paintIntoRect):
2672 * rendering/RenderTable.cpp:
2673 (WebCore::RenderTable::paintObject):
2674 (WebCore::RenderTable::paintBoxDecorations):
2675 * rendering/RenderTableCell.cpp:
2676 (WebCore::RenderTableCell::paint):
2677 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2678 (WebCore::RenderTableCell::paintBoxDecorations):
2679 * rendering/RenderTheme.cpp:
2680 (WebCore::RenderTheme::paint):
2681 (WebCore::RenderTheme::paintBorderOnly):
2682 (WebCore::RenderTheme::paintDecorations):
2683 (WebCore::RenderTheme::paintMeter):
2684 * rendering/RenderTheme.h:
2685 (WebCore::RenderTheme::paintCapsLockIndicator):
2686 (WebCore::RenderTheme::paintCheckbox):
2687 (WebCore::RenderTheme::paintRadio):
2688 (WebCore::RenderTheme::paintButton):
2689 (WebCore::RenderTheme::paintInnerSpinButton):
2690 (WebCore::RenderTheme::paintOuterSpinButton):
2691 (WebCore::RenderTheme::paintTextField):
2692 (WebCore::RenderTheme::paintTextArea):
2693 (WebCore::RenderTheme::paintMenuList):
2694 (WebCore::RenderTheme::paintMenuListButton):
2695 (WebCore::RenderTheme::paintProgressBar):
2696 (WebCore::RenderTheme::paintSliderTrack):
2697 (WebCore::RenderTheme::paintSliderThumb):
2698 (WebCore::RenderTheme::paintSearchField):
2699 (WebCore::RenderTheme::paintSearchFieldCancelButton):
2700 (WebCore::RenderTheme::paintSearchFieldDecoration):
2701 (WebCore::RenderTheme::paintSearchFieldResultsDecoration):
2702 (WebCore::RenderTheme::paintSearchFieldResultsButton):
2703 (WebCore::RenderTheme::paintMediaFullscreenButton):
2704 (WebCore::RenderTheme::paintMediaPlayButton):
2705 (WebCore::RenderTheme::paintMediaMuteButton):
2706 (WebCore::RenderTheme::paintMediaSeekBackButton):
2707 (WebCore::RenderTheme::paintMediaSeekForwardButton):
2708 (WebCore::RenderTheme::paintMediaSliderTrack):
2709 (WebCore::RenderTheme::paintMediaSliderThumb):
2710 (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
2711 (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
2712 (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
2713 (WebCore::RenderTheme::paintMediaRewindButton):
2714 (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
2715 (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
2716 (WebCore::RenderTheme::paintMediaControlsBackground):
2717 (WebCore::RenderTheme::paintMediaCurrentTime):
2718 (WebCore::RenderTheme::paintMediaTimeRemaining):
2719 * rendering/RenderThemeChromiumMac.h:
2720 * rendering/RenderThemeChromiumMac.mm:
2721 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
2722 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
2723 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
2724 (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
2725 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
2726 (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
2727 * rendering/RenderThemeChromiumSkia.cpp:
2728 (WebCore::RenderThemeChromiumSkia::paintCheckbox):
2729 (WebCore::RenderThemeChromiumSkia::paintRadio):
2730 (WebCore::paintButtonLike):
2731 (WebCore::RenderThemeChromiumSkia::paintButton):
2732 (WebCore::RenderThemeChromiumSkia::paintTextField):
2733 (WebCore::RenderThemeChromiumSkia::paintTextArea):
2734 (WebCore::RenderThemeChromiumSkia::paintSearchField):
2735 (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2736 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2737 (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2738 (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground):
2739 (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
2740 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack):
2741 (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb):
2742 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb):
2743 (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
2744 (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
2745 (WebCore::RenderThemeChromiumSkia::paintMenuList):
2746 (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
2747 (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
2748 (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
2749 (WebCore::RenderThemeChromiumSkia::paintProgressBar):
2750 * rendering/RenderThemeChromiumSkia.h:
2751 * rendering/RenderThemeChromiumWin.cpp:
2752 (WebCore::RenderThemeChromiumWin::paintCheckbox):
2753 (WebCore::RenderThemeChromiumWin::paintRadio):
2754 (WebCore::RenderThemeChromiumWin::paintButton):
2755 (WebCore::RenderThemeChromiumWin::paintTextField):
2756 (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2757 (WebCore::RenderThemeChromiumWin::paintSliderThumb):
2758 (WebCore::RenderThemeChromiumWin::paintMenuList):
2759 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2760 (WebCore::RenderThemeChromiumWin::paintProgressBar):
2761 * rendering/RenderThemeChromiumWin.h:
2762 * rendering/RenderThemeMac.h:
2763 * rendering/RenderThemeMac.mm:
2764 (WebCore::RenderThemeMac::paintTextField):
2765 (WebCore::RenderThemeMac::paintCapsLockIndicator):
2766 (WebCore::RenderThemeMac::paintTextArea):
2767 (WebCore::RenderThemeMac::paintMenuList):
2768 (WebCore::RenderThemeMac::paintMeter):
2769 (WebCore::RenderThemeMac::paintProgressBar):
2770 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2771 (WebCore::RenderThemeMac::paintMenuListButton):
2772 (WebCore::RenderThemeMac::paintSliderTrack):
2773 (WebCore::RenderThemeMac::paintSliderThumb):
2774 (WebCore::RenderThemeMac::paintSearchField):
2775 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2776 (WebCore::RenderThemeMac::paintSearchFieldDecoration):
2777 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2778 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2779 (WebCore::getUnzoomedRectAndAdjustCurrentContext):
2780 (WebCore::RenderThemeMac::paintMediaFullscreenButton):
2781 (WebCore::RenderThemeMac::paintMediaMuteButton):
2782 (WebCore::RenderThemeMac::paintMediaPlayButton):
2783 (WebCore::RenderThemeMac::paintMediaSeekBackButton):
2784 (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
2785 (WebCore::RenderThemeMac::paintMediaSliderTrack):
2786 (WebCore::RenderThemeMac::paintMediaSliderThumb):
2787 (WebCore::RenderThemeMac::paintMediaRewindButton):
2788 (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2789 (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
2790 (WebCore::RenderThemeMac::paintMediaControlsBackground):
2791 (WebCore::RenderThemeMac::paintMediaCurrentTime):
2792 (WebCore::RenderThemeMac::paintMediaTimeRemaining):
2793 * rendering/RenderThemeSafari.cpp:
2794 (WebCore::RenderThemeSafari::paintCheckbox):
2795 (WebCore::RenderThemeSafari::paintRadio):
2796 (WebCore::RenderThemeSafari::paintButton):
2797 (WebCore::RenderThemeSafari::paintTextField):
2798 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
2799 (WebCore::RenderThemeSafari::paintTextArea):
2800 (WebCore::RenderThemeSafari::paintMenuList):
2801 (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
2802 (WebCore::RenderThemeSafari::paintMenuListButton):
2803 (WebCore::RenderThemeSafari::paintSliderTrack):
2804 (WebCore::RenderThemeSafari::paintSliderThumb):
2805 (WebCore::RenderThemeSafari::paintSearchField):
2806 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
2807 (WebCore::RenderThemeSafari::paintSearchFieldDecoration):
2808 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
2809 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
2810 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
2811 (WebCore::RenderThemeSafari::paintMediaMuteButton):
2812 (WebCore::RenderThemeSafari::paintMediaPlayButton):
2813 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
2814 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
2815 (WebCore::RenderThemeSafari::paintMediaSliderTrack):
2816 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
2817 * rendering/RenderThemeSafari.h:
2818 * rendering/RenderThemeWin.cpp:
2819 (WebCore::RenderThemeWin::paintButton):
2820 (WebCore::RenderThemeWin::paintTextField):
2821 (WebCore::RenderThemeWin::paintMenuList):
2822 (WebCore::RenderThemeWin::paintMenuListButton):
2823 (WebCore::RenderThemeWin::paintSliderTrack):
2824 (WebCore::RenderThemeWin::paintSliderThumb):
2825 (WebCore::RenderThemeWin::paintSearchField):
2826 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
2827 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
2828 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
2829 (WebCore::RenderThemeWin::paintMediaFullscreenButton):
2830 (WebCore::RenderThemeWin::paintMediaMuteButton):
2831 (WebCore::RenderThemeWin::paintMediaPlayButton):
2832 (WebCore::RenderThemeWin::paintMediaSeekBackButton):
2833 (WebCore::RenderThemeWin::paintMediaSeekForwardButton):
2834 (WebCore::RenderThemeWin::paintMediaSliderTrack):
2835 (WebCore::RenderThemeWin::paintMediaSliderThumb):
2836 (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
2837 * rendering/RenderThemeWin.h:
2838 (WebCore::RenderThemeWin::paintCheckbox):
2839 (WebCore::RenderThemeWin::paintRadio):
2840 (WebCore::RenderThemeWin::paintTextArea):
2841 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
2842 * rendering/RenderThemeWince.cpp:
2843 (WebCore::RenderThemeWince::paintButton):
2844 (WebCore::RenderThemeWince::paintTextField):
2845 (WebCore::RenderThemeWince::paintMenuList):
2846 (WebCore::RenderThemeWince::paintMenuListButton):
2847 (WebCore::RenderThemeWince::paintSearchField):
2848 (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
2849 (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration):
2850 (WebCore::RenderThemeWince::paintSearchFieldResultsButton):
2851 (WebCore::RenderThemeWince::paintSliderTrack):
2852 (WebCore::RenderThemeWince::paintSliderThumb):
2853 (WebCore::RenderThemeWince::paintMediaFullscreenButton):
2854 (WebCore::RenderThemeWince::paintMediaMuteButton):
2855 (WebCore::RenderThemeWince::paintMediaPlayButton):
2856 (WebCore::RenderThemeWince::paintMediaSeekBackButton):
2857 (WebCore::RenderThemeWince::paintMediaSeekForwardButton):
2858 (WebCore::RenderThemeWince::paintMediaSliderTrack):
2859 (WebCore::RenderThemeWince::paintMediaSliderThumb):
2860 * rendering/RenderThemeWince.h:
2861 (WebCore::RenderThemeWince::paintCheckbox):
2862 (WebCore::RenderThemeWince::paintRadio):
2863 (WebCore::RenderThemeWince::paintTextArea):
2864 (WebCore::RenderThemeWince::paintSearchFieldDecoration):
2865 * rendering/RootInlineBox.cpp:
2866 (WebCore::RootInlineBox::paintEllipsisBox):
2867 (WebCore::RootInlineBox::paintCustomHighlight):
2868 (WebCore::RootInlineBox::paint):
2869 (WebCore::RootInlineBox::fillLineSelectionGap):
2870 * rendering/RootInlineBox.h:
2871 * rendering/SVGInlineFlowBox.cpp:
2872 (WebCore::SVGInlineFlowBox::paint):
2873 * rendering/SVGInlineFlowBox.h:
2874 * rendering/SVGInlineTextBox.cpp:
2875 (WebCore::SVGInlineTextBox::paint):
2876 * rendering/SVGInlineTextBox.h:
2877 * rendering/SVGMarkerLayoutInfo.cpp:
2878 (WebCore::SVGMarkerLayoutInfo::drawMarkers):
2879 * rendering/SVGMarkerLayoutInfo.h:
2880 * rendering/SVGRenderSupport.cpp:
2881 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2882 (WebCore::SVGRenderBase::finishRenderSVGContent):
2883 (WebCore::renderSubtreeToImage):
2884 * rendering/SVGRenderSupport.h:
2885 * rendering/SVGRootInlineBox.cpp:
2886 (WebCore::SVGRootInlineBox::paint):
2887 * rendering/SVGRootInlineBox.h:
2889 2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
2891 Not reviewed. Sort Xcode project file.
2893 * WebCore.xcodeproj/project.pbxproj:
2895 2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
2897 Reviewed by Dirk Schulze.
2899 Provide floating-point support for text selection framework
2900 https://bugs.webkit.org/show_bug.cgi?id=40665
2902 Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request.
2903 Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule.
2905 No functional changes, thus no new tests.
2907 * platform/graphics/TextRun.h:
2908 (WebCore::TextRun::TextRun):
2909 (WebCore::TextRun::horizontalGlyphStretch):
2910 (WebCore::TextRun::setHorizontalGlyphStretch):
2911 (WebCore::TextRun::spacingDisabled):
2912 * platform/graphics/WidthIterator.cpp:
2913 (WebCore::WidthIterator::advance):
2914 * rendering/SVGInlineTextBox.cpp:
2915 (WebCore::SVGInlineTextBox::offsetForPosition):
2917 2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com>
2919 Reviewed by Dirk Schulze.
2921 REGRESSION: text-shadow CSS applied to SVG no longer works
2922 https://bugs.webkit.org/show_bug.cgi?id=40960
2924 Readd text-shadow support, this time supporting multiple shadows.
2925 It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference.
2927 Tests: svg/css/text-shadow-multiple.xhtml
2929 * rendering/InlineTextBox.cpp:
2930 (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse.
2931 (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function.
2932 * rendering/InlineTextBox.h:
2933 * rendering/SVGInlineTextBox.cpp:
2934 (WebCore::SVGInlineTextBox::paintTextWithShadows): Added.
2935 (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text.
2936 * rendering/SVGInlineTextBox.h:
2938 2010-06-29 Pavel Podivilov <podivilov@chromium.org>
2940 Reviewed by Yury Semikhatsky.
2942 Web Inspector: show actual breakpoint position in UI.
2943 When user sets breakpoint from UI, javascript engine may actually set
2944 it on a different line. If so, move breakpoint to the correct position
2946 https://bugs.webkit.org/show_bug.cgi?id=40781
2948 * bindings/js/ScriptDebugServer.cpp:
2949 (WebCore::ScriptDebugServer::setBreakpoint):
2950 (WebCore::ScriptDebugServer::dispatchDidPause):
2951 * bindings/js/ScriptDebugServer.h:
2952 * bindings/v8/ScriptDebugServer.cpp:
2953 (WebCore::ScriptDebugServer::setBreakpoint):
2954 (WebCore::ScriptDebugServer::currentCallFrame):
2955 * bindings/v8/ScriptDebugServer.h:
2956 * inspector/InspectorBackend.cpp:
2957 (WebCore::InspectorBackend::setBreakpoint):
2958 * inspector/InspectorBackend.h:
2959 * inspector/InspectorBackend.idl:
2960 * inspector/InspectorController.cpp:
2961 (WebCore::InspectorController::didCommitLoad):
2962 (WebCore::InspectorController::setBreakpoint):
2963 (WebCore::InspectorController::removeBreakpoint):
2964 (WebCore::InspectorController::didParseSource):
2965 * inspector/InspectorController.h:
2966 * inspector/InspectorFrontend.cpp:
2967 (WebCore::InspectorFrontend::didSetBreakpoint):
2968 * inspector/InspectorFrontend.h:
2969 * inspector/front-end/BreakpointManager.js:
2970 (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint):
2971 (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint):
2972 (WebInspector.BreakpointManager.prototype.setBreakpoint):
2973 (WebInspector.BreakpointManager.prototype.restoredBreakpoint):
2974 (WebInspector.BreakpointManager.prototype.removeBreakpoint):
2975 (WebInspector.BreakpointManager.prototype._setBreakpoint):
2976 (WebInspector.BreakpointManager.prototype._removeBreakpoint):
2977 (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint):
2978 (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend):
2979 (WebInspector.Breakpoint.prototype.set enabled):
2980 (WebInspector.Breakpoint.prototype.set condition):
2981 * inspector/front-end/InspectorBackendStub.js:
2982 (.WebInspector.InspectorBackendStub.prototype.setBreakpoint):
2983 * inspector/front-end/ScriptView.js:
2984 (WebInspector.ScriptView.prototype._addBreakpoint):
2985 * inspector/front-end/SourceView.js:
2986 (WebInspector.SourceView.prototype._addBreakpoint):
2988 2010-06-29 Dumitru Daniliuc <dumi@chromium.org>
2990 Reviewed by Adam Barth.
2992 Catch toString() exceptions in all DB-related code.
2993 https://bugs.webkit.org/show_bug.cgi?id=41297
2995 * bindings/v8/custom/V8BindingMacros.h:
2996 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2997 (WebCore::V8DOMWindow::openDatabaseCallback):
2998 * bindings/v8/custom/V8DatabaseCustom.cpp:
2999 (WebCore::V8Database::changeVersionCallback):
3000 * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
3001 (WebCore::V8DatabaseSync::changeVersionCallback):
3002 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3003 (WebCore::V8SQLTransaction::executeSqlCallback):
3004 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3005 (WebCore::V8SQLTransactionSync::executeSqlCallback):
3006 * bindings/v8/custom/V8WorkerContextCustom.cpp:
3007 (WebCore::V8WorkerContext::openDatabaseCallback):
3008 (WebCore::V8WorkerContext::openDatabaseSyncCallback):
3010 2010-06-29 Herczeg Zoltan <zherczeg@webkit.org>
3012 Rubber-stamped by Nikolas Zimmermann.
3015 https://bugs.webkit.org/show_bug.cgi?id=5861
3017 * svg/SVGFEConvolveMatrixElement.cpp:
3018 (WebCore::SVGFEConvolveMatrixElement::build):
3020 2010-06-29 Zoltan Herczeg <zherczeg@webkit.org>
3022 Reviewed by Nikolas Zimmermann.
3024 Add ConvolveMatrix SVG filter effect
3025 https://bugs.webkit.org/show_bug.cgi?id=5861
3027 The patch was originally started by Dirk Schulze,
3028 and the .cpp and .h files are mostly his work.
3029 I updated the build systems and do some minor updates
3030 to the source files as well. The patch does not contain
3031 the implementation of the filter: this is intended,
3032 and will be landed in a follow-up patch.
3034 * Android.derived.jscbindings.mk:
3035 * Android.derived.v8bindings.mk:
3038 * DerivedSources.cpp:
3039 * DerivedSources.make:
3044 * WebCore.vcproj/WebCore.vcproj:
3045 * WebCore.xcodeproj/project.pbxproj:
3046 * bindings/objc/DOM.mm:
3047 (WebCore::createElementClassMap):
3048 * bindings/objc/DOMSVG.h:
3049 * page/DOMWindow.idl:
3050 * svg/SVGAllInOne.cpp:
3051 * svg/SVGFEConvolveMatrixElement.cpp: Added.
3052 (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
3053 (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement):
3054 (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute):
3055 (WebCore::SVGFEConvolveMatrixElement::setOrder):
3056 (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength):
3057 (WebCore::SVGFEConvolveMatrixElement::build):
3058 * svg/SVGFEConvolveMatrixElement.h: Added.
3059 * svg/SVGFEConvolveMatrixElement.idl: Added.
3060 * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
3061 (WebCore::FEConvolveMatrix::FEConvolveMatrix):
3062 (WebCore::FEConvolveMatrix::create):
3063 (WebCore::FEConvolveMatrix::kernelSize):
3064 (WebCore::FEConvolveMatrix::setKernelSize):
3065 (WebCore::FEConvolveMatrix::targetOffset):
3066 (WebCore::FEConvolveMatrix::setTargetOffset):
3067 (WebCore::operator<<):
3068 (WebCore::FEConvolveMatrix::externalRepresentation):
3069 * svg/graphics/filters/SVGFEConvolveMatrix.h:
3074 2010-06-28 Adam Barth <abarth@webkit.org>
3076 Reviewed by Eric Seidel.
3078 HTML5 tree builder shouldn't ASSERT on HTML5lib test suite
3079 https://bugs.webkit.org/show_bug.cgi?id=41335
3081 Sketch out the EndTag handling for InBodyMode.
3083 * html/HTMLTreeBuilder.cpp:
3084 (WebCore::HTMLTreeBuilder::processEndTag):
3085 * html/HTMLTreeBuilder.h:
3086 (WebCore::HTMLTreeBuilder::ElementStack::inScope):
3087 (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker):
3088 (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
3090 2010-06-28 David Levin <levin@chromium.org>
3092 Reviewed by NOBODY (chromium build fix).
3094 * rendering/RenderObject.h: Add missing forward declaration.
3096 2010-06-28 Adam Barth <abarth@webkit.org>
3100 I accidently gave up my ref and tried to dereference a null pointer.
3101 This code is keeping an extra ref that it doesn't need, but that fact
3102 was somewhat hidden before.
3104 * dom/ContainerNode.cpp:
3105 (WebCore::ContainerNode::addChildCommon):
3106 (WebCore::ContainerNode::parserAddChild):
3107 (WebCore::ContainerNode::legacyParserAddChild):
3108 * dom/ContainerNode.h:
3110 2010-06-28 Adam Barth <abarth@webkit.org>
3114 Refactor common code into addChildCommon
3115 https://bugs.webkit.org/show_bug.cgi?id=41326
3117 Eric asked that we share the common code between these codepaths.
3119 * dom/ContainerNode.cpp:
3120 (WebCore::ContainerNode::addChildCommon):
3121 (WebCore::ContainerNode::parserAddChild):
3122 (WebCore::ContainerNode::addChild):
3123 * dom/ContainerNode.h:
3125 2010-06-28 Eric Seidel <eric@webkit.org>
3127 Reviewed by Adam Barth.
3129 Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
3130 https://bugs.webkit.org/show_bug.cgi?id=41319
3132 Restructure the code to not use in-band data, which is what
3133 got us in trouble with a signed/unsigned mismatch before.
3135 * html/HTMLTreeBuilder.cpp:
3136 (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
3137 (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
3138 * html/HTMLTreeBuilder.h:
3140 2010-06-28 Daniel Bates <dbates@rim.com>
3142 Unreviewed, attempt to fix Qt bots.
3144 Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079>
3145 (https://bugs.webkit.org/show_bug.cgi?id=41324).
3147 Rename some more call sites that were missed in the initial landing.
3149 * dom/XMLDocumentParserQt.cpp:
3150 (WebCore::XMLDocumentParser::parseStartElement):
3151 (WebCore::XMLDocumentParser::parseProcessingInstruction):
3152 (WebCore::XMLDocumentParser::parseCdata):
3153 (WebCore::XMLDocumentParser::parseComment):
3154 (WebCore::XMLDocumentParser::parseDtd):
3156 2010-06-28 Daniel Bates <dbates@rim.com>
3158 Unreviewed, build fix.
3160 Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements()
3161 from int to unsigned.
3163 Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077>
3164 (https://bugs.webkit.org/show_bug.cgi?id=41319).
3166 * html/HTMLTreeBuilder.cpp:
3167 (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker):
3168 (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
3169 * html/HTMLTreeBuilder.h:
3171 2010-06-28 Eric Seidel <eric@webkit.org>
3173 Reviewed by Adam Barth.
3175 Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use
3176 https://bugs.webkit.org/show_bug.cgi?id=41324
3178 A bunch of places in the code were calling ContainerNode::addChild.
3179 I don't think they actually want to be doing that, as it has special
3180 form-related handling which is part of LegacyHTMLTreeBuilder.
3182 No functional changes, thus no tests.
3184 * dom/ContainerNode.cpp:
3185 (WebCore::ContainerNode::legacyParserAddChild):
3186 * dom/ContainerNode.h:
3187 * dom/DOMImplementation.cpp:
3188 (WebCore::DOMImplementation::createDocument):
3190 (WebCore::Node::legacyParserAddChild):
3192 * html/HTMLKeygenElement.cpp:
3193 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
3194 * html/HTMLTableElement.cpp:
3195 (WebCore::HTMLTableElement::legacyParserAddChild):
3196 * html/HTMLTableElement.h:
3197 * html/HTMLTableRowElement.cpp:
3198 (WebCore::HTMLTableRowElement::legacyParserAddChild):
3199 * html/HTMLTableRowElement.h:
3200 * html/HTMLTableSectionElement.cpp:
3201 (WebCore::HTMLTableSectionElement::legacyParserAddChild):
3202 * html/HTMLTableSectionElement.h:
3203 * html/HTMLViewSourceDocument.cpp:
3204 (WebCore::HTMLViewSourceDocument::createContainingTable):
3205 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3206 (WebCore::HTMLViewSourceDocument::addLine):
3207 (WebCore::HTMLViewSourceDocument::addText):
3208 (WebCore::HTMLViewSourceDocument::addLink):
3210 2010-06-28 Eric Seidel <eric@webkit.org>
3212 Reviewed by Adam Barth.
3214 Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements
3215 https://bugs.webkit.org/show_bug.cgi?id=41319
3217 This is basically a direct transcription of HTML5 TreeBuilder spec:
3218 http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements
3220 This code is covered by various tests in html5lib/runner which we
3221 can't run yet due to other asserts. Adam and I are working on
3222 getting rid of those ASSERTS so that this (and other code) will
3223 be better tested shortly.
3225 * html/HTMLTreeBuilder.cpp:
3226 (WebCore::HTMLTreeBuilder::insertFormatingElement):
3227 (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
3228 * html/HTMLTreeBuilder.h:
3229 (WebCore::HTMLTreeBuilder::ElementStack::contains):
3230 (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry):
3231 (WebCore::HTMLTreeBuilder::FormatingElementEntry::):
3232 (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker):
3233 (WebCore::HTMLTreeBuilder::FormatingElementEntry::element):
3234 (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement):
3236 2010-06-28 Adam Barth <abarth@webkit.org>
3238 Reviewed by Eric Seidel.
3240 Fix ASSERT so we can run more HTML5lib tests
3241 https://bugs.webkit.org/show_bug.cgi?id=41325
3243 We can't call Node::addChild because that function contains a bunch of
3244 logic from the old parser. Instead, this patch creates a new version
3245 of addChild that's does less validating (that's the tree builder's
3248 * dom/ContainerNode.cpp:
3249 (WebCore::ContainerNode::parserAddChild):
3250 * dom/ContainerNode.h:
3252 (WebCore::Node::parserAddChild):
3254 * html/HTMLTreeBuilder.h:
3255 (WebCore::HTMLTreeBuilder::attach):
3257 2010-06-28 David Levin <levin@chromium.org>
3259 Reviewed by NOBODY (chromium build fix).
3261 * bindings/v8/ScriptEventListener.h: Changed forward declaration
3262 to correspond to the code change doing in r62052.
3264 2010-06-28 Brady Eidson <beidson@apple.com>
3266 Reviewed by Alexey Proskuryakov.
3268 Support for https://bugs.webkit.org/show_bug.cgi?id=40484
3270 In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their
3271 original Node* was, even if it was a window event listener.
3273 For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that
3274 took a Frame* argument and didn't set the original Node* on the JSLazyEventListener.
3276 This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along
3277 for later use by the beforeProcess mechanism.
3279 No new tests. (No change in behavior)
3281 * bindings/js/ScriptEventListener.cpp:
3282 (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
3283 of a Frame*, and figures out the Frame* itself internally.
3284 * bindings/js/ScriptEventListener.h:
3286 * bindings/v8/ScriptEventListener.cpp:
3287 (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead
3288 of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to
3289 pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed.
3290 * bindings/v8/ScriptEventListener.h:
3292 * html/HTMLBodyElement.cpp:
3293 (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead.
3294 * html/HTMLFrameSetElement.cpp:
3295 (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto.
3296 * svg/SVGSVGElement.cpp:
3297 (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves
3300 2010-06-28 John Gregg <johnnyg@google.com>
3302 Reviewed by Kent Tamura.
3304 add ENABLE_DIRECTORY_UPLOAD build support
3305 https://bugs.webkit.org/show_bug.cgi?id=41100
3307 * Configurations/FeatureDefines.xcconfig:
3311 2010-06-28 Adam Barth <abarth@webkit.org>
3313 Reviewed by Eric Seidel.
3315 Don't use the new tree builder for fragments
3316 https://bugs.webkit.org/show_bug.cgi?id=41316
3318 We need to walk before we can run. After this change, we can run the
3319 runner.html tests (with the ASSERT caveat).
3321 * html/HTMLTreeBuilder.cpp:
3322 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3324 2010-06-28 Adam Barth <abarth@webkit.org>
3326 Reviewed by Eric Seidel.
3328 The new tree builder should actually finish building the tree
3329 https://bugs.webkit.org/show_bug.cgi?id=41314
3331 Again, this patch makes progress on runner.html, but I haven't removed
3334 * html/HTMLTreeBuilder.cpp:
3335 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3336 (WebCore::HTMLTreeBuilder::finished):
3337 * html/HTMLTreeBuilder.h:
3339 2010-06-28 Dumitru Daniliuc <dumi@chromium.org>
3341 Reviewed by Eric Seidel.
3343 Fix a race condition that can happen when using DBs in workers.
3344 https://bugs.webkit.org/show_bug.cgi?id=41105
3346 * storage/DatabaseTracker.cpp:
3347 (WebCore::DatabaseTracker::addOpenDatabase):
3348 * storage/DatabaseTracker.h:
3350 2010-06-28 Adam Barth <abarth@webkit.org>
3352 Reviewed by Eric Seidel.
3354 Add text nodes to the DOM
3355 https://bugs.webkit.org/show_bug.cgi?id=41306
3357 Actually add some text nodes to the DOM when parsing a document. We're
3358 going to need to do something fancier here eventually, but this gets us
3359 past the error we're seeing currently in runner.html.
3361 Unfortunately, this patch "regresses" runner.html in the sense that we
3362 now hit an assert, but it's still an improvement... I'll update the
3363 HTML5 expectations once we get past the assert.
3365 * html/HTMLTreeBuilder.cpp:
3366 (WebCore::HTMLTreeBuilder::processCharacter):
3367 (WebCore::HTMLTreeBuilder::insertTextNode):
3368 * html/HTMLTreeBuilder.h:
3370 2010-06-28 Beth Dakin <bdakin@apple.com>
3372 Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms.
3374 * rendering/RenderBoxModelObject.cpp:
3376 2010-06-28 Andreas Kling <andreas.kling@nokia.com>
3378 Reviewed by Kenneth Rohde Christiansen.
3380 [Qt] Use HTML5-conformant gradient interpolation mode
3381 https://bugs.webkit.org/show_bug.cgi?id=41298
3383 Change the Qt Gradient implementation to use ComponentInterpolation mode.
3386 http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles
3388 * platform/graphics/qt/GradientQt.cpp:
3389 (WebCore::Gradient::platformGradient):
3391 2010-06-28 Beth Dakin <bdakin@apple.com>
3393 Reviewed by Sam Weinig.
3395 Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders
3396 with border-radius and double, groove, or ridge styles should look
3399 This patch re-works border radius painting to stroke paths instead
3402 Added new function clipConvexPolygon(). Added static
3403 addConvexPolygonToContext so that code can be shared between
3404 drawConvexPolygon() and clipConvexPolygon().
3405 * platform/graphics/GraphicsContext.h:
3406 * platform/graphics/cg/GraphicsContextCG.cpp:
3407 (WebCore::addConvexPolygonToContext):
3408 (WebCore::GraphicsContext::drawConvexPolygon):
3409 (WebCore::GraphicsContext::clipConvexPolygon):
3411 Shells of implementations on non-CG platforms.
3412 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3413 (WebCore::GraphicsContext::clipConvexPolygon):
3414 * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3415 (WebCore::GraphicsContext::clipConvexPolygon):
3416 * platform/graphics/qt/GraphicsContextQt.cpp:
3417 (WebCore::GraphicsContext::clipConvexPolygon):
3418 * platform/graphics/skia/GraphicsContextSkia.cpp:
3419 (WebCore::GraphicsContext::clipConvexPolygon):
3420 * platform/graphics/wince/GraphicsContextWince.cpp:
3421 (WebCore::GraphicsContext::clipConvexPolygon):
3422 * platform/graphics/wx/GraphicsContextWx.cpp:
3423 (WebCore::GraphicsContext::clipConvexPolygon):
3425 This new helper function determines if the inner corners of the
3426 border will arch in or meet at a right angle.
3427 * rendering/RenderBoxModelObject.cpp:
3428 (WebCore::borderWillArcInnerEdge):
3430 This function is re-written so that, for each side of the border,
3431 if borderWillArcInnerEdge() is true, we go down a brand new code
3432 path of clipping to a convex polygon for the border side and then
3433 we paint the side using the new function drawBoxSideFromPath(). If
3434 borderWillArcInnerEdge() is false, then we call into the old
3435 familiar drawLineForBoxSide() which relies on the rounder clip
3436 rects we have set up to arch the outer edge of the border.
3437 (WebCore::RenderBoxModelObject::paintBorder):
3439 This new function does the math to figure out the convex polygon
3440 to clip to in the case where we need to arch the inner edge of the
3441 border. This calls into a new GraphicsContext function that is only
3442 implemented on CG at this time. This is the reason we are keeping
3443 around an old version of paintBorder() for now.
3444 (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
3445 * rendering/RenderBoxModelObject.h:
3447 borderInnerRect() is a new convenience function called from
3448 RenderObject and RenderBoxModelObject to determine the rect of the
3449 inside edge of the border.
3450 * rendering/RenderObject.cpp:
3451 (WebCore::RenderObject::borderInnerRect):
3453 This new function re-works drawArcForBoxSide to draw from Paths
3454 when appropriate instead of stroking arcs.
3455 (WebCore::RenderObject::drawBoxSideFromPath):
3457 Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until
3458 GraphicsContext::clipConvexPolygon() is implemented.
3459 (WebCore::RenderObject::drawArcForBoxSide):
3460 * rendering/RenderObject.h:
3463 RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the
3464 inner radius values for a rect. It takes border widths a parameters
3465 rather than using the style's border widths so that it can be used
3466 in inner radius calculations for double and groove/ridge
3467 calculations. The W3C corner constraining rules were moved to a
3468 static function that can be called from both getBorderRadiiForRect
3469 () and getInnerBorderRadiiForRectWithBorderWidths().
3470 * rendering/style/RenderStyle.cpp:
3471 (WebCore::constrainCornerRadiiForRect):
3472 (WebCore::RenderStyle::getBorderRadiiForRect):
3473 (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
3474 * rendering/style/RenderStyle.h:
3476 2010-06-28 Martin Robinson <mrobinson@igalia.com>
3478 Reviewed by Xan Lopez.
3480 [GTK] Add support for the progress bar tag
3481 https://bugs.webkit.org/show_bug.cgi?id=41014
3483 Add support for rendering the progress tag for WebKit GTK+.
3486 * platform/gtk/RenderThemeGtk.cpp:
3487 (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
3488 Added. Currently progress bar animations are disabled. As it looks like
3489 there may not be a good way to support this with Mozilla's theme drawing code.
3490 (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
3491 (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added.
3492 (WebCore::RenderThemeGtk::paintProgressBar): Added.
3493 * platform/gtk/RenderThemeGtk.h: Add declarations for new methods.
3494 * platform/gtk/gtk2drawing.c:
3495 (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly.
3496 * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget.
3498 2010-06-28 Adam Barth <abarth@webkit.org>
3500 Reviewed by Eric Seidel.
3502 HTML5 Regression: Crash in insert()
3503 https://bugs.webkit.org/show_bug.cgi?id=41281
3505 We need to call endIfDelayed() outside of the script nesting block
3506 because endIfDelayed() might call end(), which deletes the
3507 HTMLDocumentParser. If we try to exit the script nesting block after
3508 the HTMLDocumentParser has been deleted, we'll decrement unallocated
3509 memory, which is bad times.
3511 Moving endIfDelayed outside of the script nesting block also lets us
3512 avoid ending if inWrite() is true. If we're inWrite(), then there's
3513 folks above us on the stack who will crash of the HTMLDocumentParser is
3514 deallocated. Adding this check matches the LegacyHTMLDocumentParser
3515 and the logic in attemptToEnd, facilitating a small refactoring of the
3516 common logic for improved readability.
3518 I don't know of any test case that changes in behavior because of this
3519 patch, but this bug exists on the same line of code that the reliablity
3520 tests crashed. I'm not sure whether this patch will fix that crash,
3521 but removing bugs (even theoretical ones) seems like a good idea.
3523 * html/HTMLDocumentParser.cpp:
3524 (WebCore::HTMLDocumentParser::insert):
3525 (WebCore::HTMLDocumentParser::append):
3526 (WebCore::HTMLDocumentParser::attemptToEnd):
3527 (WebCore::HTMLDocumentParser::endIfDelayed):
3528 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3529 * html/HTMLDocumentParser.h:
3530 (WebCore::HTMLDocumentParser::shouldDelayEnd):
3532 2010-06-28 Eric Carlson <eric.carlson@apple.com>
3534 Reviewed by Sam Weinig.
3536 MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types
3537 https://bugs.webkit.org/show_bug.cgi?id=41287
3538 <rdar://problem/8137402>
3540 No new test because getSupportedTypes is used privately by MediaPlayer.
3542 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3543 (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and
3546 2010-06-28 James Robinson <jamesr@chromium.org>
3548 Reviewed by Darin Adler.
3550 REGRESSION(53790): Neopets page with mismatched elements misrenders
3551 https://bugs.webkit.org/show_bug.cgi?id=41181
3553 Misnested formatting tags require fixup in order to create a valid DOM. Because this takes
3554 O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit
3555 of 5 to this algorithm to avoid hangs. This limit is too low for neopets, but a limit of
3556 7 is sufficient. This raises the limit to 10 to have a bit of breathing room. HTML5
3557 defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency
3558 but doesn't specify any particular iteration limit.
3560 * html/LegacyHTMLTreeBuilder.cpp:
3562 2010-06-28 Adam Barth <abarth@webkit.org>
3564 Reviewed by Eric Seidel.
3566 The new tree builder needs to call attach() on elements it attaches to
3568 https://bugs.webkit.org/show_bug.cgi?id=41293
3570 Apparently Nodes expect to have their attach() method called when they
3571 are attached to the DOM. The new tree builder is happy to oblige.
3572 Making this call requires some fancy footwork with RefPtr/PassRefPtr to
3573 avoid extra ref churn while keeping each function small.
3575 * html/HTMLTreeBuilder.cpp:
3576 (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
3577 (WebCore::HTMLTreeBuilder::processCharacter):
3578 (WebCore::HTMLTreeBuilder::insertDoctype):
3579 (WebCore::HTMLTreeBuilder::insertComment):
3580 (WebCore::HTMLTreeBuilder::insertCommentOnDocument):
3581 (WebCore::HTMLTreeBuilder::insertElement):
3582 (WebCore::HTMLTreeBuilder::insertSelfClosingElement):
3583 (WebCore::HTMLTreeBuilder::insertScriptElement):
3584 * html/HTMLTreeBuilder.h:
3585 (WebCore::HTMLTreeBuilder::attach):
3587 2010-06-28 Xan Lopez <xlopez@igalia.com>
3593 2010-06-28 Kenneth Russell <kbr@google.com>
3595 Reviewed by Dimitri Glazkov.
3597 Index validation caches buffer size information too aggressively
3598 https://bugs.webkit.org/show_bug.cgi?id=41092
3600 Test: fast/canvas/webgl/index-validation-with-resized-buffer.html
3602 * html/canvas/WebGLRenderingContext.cpp:
3603 (WebCore::WebGLRenderingContext::validateRenderingState):
3604 - Compute the number of valid elements each time based on the latched buffer.
3605 (WebCore::WebGLRenderingContext::vertexAttribPointer):
3606 - Do not cache the buffer size, only the attributes used to
3607 compute the number of required elements.
3608 * html/canvas/WebGLRenderingContext.h:
3609 (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
3612 2010-06-28 Andreas Kling <andreas.kling@nokia.com>
3614 Reviewed by Simon Hausmann.
3616 [Qt] Replace single treat-as-space characters with normal space
3617 https://bugs.webkit.org/show_bug.cgi?id=41278
3619 This keeps Qt from attempting glyph substitution and loading a bunch
3620 of extra fonts when encountering entities.
3622 * platform/graphics/qt/FontQt.cpp:
3623 (WebCore::Font::floatWidthForComplexText):
3625 2010-06-28 Robin Cao <robin.cao@torchmobile.com.cn>
3627 Reviewed by Dan Bernstein.
3629 canvas fillText with @font-face crashes
3630 https://bugs.webkit.org/show_bug.cgi?id=35486
3632 The font object in CanvasRenderingContext2D may become invalid at some point.
3633 Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed.
3635 A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html
3637 * html/HTMLCanvasElement.cpp:
3638 (WebCore::HTMLCanvasElement::recalcStyle):
3639 * html/HTMLCanvasElement.h:
3640 * html/canvas/CanvasRenderingContext2D.cpp:
3641 (WebCore::CanvasRenderingContext2D::updateFont):
3642 * html/canvas/CanvasRenderingContext2D.h:
3644 2010-06-28 Lucas De Marchi <lucas.demarchi@profusion.mobi>
3646 Unreviewed build fix.