1 2011-02-24 Zan Dobersek <zandobersek@gmail.com>
3 Reviewed by Eric Seidel.
5 [gtk] Failing collinear arcTo canvas tests
6 https://bugs.webkit.org/show_bug.cgi?id=54658
8 Check for collinearity of the three points that affect how arcTo call
9 results. This behavior is in accordance with the HTML standard.
11 No new tests added as this is already covered by at least two tests.
13 * platform/graphics/cairo/PathCairo.cpp:
14 (WebCore::areaOfTriangleFormedByPoints):
15 (WebCore::Path::addArcTo):
17 2011-02-24 Ilya Tikhonovsky <loislo@chromium.org>
19 Reviewed by Pavel Feldman.
21 Web Inspector: There is a validator of the protocol message format.
23 It has two parts. InspectorBackendStub.js is the frontend part.
24 InspectorBackendDispatcher.cpp is the backend part.
25 Both parts are checking protocol message format and report the error if
26 the message has not enough fields or the types of fields do not match with
27 Inspector.idl specification. These validators are generated automatically.
29 In addition, we have a number of places at the backend where we check the
30 function arguments and do nothing if the arguments are invalid
31 from the business logic point of view.
33 This patch bring us an ability to report a custom error from such function to the frontend.
35 https://bugs.webkit.org/show_bug.cgi?id=54971
37 * inspector/CodeGeneratorInspector.pm:
38 * inspector/InjectedScriptHost.cpp:
39 * inspector/InspectorAgent.cpp:
40 * inspector/InspectorAgent.h:
41 * inspector/InspectorApplicationCacheAgent.cpp:
42 * inspector/InspectorApplicationCacheAgent.h:
43 * inspector/InspectorBrowserDebuggerAgent.cpp:
44 * inspector/InspectorBrowserDebuggerAgent.h:
45 * inspector/InspectorCSSAgent.cpp:
46 * inspector/InspectorCSSAgent.h:
47 * inspector/InspectorConsoleAgent.cpp:
48 * inspector/InspectorConsoleAgent.h:
49 * inspector/InspectorController.cpp:
50 * inspector/InspectorDOMAgent.cpp:
51 * inspector/InspectorDOMAgent.h:
52 * inspector/InspectorDOMStorageAgent.cpp:
53 * inspector/InspectorDOMStorageAgent.h:
54 * inspector/InspectorDatabaseAgent.cpp:
55 * inspector/InspectorDatabaseAgent.h:
56 * inspector/InspectorDebuggerAgent.cpp:
57 * inspector/InspectorDebuggerAgent.h:
58 * inspector/InspectorProfilerAgent.cpp:
59 * inspector/InspectorProfilerAgent.h:
60 * inspector/InspectorResourceAgent.cpp:
61 * inspector/InspectorResourceAgent.h:
62 * inspector/InspectorRuntimeAgent.cpp:
63 * inspector/InspectorRuntimeAgent.h:
64 * inspector/InspectorTimelineAgent.cpp:
65 * inspector/InspectorTimelineAgent.h:
67 2011-02-24 Ryosuke Niwa <rniwa@webkit.org>
69 Reviewed by Ojan Vafai.
71 Crash when deleting inside a blockquote with a large offset
72 https://bugs.webkit.org/show_bug.cgi?id=55098
74 The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
75 While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
76 breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
77 the downstream position to instantiate caretPos.
79 Co-author: Abhishek Arya <inferno@chromium.org>.
81 Test: editing/deleting/delete-blockquote-large-offsets.html
83 * editing/CompositeEditCommand.cpp:
84 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
86 2011-02-24 Robert Kroeger <rjkroege@chromium.org>
88 Reviewed by Darin Fisher.
90 Added timestamps to PlatformTouchEvent etc.
92 PlatformTouchEvent doesn't have a timestamp and so
93 eventSender.leapForward cannot be used for touchevent based tests.
94 This change adds a timestamp to PlatformTouchEvent and initializes
95 it in a reasonable manner on Android and Qt platforms.
97 [chromium] [WebCore] [android] Touch events are missing time stamps
98 https://bugs.webkit.org/show_bug.cgi?id=53510
100 * platform/PlatformTouchEvent.h:
101 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
102 (WebCore::PlatformTouchEvent::timestamp):
103 * platform/android/PlatformTouchEventAndroid.cpp:
104 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
105 * platform/qt/PlatformTouchEventQt.cpp:
106 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
108 2011-02-24 Renata Hodovan <reni@webkit.org>
110 Unreviewed GTK, Snow Leopard build fix for r79474.
112 * platform/graphics/filters/FEConvolveMatrix.cpp:
113 (WebCore::FEConvolveMatrix::setKernelUnitLength):
114 * platform/graphics/filters/FEConvolveMatrix.h:
116 2011-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
118 Reviewed by Xan Lopez.
120 Use IntRect instead of a pointer to a GtkAllocation struct to avoid
121 unnecessary memory allocations.
123 * plugins/PluginView.h:
124 * plugins/gtk/PluginViewGtk.cpp:
125 (WebCore::PluginView::setNPWindowIfNeeded):
126 (WebCore::PluginView::plugAddedCallback):
128 2011-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
130 Unreviewed. Fix the build with GTK+ 3.
132 * plugins/PluginView.h:
134 2011-02-23 Ryosuke Niwa <rniwa@webkit.org>
136 Reviewed by Darin Adler.
138 Refactor HTMLEquivalent into a hierachy of classes
139 https://bugs.webkit.org/show_bug.cgi?id=55025
141 Converted HTMLEquivalent into a class. Some logic in removeImplicitlyStyledElement is
142 extracted as member functions of HTMLEquivalent and its subclasses.
144 * editing/ApplyStyleCommand.cpp:
145 (WebCore::HTMLEquivalent::create): Added.
146 (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
147 (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
148 the element's implicit style affects the property of this equivalence.
149 (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
150 e.g. color, size, dir.
151 (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
152 exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
153 this function returns true if the specified style has font-size property set.
154 (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
155 (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
156 implicit style of the specified element of this equivalence.
157 (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
158 to the specified mutable style.
159 (WebCore::HTMLEquivalentValueList::create): Added.
160 (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
161 (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
162 (WebCore::HTMLEquivalentAttribute::create): Added.
163 (WebCore::HTMLEquivalentAttribute::matches): Added.
164 (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
165 (WebCore::HTMLEquivalentAttribute::attributeName): Added.
166 (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
167 (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
168 (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
169 (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
170 (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
171 (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
172 (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
173 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
175 2011-02-23 Sheriff Bot <webkit.review.bot@gmail.com>
177 Unreviewed, rolling out r79510.
178 http://trac.webkit.org/changeset/79510
179 https://bugs.webkit.org/show_bug.cgi?id=55114
181 It made ~200 tests crash on Qt bot (Requested by Ossy_ on
184 * platform/text/TextBreakIterator.h:
185 * platform/text/TextBreakIteratorICU.cpp:
186 (WebCore::lineBreakIterator):
187 * platform/text/qt/TextBreakIteratorQt.cpp:
188 (WebCore::lineBreakIterator):
189 * rendering/RenderBlock.h:
190 * rendering/RenderBlockLineLayout.cpp:
191 (WebCore::RenderBlock::layoutInlineChildren):
192 (WebCore::RenderBlock::findNextLineBreak):
193 * rendering/RenderText.cpp:
194 (WebCore::RenderText::computePreferredLogicalWidths):
195 * rendering/break_lines.cpp:
196 (WebCore::nextBreakablePosition):
197 * rendering/break_lines.h:
198 (WebCore::isBreakable):
200 2011-02-23 Geoffrey Garen <ggaren@apple.com>
202 Reviewed by Mark Rowe.
204 Used svn merge -r79502:79501 to roll out r79502 because it broke the
205 SnowLeopard and Leopard builds.
207 * WebCore.xcodeproj/project.pbxproj:
208 * platform/mac/HTMLConverter.h: Removed.
209 * platform/mac/HTMLConverter.mm: Removed.
210 * platform/mac/PasteboardMac.mm:
211 (WebCore::Pasteboard::writeSelection):
213 2011-02-23 Beth Dakin <bdakin@apple.com>
215 Reviewed by Dan Bernstein.
217 Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window
220 When there is both a horizontal and a vertical scrollbar, it is necessary to
221 include the space between them in the invalidation.
222 * platform/ScrollableArea.cpp:
223 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
225 2011-02-23 Ned Holbrook <nholbrook@apple.com>
227 Reviewed by Dan Bernstein.
229 Minimize calls to ubrk_setText()
230 https://bugs.webkit.org/show_bug.cgi?id=54912
231 <rdar://problem/9032774>
233 Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
234 break iterator creation until needed. This requires replacing the global line break iterator primitive with a
235 version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
236 layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
237 In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
239 * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
240 (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
241 (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
242 (WebCore::LazyLineBreakIterator::string):
243 (WebCore::LazyLineBreakIterator::length):
244 (WebCore::LazyLineBreakIterator::get):
245 (WebCore::LazyLineBreakIterator::reset):
246 * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
247 (WebCore::acquireLineBreakIterator):
248 (WebCore::releaseLineBreakIterator):
249 * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
250 (WebCore::acquireLineBreakIterator):
251 (WebCore::releaseLineBreakIterator):
252 * rendering/RenderBlock.h:
253 * rendering/RenderBlockLineLayout.cpp:
254 (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
255 (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
256 * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
257 (WebCore::RenderText::computePreferredLogicalWidths):
258 * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
259 (WebCore::nextBreakablePosition):
260 * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
261 (WebCore::isBreakable):
263 2011-02-23 Anders Carlsson <andersca@apple.com>
267 * platform/mac/HTMLConverter.h:
269 2011-02-17 Enrica Casucci <enrica@apple.com>
271 Reviewed by Darin Adler.
273 REGRESSION: Copied content loses formatting on paste to external apps.
274 https://bugs.webkit.org/show_bug.cgi?id=47615
275 <rdar://problem/9001214>
277 This patch adds a way for WebKit2 to create NSAttributedStrings from
278 a DOM range without using the AppKit api initWithDOMRange that internally
279 needs to access the WebView. The NSAttributedString is needed to create
280 RTF formats in the pasteboard.
281 This is to be considered a first step, since in the future we want to have
282 an implementation based on the TextIterator.
284 * WebCore.xcodeproj/project.pbxproj: Added new file.
285 * platform/mac/HTMLConverter.h: Added.
286 * platform/mac/HTMLConverter.mm: Added.
287 * platform/mac/PasteboardMac.mm:
288 (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
289 class for WebKit2 to create the NSAttributedString from the DOM range.
291 2011-02-23 David Hyatt <hyatt@apple.com>
293 Reviewed by Sam Weinig.
295 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
297 Patch computePositionedLogicalHeightUsing to be writing-mode-aware.
299 * rendering/RenderBox.cpp:
300 (WebCore::RenderBox::computePositionedLogicalWidthUsing):
301 (WebCore::RenderBox::computePositionedLogicalHeightUsing):
302 * rendering/RenderBox.h:
304 2011-02-23 Martin Robinson <mrobinson@igalia.com>
306 Reviewed by Xan Lopez.
308 [Gtk] Flash item placed on wrong location right after load
309 https://bugs.webkit.org/show_bug.cgi?id=37769
311 If a plugin is GtkSocket based, do not set the widget allocation until the
312 window is actually embedded in the parent. When the window is embedded, use
313 any pending allocation for the call to gtk_widget_size_allocate. This bug
314 seems to only appear with Flash movies loaded as the src of an iframe.
316 * manual-tests/plugins/windowed-in-iframe.html: Added.
317 * plugins/PluginView.h: Add a few new members to track window embedding state.
318 * plugins/gtk/PluginViewGtk.cpp:
319 (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
320 wait until the plug-added signal fires to set the widget allocation.
321 (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
322 we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
324 (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
325 call gtk_widget_size_allocate if the window isn't embedded.
327 2011-02-18 Enrica Casucci <enrica@apple.com>
329 Reviewed by Adam Roben.
331 Mac OS X Services are not available for selected text in WebKit2 windows.
332 https://bugs.webkit.org/show_bug.cgi?id=54777
333 <rdar://problem/8666428>
335 The changes to WebCore for this bug are limited to exposing a new
336 entry point in the Editor class to write to the pasteboard and
337 changes to the Pasteboard class to write the selection with
338 a given set of pasteboard types. The majority of the work
343 * editing/mac/EditorMac.mm: Added entrypoint to write the
344 selection to the pasteboard.
345 (WebCore::Editor::writeSelectionToPasteboard):
346 * platform/Pasteboard.h:
347 * platform/mac/ClipboardMac.mm:
348 (WebCore::ClipboardMac::writeRange):
349 * platform/mac/PasteboardMac.mm:
350 (WebCore::Pasteboard::writeSelection):
352 2011-02-23 David Hyatt <hyatt@apple.com>
354 Reviewed by Simon Fraser.
356 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
358 Patch computePositionedLogicalHeight to be writing-mode-aware. Functions it calls have not been
359 patched yet, so still not testable in a vertical text environment.
361 * rendering/RenderBox.cpp:
362 (WebCore::RenderBox::computePositionedLogicalHeight):
364 2011-02-23 David Hyatt <hyatt@apple.com>
366 Reviewed by Sam Weinig.
368 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
370 Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
371 environment, since height computations will overwrite all values computed here until they are patched as well.
373 * rendering/RenderBox.cpp:
374 (WebCore::RenderBox::computePositionedLogicalWidthUsing):
375 * rendering/RenderBox.h:
377 2011-02-23 Renata Hodovan <reni@webkit.org>
379 Reviewed by Nikolas Zimmermann.
381 FEColorMatrixElement changes doesn't require relayout
382 https://bugs.webkit.org/show_bug.cgi?id=54880
384 When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
385 to relayout the filter.
387 No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
389 * platform/graphics/filters/FEColorMatrix.cpp:
390 (WebCore::FEColorMatrix::setType):
391 (WebCore::FEColorMatrix::setValues):
392 * platform/graphics/filters/FEColorMatrix.h:
393 * svg/SVGFEColorMatrixElement.cpp:
394 (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
395 (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
396 * svg/SVGFEColorMatrixElement.h:
398 2011-02-23 James Robinson <jamesr@chromium.org>
400 REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
402 Reverts TextCodecUTF16.cpp back to pre-79466 state. The crash fix in 79466 was for UTF-8 only, it also caused the UTF16 path to fail.
404 * platform/text/TextCodecUTF16.cpp:
405 (WebCore::newStreamingTextDecoderUTF16LE):
406 (WebCore::newStreamingTextDecoderUTF16BE):
407 (WebCore::TextCodecUTF16::decode):
408 (WebCore::TextCodecUTF16::encode):
410 2011-02-23 David Hyatt <hyatt@apple.com>
412 Reviewed by Sam Weinig.
414 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
416 Patch computePositionedLogicalWidth to be writing-mode-aware. Functions it calls have not been
417 patched yet, so still not testable in a vertical text environment.
419 * rendering/RenderBox.cpp:
420 (WebCore::RenderBox::computePositionedLogicalWidth):
422 2011-02-23 James Robinson <jamesr@chromium.org>
424 Unreviewed, rolling out r79428.
425 http://trac.webkit.org/changeset/79428
426 https://bugs.webkit.org/show_bug.cgi?id=54714
428 Does not work in the Chromium sandbox
430 * websockets/WebSocketHandshake.cpp:
431 (WebCore::generateSecWebSocketKey):
432 (WebCore::generateKey3):
434 2011-02-23 David Hyatt <hyatt@apple.com>
436 Reviewed by Sam Weinig.
438 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
440 Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
442 * rendering/style/RenderStyle.h:
443 (WebCore::InheritedFlags::logicalLeft):
444 (WebCore::InheritedFlags::logicalRight):
445 (WebCore::InheritedFlags::logicalTop):
446 (WebCore::InheritedFlags::logicalBottom):
448 2011-02-23 Darin Adler <darin@apple.com>
450 Reviewed by Alexey Proskuryakov.
452 Fix crash seen in one of the regression tests.
454 * platform/text/TextCodecUTF16.cpp:
455 (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
456 we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
457 and the correct thing to do is nothing.
459 2011-02-23 Sergey Glazunov <serg.glazunov@gmail.com>
461 Reviewed by James Robinson.
463 SVGCursorElement::removeClient() should verify that its argument is connected with
464 the proper cursor element.
465 https://bugs.webkit.org/show_bug.cgi?id=54979
467 Test: svg/css/multiple-cursors-crash.html
469 * svg/SVGCursorElement.cpp:
470 (WebCore::SVGCursorElement::removeClient):
472 2011-02-23 Renata Hodovan <reni@webkit.org>
474 Reviewed by Darin Adler.
476 FEConvolveMatrixElement changes doesn't require relayout
477 https://bugs.webkit.org/show_bug.cgi?id=55067
479 When the FEConvolveMatrixElement receives an update message but the
480 given value remains the same we don't need to relayout the filter.
482 No new tests are needed because this modificiation is covered by the
483 dynamic update tests of FEConvolveMatrix.
485 * platform/graphics/filters/FEConvolveMatrix.cpp:
486 (WebCore::FEConvolveMatrix::setDivisor):
487 (WebCore::FEConvolveMatrix::setBias):
488 (WebCore::FEConvolveMatrix::setTargetOffset):
489 (WebCore::FEConvolveMatrix::edgeMode):
490 (WebCore::FEConvolveMatrix::setEdgeMode):
491 (WebCore::FEConvolveMatrix::setPreserveAlpha):
492 * platform/graphics/filters/FEConvolveMatrix.h:
493 * svg/SVGFEConvolveMatrixElement.cpp:
494 (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
495 (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
496 * svg/SVGFEConvolveMatrixElement.h:
498 2011-02-23 Geoffrey Garen <ggaren@apple.com>
500 Reviewed by Darin Adler.
502 Rolled back in r79367 with SnowLeopard Release bot crash fixed.
503 https://bugs.webkit.org/show_bug.cgi?id=54999
505 * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
507 2011-02-23 Dimitri Glazkov <dglazkov@chromium.org>
509 Reviewed by Darin Adler.
511 Add more thorough manual test coverage for media controls
512 https://bugs.webkit.org/show_bug.cgi?id=55006
514 * manual-tests/media-controls.html: Added.
516 2011-02-23 Darin Adler <darin@apple.com>
520 * platform/text/TextCodecUTF16.cpp:
521 (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
523 2011-02-23 Dimitri Glazkov <dglazkov@chromium.org>
525 Reviewed by Darin Adler.
527 Setting shadow host should also attach and set inDocument, just like
528 appending/inserting a child.
529 https://bugs.webkit.org/show_bug.cgi?id=55065
531 No new tests, because functionality is not yet used.
534 (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
535 for the shadow DOM subtree, like the host.
537 2011-02-23 David Hyatt <hyatt@apple.com>
539 Reviewed by Darin Adler and Simon Fraser.
541 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
543 - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
545 - Patch clientLogicalBottom to use clientLogicalHeight.
546 - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
547 clientLogicalHeight/Width. Also make them able to handle perpendicular writing mode containining blocks.
548 - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
550 * rendering/RenderBox.cpp:
551 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
552 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
553 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
554 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
555 (WebCore::RenderBox::computePositionedLogicalWidth):
556 (WebCore::RenderBox::computePositionedLogicalHeight):
557 (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
558 (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
559 * rendering/RenderBox.h:
560 (WebCore::RenderBox::clientLogicalWidth):
561 (WebCore::RenderBox::clientLogicalHeight):
562 (WebCore::RenderBox::clientLogicalBottom):
564 2011-02-23 Darin Adler <darin@apple.com>
566 Reviewed by Alexey Proskuryakov.
568 REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
569 https://bugs.webkit.org/show_bug.cgi?id=54862
571 Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
572 https://bugs.webkit.org/show_bug.cgi?id=54444
574 No new tests at this time. I will add some tests later, but since multiple
575 people are hitting this I wanted to get it in as quickly as possible.
577 * platform/text/TextCodecUTF16.cpp:
578 (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
579 Removed special case for zero length now that main code handles it
580 correctly. Used words instead of abbreviations for local variable names.
581 Added error handling for a trailing byte.
583 * platform/text/TextCodecUTF8.cpp:
584 (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
585 to make the handleError and handlePartialSequence functions clearer.
586 (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
587 handlePartialSequence clearer.
588 (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
589 the partial sequence case. Making this a separate function probably helps make
590 the fast case a little faster. This new version handles more cases correctly,
591 which is what fixes the crashes we were seeing. In particular, it no longer
592 assumes that the partial sequence is truly partial, because there are cases
593 where we end up handling complete sequences here, such as when a complete
594 sequence is inside a malformed partial sequence.
595 (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
596 call handlePartialSequence instead. Could be streamlined if we double checked
597 that passing a reference to "destination" and "source" doesn't harm code
598 generation too much, so perhaps someone can do that research on a few compilers
599 later and clean this up. Removed special case for zero length now that the
600 main code handles that correctly.
602 * platform/text/TextCodecUTF8.h: Added declarations for new functions.
603 Made partial sequence buffer large enough to hold a whole sequence so we can
604 use it to complete and decode a sequence in place.
606 2011-02-23 Abhishek Arya <inferno@chromium.org>
608 Reviewed by Dave Hyatt.
610 Make clear float lineboxes resilient against overflows.
611 https://bugs.webkit.org/show_bug.cgi?id=54995
613 We try to dirty everthing in block range if we have a negative
614 logical bottom, or if our logical bottom is less than our logical
615 top, or if our logical top is equal to INT_MAX. Plus, we also dirty
616 a linebox if its block logical height is less than zero.
617 Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
618 fast/overflow/overflow-height-float-not-removed-crash3.html
620 * rendering/RenderBlock.cpp:
621 (WebCore::RenderBlock::removeFloatingObject):
622 (WebCore::RenderBlock::markLinesDirtyInBlockRange):
623 * rendering/RootInlineBox.cpp:
624 (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
625 added in r69735. we don't need this anymore since we are making the
626 underlying float dirty logic resilient.
628 2011-02-22 Kenneth Russell <kbr@google.com>
630 Reviewed by Darin Fisher.
632 Per-page minimum DOMTimer interval broken for repeating timers
633 https://bugs.webkit.org/show_bug.cgi?id=55014
635 When the minimum timer interval is adjusted, if the timer is
636 repeating, cause its repeat interval to be set to its original
637 timeout clamped to the new minimum interval.
639 Tests: fast/dom/timer-increase-min-interval-repeating.html
640 fast/dom/timer-increase-then-decrease-min-interval-repeating.html
643 (WebCore::DOMTimer::adjustMinimumTimerInterval):
645 2011-02-23 Dan Bernstein <mitz@apple.com>
647 Reviewed by Maciej Stachowiak.
649 Fix two issues seen in WebKit2 views on Mac:
650 - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
651 - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
653 * page/EventHandler.cpp:
654 (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
655 to -1. Since WebKit2 doesnÕt support non-activating clicks yet (<http://webkit.org/b/55053>
656 <rdar://problem/9042197>) and doesnÕt send event numbers, all events were considered to be
657 window-activating events. This in turn prevented them from clearing the selection and resuming
658 caret blinking on mouse up.
660 2011-02-23 Jacob Dinu <dinu.jacob@nokia.com>
662 Reviewed by Pavel Feldman.
664 Web Inspector: Linking error for some InspectorController symbols
665 https://bugs.webkit.org/show_bug.cgi?id=54953
667 Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag
669 * inspector/InspectorController.cpp:
670 (WebCore::InspectorController::hideHighlight):
671 (WebCore::InspectorController::resume):
673 2011-02-23 Hans Wennborg <hans@chromium.org>
675 IndexedDB: Move some SQL code into IDBBackingStore
676 https://bugs.webkit.org/show_bug.cgi?id=54889
678 The idea is to gather all the SQL logic into IDBBackingStore.
680 No new functionality, so no new tests.
682 * storage/IDBBackingStore.cpp:
683 (WebCore::IDBBackingStore::IDBBackingStore):
684 (WebCore::runCommands):
685 (WebCore::createTables):
686 (WebCore::createMetaDataTable):
687 (WebCore::getDatabaseSchemaVersion):
688 (WebCore::migrateDatabase):
689 (WebCore::IDBBackingStore::open):
690 (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
691 (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
692 (WebCore::IDBBackingStore::getObjectStores):
693 (WebCore::IDBBackingStore::createObjectStore):
695 (WebCore::IDBBackingStore::deleteObjectStore):
696 (WebCore::whereSyntaxForKey):
697 (WebCore::bindKeyToQuery):
698 (WebCore::IDBBackingStore::getObjectStoreRecord):
699 (WebCore::bindKeyToQueryWithNulls):
700 (WebCore::IDBBackingStore::putObjectStoreRecord):
701 (WebCore::IDBBackingStore::deleteIndexDataForRecord):
702 (WebCore::IDBBackingStore::putIndexDataForRecord):
703 (WebCore::IDBBackingStore::createIndex):
704 (WebCore::IDBBackingStore::deleteIndex):
705 (WebCore::IDBBackingStore::clearObjectStore):
706 * storage/IDBBackingStore.h:
707 * storage/IDBDatabaseBackendImpl.cpp:
708 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
709 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
710 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
711 (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
712 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
713 * storage/IDBFactoryBackendImpl.cpp:
714 (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
715 (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
716 (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
717 (WebCore::IDBFactoryBackendImpl::open):
718 * storage/IDBFactoryBackendImpl.h:
719 * storage/IDBObjectStoreBackendImpl.cpp:
720 (WebCore::IDBObjectStoreBackendImpl::getInternal):
721 (WebCore::IDBObjectStoreBackendImpl::putInternal):
722 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
723 (WebCore::populateIndex):
724 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
725 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
727 2011-02-23 Siddharth Mathur <siddharth.mathur@nokia.com>
729 Reviewed by Laszlo Gombos.
731 [Qt] Fix the Symbian build after r79334
732 https://bugs.webkit.org/show_bug.cgi?id=55044
734 No new tests as there is no new functionality.
736 * WebCore.pri: Reorder symbian blocks to make sure that
737 system-sqlite is set before it is tested.
739 Copy the rules from JavaScriptCore.pri for defineTest().
741 2011-02-23 Patrick Gansterer <paroga@webkit.org>
743 Reviewed by Alexey Proskuryakov.
745 Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
746 https://bugs.webkit.org/show_bug.cgi?id=54992
748 * websockets/WebSocketHandshake.cpp:
749 (WebCore::WebSocketHandshake::readHTTPHeaders):
751 2011-02-23 Patrick Gansterer <paroga@webkit.org>
753 Reviewed by Andreas Kling.
755 [CMake] Move platform dependent files out of main CMakeLists.txt
756 https://bugs.webkit.org/show_bug.cgi?id=53891
758 Apple Windows port does not use the image decoders,
759 so move them into the platform specific CMake files.
763 * CMakeListsWinCE.txt:
765 2011-02-21 Stephen White <senorblanco@chromium.org>
767 Reviewed by Kenneth Russell.
769 Jittering when animating a rotated image
770 https://bugs.webkit.org/show_bug.cgi?id=50775
772 Since Skia does not seem to suffer from pixel cracks when scaling to
773 non-integral sizes the way CG does, no-op roundToDevicePixels on the
776 * platform/graphics/skia/GraphicsContextSkia.cpp:
777 (WebCore::GraphicsContext::roundToDevicePixels):
779 2011-02-23 Patrick Gansterer <paroga@webkit.org>
781 Reviewed by Andreas Kling.
783 [WINCE] Get rid of TemporaryLinkStubs.cpp
784 https://bugs.webkit.org/show_bug.cgi?id=54825
786 * CMakeListsWinCE.txt:
787 * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
788 * platform/wince/TemporaryLinkStubs.cpp: Removed.
790 2011-02-23 Patrick Gansterer <paroga@webkit.org>
792 Reviewed by Darin Adler.
794 Rename PLATFORM(CF) to USE(CF)
795 https://bugs.webkit.org/show_bug.cgi?id=53540
797 * WebCore.gyp/WebCore.gyp:
798 * editing/SmartReplace.cpp:
799 * editing/SmartReplaceICU.cpp:
800 * loader/MainResourceLoader.cpp:
801 (WebCore::MainResourceLoader::didReceiveResponse):
802 (WebCore::MainResourceLoader::didReceiveData):
803 (WebCore::MainResourceLoader::didFinishLoading):
804 (WebCore::MainResourceLoader::didFail):
805 * loader/archive/ArchiveFactory.cpp:
806 (WebCore::archiveMIMETypes):
807 * platform/FileSystem.h:
809 * platform/KURLGoogle.cpp:
810 * platform/RunLoopTimer.h:
811 * platform/SharedBuffer.cpp:
812 * platform/SharedBuffer.h:
814 (WebCore::createCanonicalUUIDString):
815 * platform/network/ResourceHandle.h:
816 * platform/network/ResourceRequestBase.h:
817 * platform/network/curl/ResourceHandleCurl.cpp:
818 * platform/network/curl/ResourceHandleManager.cpp:
819 (WebCore::certificatePath):
820 * platform/text/cf/StringCF.cpp:
821 * platform/text/cf/StringImplCF.cpp:
822 * platform/win/BString.cpp:
823 * platform/win/BString.h:
824 * platform/win/ClipboardUtilitiesWin.cpp:
825 (WebCore::getWebLocData):
827 (WebCore::getClipboardData):
828 * platform/win/ClipboardWin.cpp:
829 (WebCore::writeFileToDataObject):
830 * platform/win/SearchPopupMenuWin.cpp:
831 (WebCore::SearchPopupMenuWin::enabled):
832 (WebCore::SearchPopupMenuWin::saveRecentSearches):
833 (WebCore::SearchPopupMenuWin::loadRecentSearches):
835 2011-02-23 Benjamin Kalman <kalman@chromium.org>
837 Reviewed by Ojan Vafai.
839 Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
840 https://bugs.webkit.org/show_bug.cgi?id=51001
842 Test: editing/selection/extend-backward-by-word-over-non-editable.html
844 Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
845 bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
847 The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
848 selection (webkit.org/b/36360). This was caused by upstream/downstream VisbiblePosition complications. To fix,
849 refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
852 To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
853 been slightly restructured to express the invariant that the iterator will never advance past the start node.
855 * editing/TextIterator.cpp:
856 (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
857 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
858 mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
859 (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
860 m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
861 (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
862 which updates m_havePassedStartNode and refuses to continue when it becomes true.
863 * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
865 * editing/visible_units.cpp:
866 (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
868 2011-02-23 Fumitoshi Ukai <ukai@chromium.org>
870 Reviewed by Adam Barth.
872 WebSocket uses insecure random numbers
873 https://bugs.webkit.org/show_bug.cgi?id=54714
875 * websockets/WebSocketHandshake.cpp:
876 (WebCore::randomNumberLessThan):
877 (WebCore::generateSecWebSocketKey):
878 (WebCore::generateKey3):
880 2011-02-21 Hans Wennborg <hans@chromium.org>
882 Reviewed by Jeremy Orlow.
884 IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
885 https://bugs.webkit.org/show_bug.cgi?id=54864
887 No new functionality, so no new tests.
891 * storage/IDBBackingStore.cpp:
892 (WebCore::IDBBackingStore::IDBBackingStore):
893 (WebCore::IDBBackingStore::~IDBBackingStore):
894 * storage/IDBBackingStore.h:
895 (WebCore::IDBBackingStore::create):
896 (WebCore::IDBBackingStore::db):
897 * storage/IDBCursorBackendImpl.cpp:
898 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
899 (WebCore::IDBCursorBackendImpl::currentRowExists):
900 (WebCore::IDBCursorBackendImpl::database):
901 * storage/IDBCursorBackendImpl.h:
902 (WebCore::IDBCursorBackendImpl::create):
903 * storage/IDBDatabaseBackendImpl.cpp:
904 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
905 (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
906 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
907 (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
908 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
909 * storage/IDBDatabaseBackendImpl.h:
910 (WebCore::IDBDatabaseBackendImpl::create):
911 * storage/IDBFactoryBackendImpl.cpp:
912 (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
913 (WebCore::openSQLiteDatabase):
914 (WebCore::IDBFactoryBackendImpl::open):
915 * storage/IDBFactoryBackendImpl.h:
916 * storage/IDBIndexBackendImpl.cpp:
917 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
918 (WebCore::IDBIndexBackendImpl::openCursorInternal):
919 (WebCore::IDBIndexBackendImpl::sqliteDatabase):
920 * storage/IDBIndexBackendImpl.h:
921 (WebCore::IDBIndexBackendImpl::create):
922 * storage/IDBObjectStoreBackendImpl.cpp:
923 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
924 (WebCore::IDBObjectStoreBackendImpl::createIndex):
925 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
926 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
927 (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
928 * storage/IDBObjectStoreBackendImpl.h:
929 (WebCore::IDBObjectStoreBackendImpl::create):
931 2011-02-23 Dominic Mazzoni <dmazzoni@google.com>
933 Reviewed by Kenneth Russell.
935 Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
936 https://bugs.webkit.org/show_bug.cgi?id=54697
938 New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
940 * rendering/RenderHTMLCanvas.cpp:
941 (WebCore::RenderHTMLCanvas::nodeAtPoint):
943 2011-02-23 Patrick Gansterer <paroga@webkit.org>
945 Reviewed by Darin Adler.
947 Remove obsolete focusRingColor functions
948 https://bugs.webkit.org/show_bug.cgi?id=54824
950 * CMakeListsWinCE.txt:
951 * platform/graphics/haiku/ColorHaiku.cpp:
952 * platform/graphics/wince/ColorWinCE.cpp: Removed.
954 2011-02-22 Jia Pu <jpu@apple.com>
956 Reviewed by Dan Bernstein.
958 On Mac OS X, English contractions are marked misspelled with certain user preference setting.
959 https://bugs.webkit.org/show_bug.cgi?id=54975
961 manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
963 Without this patch, we check for contraction only when autocorrection or other type of auto-
964 substituation is on. And we failed to check for contraction if only spellchecking is turned on.
965 This patch implements the desired behavior, checking for contraction when either correction/substitution,
966 or spellchecking, is on.
968 * editing/Editor.cpp:
969 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
970 * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
972 2011-02-22 Charlie Reis <creis@chromium.org>
974 Reviewed by Darin Fisher.
976 Remove DatabasePolicy from FrameLoaderTypes
977 https://bugs.webkit.org/show_bug.cgi?id=54968
979 The DatabasePolicy enum is no longer needed now that we avoid stopping
980 loaders on same-document navigations.
982 Existing test: storage/hash-change-with-xhr.html
985 * loader/DocumentLoader.cpp:
986 * loader/DocumentLoader.h:
987 * loader/FrameLoader.cpp:
988 * loader/FrameLoader.h:
989 * loader/FrameLoaderTypes.h:
990 * workers/WorkerThread.cpp:
992 2011-02-22 Alexis Menard <alexis.menard@openbossa.org>
994 Reviewed by Andreas Kling.
996 [Qt] QWebView ignores a palette set with QWebView::setPalette()
997 https://bugs.webkit.org/show_bug.cgi?id=31742
999 Use custom QWebView palette if the view provides one.
1000 Modified version of a patch made by Fabrizio Machado.
1002 * platform/qt/RenderThemeQt.cpp:
1003 (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
1004 (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
1005 (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
1006 (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
1007 (WebCore::RenderThemeQt::platformFocusRingColor):
1009 2011-02-22 Brian Salomon <bsalomon@google.com>
1011 Reviewed by Kenneth Russell.
1013 Don't disable accelerated canvas when using the skia gpu backend.
1015 No new tests are required.
1017 * html/canvas/CanvasRenderingContext2D.cpp:
1018 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1020 2011-02-22 Luiz Agostini <luiz.agostini@openbossa.org>
1022 Reviewed by Kenneth Rohde Christiansen.
1024 [Qt] <select>s on http://www.ryanair.com render wrong
1025 https://bugs.webkit.org/show_bug.cgi?id=29647
1027 Reducing padding in <select> elements to improve its rendering and introducing a
1028 rendering adjustment specific to QMacStyle.
1030 * platform/qt/RenderThemeQt.cpp:
1031 (WebCore::RenderThemeQt::setPopupPadding):
1032 (WebCore::RenderThemeQt::paintMenuList):
1034 2011-02-22 Andreas Kling <kling@webkit.org>
1036 Reviewed by Dan Bernstein.
1038 FontCache: Make cTargetInactiveFontData an int instead of float.
1039 https://bugs.webkit.org/show_bug.cgi?id=54963
1041 * platform/graphics/FontCache.cpp:
1043 2011-02-22 Ryosuke Niwa <rniwa@webkit.org>
1045 Reviewed by Darin Adler.
1047 Make Editor::selectionComputedStyle return EditingStyle
1048 https://bugs.webkit.org/show_bug.cgi?id=54933
1050 Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
1051 It also no longer takes a boolean shouldUseFixedFontDefaultSize.
1053 Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
1054 doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
1055 by an existing layout test only after the code was shared with selectionStartStyle.
1057 No tests are added since this is a refactoring.
1059 * editing/CompositeEditCommand.cpp:
1060 (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
1061 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
1062 * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
1063 (WebCore::EditingStyle::mergeTypingStyle): Added.
1064 * editing/EditingStyle.h:
1065 (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
1066 * editing/Editor.cpp:
1067 (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
1068 (WebCore::Editor::selectionHasStyle): Ditto.
1069 (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
1070 (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
1072 * editing/EditorCommand.cpp:
1073 (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
1074 * editing/InsertLineBreakCommand.cpp:
1075 * editing/InsertParagraphSeparatorCommand.cpp:
1076 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
1077 EditingStyle::mergeTypingStyle.
1078 * editing/ReplaceSelectionCommand.cpp:
1079 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1081 2011-02-22 Robert Hogan <robert@webkit.org>
1083 Reviewed by Andreas Kling.
1085 [Qt] painting of windowed plugins faulty on certain scroll events
1087 https://bugs.webkit.org/show_bug.cgi?id=52735
1089 Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
1090 imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
1091 to the frame again) before passing it to FrameView.
1093 * plugins/qt/PluginViewQt.cpp:
1094 (WebCore::PluginView::updatePluginWidget):
1096 2011-02-22 Philippe Normand <pnormand@igalia.com>
1098 Reviewed by Martin Robinson.
1100 Minimal build broken
1101 https://bugs.webkit.org/show_bug.cgi?id=54743
1103 Moved the code of setInspectorExtensionAPI and
1104 dispatchMessageFromFrontend out of #if
1105 ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
1107 * inspector/InspectorController.cpp:
1108 (WebCore::InspectorController::setInspectorExtensionAPI):
1109 (WebCore::InspectorController::dispatchMessageFromFrontend):
1111 2011-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
1113 Unreviewed, rolling out r79367.
1114 http://trac.webkit.org/changeset/79367
1115 https://bugs.webkit.org/show_bug.cgi?id=55012
1117 all layout tests are crashing on Snow Leopard (Requested by
1120 * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
1122 2011-02-22 Ryosuke Niwa <rniwa@webkit.org>
1124 Reviewed by Darin Adler.
1126 Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
1127 https://bugs.webkit.org/show_bug.cgi?id=54944
1129 Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
1131 Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
1132 which returns true iff the specified element has inline style that conflicts or matches the editing style.
1133 It also appends conflicting property IDs to the vector of property IDs if one is specified.
1135 * editing/ApplyStyleCommand.cpp:
1136 (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
1137 (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
1138 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
1139 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1140 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
1141 conflictsWithInlineStyleOfElement.
1142 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
1143 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
1144 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
1145 (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1146 * editing/ApplyStyleCommand.h:
1147 (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
1148 * editing/EditingStyle.cpp:
1149 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
1150 * editing/EditingStyle.h:
1151 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
1153 2011-02-22 Chang Shu <cshu@webkit.org>
1155 Reviewed by Csaba Osztrogonác.
1157 [Qt] editing/deleting/5408255.html fails
1158 https://bugs.webkit.org/show_bug.cgi?id=54964
1160 Move WebCore resource file to QtWebKit since they are referred in WebKit.
1164 2011-02-22 Brady Eidson <beidson@apple.com>
1166 Reviewed by Anders Carlsson.
1168 <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1169 API to view and delete Application Cache data by origin.
1171 Implement these to be used by WK2 API:
1172 * loader/appcache/ApplicationCacheStorage.cpp:
1173 (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1174 (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
1176 2011-02-22 Geoffrey Garen <ggaren@apple.com>
1178 Reviewed by Oliver Hunt.
1180 Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
1181 https://bugs.webkit.org/show_bug.cgi?id=54999
1185 * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
1187 2011-02-22 Beth Dakin <bdakin@apple.com>
1189 Reviewed by Sam Weinig.
1191 Fix for https://bugs.webkit.org/show_bug.cgi?id=54991
1192 Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS
1195 <rdar://problem/9034318>
1197 Instead of consulting the theme directly, callers should ask the Scrollbar or
1198 ScrollableArea if the scrollbars are overlay or not.
1200 * platform/ScrollView.cpp:
1201 (WebCore::ScrollView::visibleContentRect):
1202 (WebCore::ScrollView::scrollContents):
1203 (WebCore::ScrollView::wheelEvent):
1204 * platform/ScrollableArea.cpp:
1205 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
1206 (WebCore::ScrollableArea::hasOverlayScrollbars):
1207 * platform/ScrollableArea.h:
1208 * platform/Scrollbar.cpp:
1209 (WebCore::Scrollbar::isOverlayScrollbar):
1210 * platform/Scrollbar.h:
1211 * rendering/RenderBox.cpp:
1212 (WebCore::RenderBox::includeVerticalScrollbarSize):
1213 (WebCore::RenderBox::includeHorizontalScrollbarSize):
1214 * rendering/RenderLayer.cpp:
1215 (WebCore::RenderLayer::verticalScrollbarWidth):
1216 (WebCore::RenderLayer::horizontalScrollbarHeight):
1217 * rendering/RenderListBox.cpp:
1218 (WebCore::RenderListBox::verticalScrollbarWidth):
1219 * rendering/RenderScrollbar.h:
1220 (WebCore::RenderScrollbar::isOverlayScrollbar):
1222 2011-02-22 Andras Becsi <abecsi@webkit.org>
1224 Reviewed by Csaba Osztrogonác.
1226 [Qt] Redesign the build system
1227 https://bugs.webkit.org/show_bug.cgi?id=51339
1229 Move inspector's resource files into the final build step to fix the layout test regression.
1231 No new tests needed.
1233 * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
1235 2011-02-22 Martin Robinson <mrobinson@igalia.com>
1237 Reviewed by Xan Lopez.
1239 [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
1240 https://bugs.webkit.org/show_bug.cgi?id=54990
1242 No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
1243 to start passing again.
1245 * platform/gtk/ScrollViewGtk.cpp:
1246 (WebCore::ScrollView::visibleContentRect): Update this method to match the original
1247 in the parent class.
1249 2011-01-17 Martin Robinson <mrobinson@igalia.com>
1251 Reviewed by Xan Lopez.
1253 [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
1254 https://bugs.webkit.org/show_bug.cgi?id=49177
1256 * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
1257 of platformAddChild and platformRemoveChild. This code can be shared.
1258 * platform/gtk/MainFrameScrollbarGtk.cpp:
1259 (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
1260 adjustment. Connect the adjustment value-changed signal handler after resetting the
1261 adjustment. This prevents the rest from stomping on pre-existing WebCore values.
1262 (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
1263 a scrollview do not listing for value changes. These scrollbars are defunct.
1264 * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
1266 2011-02-22 Pavel Feldman <pfeldman@chromium.org>
1268 Reviewed by Yury Semikhatsky.
1270 Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
1271 https://bugs.webkit.org/show_bug.cgi?id=54954
1273 * bindings/js/JSInjectedScriptHostCustom.cpp:
1274 (WebCore::InjectedScriptHost::toNode):
1275 (WebCore::JSInjectedScriptHost::inspect):
1276 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1277 (WebCore::InjectedScriptHost::toNode):
1278 (WebCore::V8InjectedScriptHost::inspectCallback):
1279 * inspector/CodeGeneratorInspector.pm:
1280 * inspector/InjectedScript.cpp:
1281 (WebCore::InjectedScript::nodeForObjectId):
1282 * inspector/InjectedScript.h:
1283 * inspector/InjectedScriptHost.cpp:
1284 (WebCore::InjectedScriptHost::inspect):
1285 * inspector/InjectedScriptHost.h:
1286 * inspector/InjectedScriptHost.idl:
1287 * inspector/InjectedScriptSource.js:
1289 * inspector/Inspector.idl:
1290 * inspector/InspectorAgent.cpp:
1291 (WebCore::InspectorAgent::focusNode):
1292 * inspector/InspectorAgent.h:
1293 * inspector/InspectorDOMAgent.cpp:
1294 (WebCore::InspectorDOMAgent::inspect):
1295 (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1296 * inspector/InspectorDOMAgent.h:
1297 * inspector/front-end/AuditRules.js:
1298 (WebInspector.AuditRules.evaluateInTargetWindow):
1299 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1300 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1301 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
1302 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
1303 * inspector/front-end/ConsoleView.js:
1304 (WebInspector.ConsoleView.prototype.completions):
1305 * inspector/front-end/DOMAgent.js:
1306 (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1307 (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
1308 * inspector/front-end/RemoteObject.js:
1309 (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
1311 2011-02-22 Brady Eidson <beidson@apple.com>
1313 Reviewed by Anders Carlsson.
1315 Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1316 API to view and delete Application Cache data by origin.
1318 Stub these out for now:
1319 * loader/appcache/ApplicationCacheStorage.cpp:
1320 (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1321 (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
1322 (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
1323 * loader/appcache/ApplicationCacheStorage.h:
1325 Export the new symbols:
1328 2011-02-22 Anders Carlsson <andersca@apple.com>
1334 2011-02-22 Balazs Kelemen <kbalazs@webkit.org>
1336 Reviewed by Anders Carlsson.
1338 notImplemented() should behave identical in WebCore and WebKit2
1339 https://bugs.webkit.org/show_bug.cgi?id=54449
1341 No functional change so no new tests.
1343 * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
1344 to be able to use it in WebKit2.
1346 2011-02-22 Andras Becsi <abecsi@webkit.org>
1348 Reviewed by Laszlo Gombos.
1349 Rubber-stamped by Csaba Osztrogonác.
1351 [Qt] Redesign the build system
1352 https://bugs.webkit.org/show_bug.cgi?id=51339
1354 The patch landed in r79320 didn't contain the cleanup
1355 which was already addressed in the last attachment.
1357 No new tests needed.
1359 * WebCore.pri: Add common LIB and CONFIG options.
1360 * WebCore.pro: Add accidentally moved sections.
1362 2011-02-22 Philippe Normand <pnormand@igalia.com>
1364 Unreviewed, rolling out r79321.
1365 http://trac.webkit.org/changeset/79321
1366 https://bugs.webkit.org/show_bug.cgi?id=53146
1368 Regresses fast/forms/listbox-typeahead-cyrillic.html and fast
1369 /spatial-navigation/snav-single-select.html on GTK
1371 * accessibility/gtk/AXObjectCacheAtk.cpp:
1372 (WebCore::notifyChildrenSelectionChange):
1373 (WebCore::AXObjectCache::postPlatformNotification):
1375 2011-02-22 Ilya Tikhonovsky <loislo@chromium.org>
1377 Reviewed by Yury Semikhatsky.
1379 Web Inspector: Inspector.IDL change. rename attribute notify -> event.
1380 https://bugs.webkit.org/show_bug.cgi?id=54958
1382 * inspector/CodeGeneratorInspector.pm:
1383 * inspector/Inspector.idl:
1385 2011-02-22 Yury Semikhatsky <yurys@chromium.org>
1387 Reviewed by Pavel Feldman.
1389 Web Inspector: Timeline agent should have same lifetime as InspectorAgent
1390 https://bugs.webkit.org/show_bug.cgi?id=54951
1392 * inspector/CodeGeneratorInspector.pm:
1393 * inspector/Inspector.idl:
1394 * inspector/InspectorAgent.cpp:
1395 (WebCore::InspectorAgent::InspectorAgent):
1396 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1397 (WebCore::InspectorAgent::setFrontend):
1398 (WebCore::InspectorAgent::disconnectFrontend):
1399 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1400 (WebCore::InspectorAgent::didCommitLoad):
1401 (WebCore::InspectorAgent::domContentLoadedEventFired):
1402 (WebCore::InspectorAgent::loadEventFired):
1403 * inspector/InspectorAgent.h:
1404 * inspector/InspectorController.cpp:
1405 (WebCore::InspectorController::startTimelineProfiler):
1406 (WebCore::InspectorController::stopTimelineProfiler):
1407 (WebCore::InspectorController::timelineProfilerEnabled):
1408 * inspector/InspectorInstrumentation.cpp:
1409 (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1410 * inspector/InspectorTimelineAgent.cpp:
1411 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1412 (WebCore::InspectorTimelineAgent::setFrontend):
1413 (WebCore::InspectorTimelineAgent::clearFrontend):
1414 (WebCore::InspectorTimelineAgent::restore):
1415 (WebCore::InspectorTimelineAgent::startTimelineProfiler):
1416 (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
1417 (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
1418 (WebCore::InspectorTimelineAgent::didCommitLoad):
1419 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1420 (WebCore::InspectorTimelineAgent::clearRecordStack):
1421 * inspector/InspectorTimelineAgent.h:
1422 (WebCore::InspectorTimelineAgent::create):
1423 * inspector/front-end/TimelinePanel.js:
1424 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1426 2011-02-22 Ilya Tikhonovsky <loislo@chromium.org>
1428 Reviewed by Pavel Feldman.
1430 Web Inspector: flakyness of inspector tests.
1431 https://bugs.webkit.org/show_bug.cgi?id=54729
1433 As far as we have the protocol with sequence numbers we can simplify test harness support
1434 and drop out chomium specific methods.
1436 * inspector/CodeGeneratorInspector.pm:
1437 * inspector/front-end/TestController.js:
1438 (WebInspector.TestController):
1439 (WebInspector.TestController.prototype.notifyDone):
1440 (WebInspector.TestController.prototype.runAfterPendingDispatches):
1441 (WebInspector.TestController.prototype._evaluateForTestInFrontend):
1442 * inspector/front-end/inspector.js:
1443 (WebInspector.dispatch):
1445 2011-02-22 Mario Sanchez Prada <msanchez@igalia.com>
1447 Reviewed by Martin Robinson.
1449 [GTK] Combo boxes should emit object:selection-changed even when collapsed
1450 https://bugs.webkit.org/show_bug.cgi?id=53146
1452 Emit the selection-changed signals when the menu list value has changed
1454 Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
1456 * accessibility/gtk/AXObjectCacheAtk.cpp:
1457 (WebCore::getListObject): New, return the right list object for
1458 menu lists and list boxes.
1459 (WebCore::notifyChildrenSelectionChange): Support menu lists.
1460 (WebCore::AXObjectCache::postPlatformNotification): Call function
1461 notifyChildrenSelectionChange for AXMenuListValueChanged.
1463 2011-02-22 Andras Becsi <abecsi@webkit.org>
1465 Reviewed by Laszlo Gombos.
1467 [Qt] Redesign the build system
1468 https://bugs.webkit.org/show_bug.cgi?id=51339
1472 Build WebCore as a static library, compile the WebKit API and WebKit2 API
1473 in a final step and link to WebKit2, WebCore and JSC libraries to fix
1474 linking issues resulting from stripped away symbols.
1476 No new tests needed.
1478 * WebCore.pri: Add needed rules for handling the static library.
1479 * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
1481 2011-02-22 Pavel Podivilov <podivilov@chromium.org>
1483 Reviewed by Pavel Feldman.
1485 Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
1486 https://bugs.webkit.org/show_bug.cgi?id=54947
1488 * inspector/InspectorAgent.cpp:
1489 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1490 * inspector/InspectorState.cpp:
1491 (WebCore::InspectorState::loadFromCookie):
1492 * inspector/InspectorState.h:
1494 2011-02-15 Jer Noble <jer.noble@apple.com>
1496 Reviewed by Darin Adler.
1498 Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
1499 https://bugs.webkit.org/show_bug.cgi?id=46142
1501 Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
1502 container elements. This is necessary because, during layout(), the child renderers
1503 query the current LayoutState to determine where they will be repainting. If a new
1504 LayoutState is not pushed here, child renderers will attempt to repaint relative to
1505 their grandparent's origin instead of their parents', and repaint operations will fail.
1507 * rendering/RenderMedia.cpp:
1508 (WebCore::RenderMedia::layout):
1510 2011-02-22 Benjamin Poulain <benjamin.poulain@nokia.com>
1512 Reviewed by Kenneth Rohde Christiansen.
1514 Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
1515 https://bugs.webkit.org/show_bug.cgi?id=54952
1517 Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
1518 a valid reference for the input type FileInputType.
1521 (WebCore::Chrome::setToolTip):
1523 2011-02-21 Pavel Podivilov <podivilov@chromium.org>
1525 Reviewed by Pavel Feldman.
1527 Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
1528 https://bugs.webkit.org/show_bug.cgi?id=54645
1530 This is needed to map one script to several source files.
1532 Test: inspector/debugger/source-frame.html
1535 * WebCore.vcproj/WebCore.vcproj:
1536 * inspector/front-end/DebuggerPresentationModel.js: Added.
1537 (WebInspector.DebuggerPresentationModel):
1538 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
1539 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1540 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
1541 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
1542 (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
1543 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
1544 * inspector/front-end/ScriptsPanel.js:
1545 (WebInspector.ScriptsPanel):
1546 (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1547 (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
1548 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1549 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
1550 (WebInspector.ScriptsPanel.prototype._addSourceFrame):
1551 (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1552 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
1553 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
1554 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1555 (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
1556 * inspector/front-end/SourceFrame.js:
1557 (WebInspector.SourceFrame.prototype.get loaded):
1558 (WebInspector.SourceFrame.prototype._createTextViewer):
1559 (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
1560 (WebInspector.SourceFrame.prototype.setExecutionLine):
1561 (WebInspector.SourceFrame.prototype.clearExecutionLine):
1562 (WebInspector.SourceFrame.prototype.addBreakpoint):
1563 (WebInspector.SourceFrame.prototype.removeBreakpoint):
1564 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
1565 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
1566 (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
1567 (WebInspector.SourceFrame.prototype._findBreakpoint):
1568 * inspector/front-end/WebKit.qrc:
1569 * inspector/front-end/inspector.html:
1571 2011-02-22 Andrey Kosyakov <caseq@chromium.org>
1573 Reviewed by Pavel Feldman.
1575 Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
1576 https://bugs.webkit.org/show_bug.cgi?id=54671
1578 - factored toolbar handling out of inspector.js
1579 - added toolbar dropdown
1582 * WebCore.vcproj/WebCore.vcproj:
1583 * inspector/front-end/ExtensionServer.js:
1584 (WebInspector.ExtensionServer.prototype._onCreatePanel):
1585 * inspector/front-end/Panel.js:
1586 (WebInspector.Panel.prototype.get toolbarItem):
1587 * inspector/front-end/Toolbar.js: Added.
1588 (WebInspector.Toolbar):
1589 (WebInspector.Toolbar.prototype.resize):
1590 (WebInspector.Toolbar.prototype.addPanel):
1591 (WebInspector.Toolbar.prototype._toolbarDragStart):
1592 (WebInspector.Toolbar.prototype._toolbarDragEnd):
1593 (WebInspector.Toolbar.prototype._toolbarDrag):
1594 (WebInspector.Toolbar.prototype._onClose):
1595 (WebInspector.Toolbar.prototype._setDropdownVisible):
1596 (WebInspector.Toolbar.prototype._toggleDropdown):
1597 (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
1598 (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
1599 (WebInspector.Toolbar.createPanelToolbarItem):
1600 (WebInspector.ToolbarDropdown):
1601 (WebInspector.ToolbarDropdown.prototype.show):
1602 (WebInspector.ToolbarDropdown.prototype.hide):
1603 (WebInspector.ToolbarDropdown.prototype.get visible):
1604 (WebInspector.ToolbarDropdown.prototype._populate):
1605 (WebInspector.ToolbarDropdown.prototype._onKeyDown):
1606 * inspector/front-end/WebKit.qrc:
1607 * inspector/front-end/inspector.css:
1610 (.toolbar-item.toggleable):
1611 (.toolbar-item.toggleable.toggled-on):
1612 (#toolbar-dropdown .toolbar-icon):
1613 (#toolbar-dropdown .toolbar-label):
1614 (#toolbar-controls):
1615 (#toolbar-dropdown-arrow):
1616 (body.attached #toolbar-dropdown-arrow):
1617 (#toolbar-dropdown-arrow.dropdown-visible):
1618 (#toolbar-dropdown-arrow:hover):
1619 (#toolbar-dropdown-arrow:active):
1620 (#toolbar-dropdown):
1621 (body.detached.platform-mac-snowleopard #toolbar-dropdown):
1622 (#toolbar-dropdown .scrollable-content):
1623 (#toolbar-dropdown .toolbar-item):
1624 (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
1625 (#toolbar-dropdown .toolbar-item:hover):
1626 (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
1627 (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
1628 (.scrollable-content):
1629 (.scrollable-content::-webkit-scrollbar):
1630 (.scrollable-content::-webkit-resizer):
1631 (.scrollable-content::-webkit-scrollbar-thumb:vertical):
1632 (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
1633 (.scrollable-content::-webkit-scrollbar-track:vertical):
1634 (.toolbar-search-item):
1636 (body.attached #search):
1637 (#search-results-matches):
1638 (#close-button-left, #close-button-right):
1640 * inspector/front-end/inspector.html:
1641 * inspector/front-end/inspector.js:
1642 (WebInspector.set attached):
1643 (WebInspector.addPanel):
1644 (WebInspector.windowResize):
1646 2011-02-22 Philippe Normand <pnormand@igalia.com>
1648 Reviewed by Xan Lopez.
1650 [GTK] make distcheck fails
1651 https://bugs.webkit.org/show_bug.cgi?id=54943
1653 Added new headers and removed references to deleted files.
1657 2011-02-21 Yury Semikhatsky <yurys@chromium.org>
1659 Reviewed by Pavel Feldman.
1661 Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
1662 https://bugs.webkit.org/show_bug.cgi?id=54891
1664 * inspector/InspectorAgent.cpp:
1665 (WebCore::InspectorAgent::InspectorAgent):
1666 (WebCore::InspectorAgent::setFrontend):
1667 (WebCore::InspectorAgent::disconnectFrontend):
1668 (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1669 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1670 (WebCore::InspectorAgent::didCommitLoad):
1671 * inspector/InspectorAgent.h:
1672 (WebCore::InspectorAgent::instrumentingAgents):
1673 * inspector/InspectorDOMStorageAgent.cpp:
1674 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1675 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1676 (WebCore::InspectorDOMStorageAgent::setFrontend):
1677 (WebCore::InspectorDOMStorageAgent::clearFrontend):
1678 (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
1679 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1680 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
1681 (WebCore::InspectorDOMStorageAgent::clearResources):
1682 * inspector/InspectorDOMStorageAgent.h:
1683 (WebCore::InspectorDOMStorageAgent::create):
1684 * inspector/InspectorDatabaseAgent.cpp:
1685 (WebCore::InspectorDatabaseAgent::didOpenDatabase):
1686 (WebCore::InspectorDatabaseAgent::clearResources):
1687 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1688 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1689 (WebCore::InspectorDatabaseAgent::setFrontend):
1690 (WebCore::InspectorDatabaseAgent::clearFrontend):
1691 (WebCore::InspectorDatabaseAgent::databaseForId):
1692 (WebCore::InspectorDatabaseAgent::selectDatabase):
1693 * inspector/InspectorDatabaseAgent.h:
1694 (WebCore::InspectorDatabaseAgent::create):
1695 * inspector/InspectorInstrumentation.cpp:
1696 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
1697 (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
1699 2011-02-22 Steve Lacey <sjl@chromium.org>
1701 Reviewed by Darin Fisher.
1703 Rename new media statistics apis to better names
1705 https://bugs.webkit.org/show_bug.cgi?id=54784
1707 * html/HTMLMediaElement.cpp:
1708 (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
1709 (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
1710 * html/HTMLMediaElement.h:
1711 * html/HTMLMediaElement.idl:
1712 * html/HTMLVideoElement.cpp:
1713 (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
1714 (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
1715 * html/HTMLVideoElement.h:
1716 * html/HTMLVideoElement.idl:
1717 * platform/graphics/MediaPlayer.cpp:
1718 (WebCore::MediaPlayer::decodedFrameCount):
1719 (WebCore::MediaPlayer::droppedFrameCount):
1720 (WebCore::MediaPlayer::audioDecodedByteCount):
1721 (WebCore::MediaPlayer::videoDecodedByteCount):
1722 * platform/graphics/MediaPlayer.h:
1723 * platform/graphics/MediaPlayerPrivate.h:
1724 (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
1725 (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
1726 (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
1727 (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
1729 2011-02-21 Roland Steiner <rolandsteiner@chromium.org>
1731 Reviewed by Kent Tamura.
1733 Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
1734 https://bugs.webkit.org/show_bug.cgi?id=54435
1736 Changed the function to a series of early-exit 'if's,
1737 removed most temporary variables.
1739 No new tests. (refactoring)
1741 * css/CSSStyleSelector.cpp:
1742 (WebCore::CSSStyleSelector::canShareStyleWithElement):
1744 2011-02-21 Nico Weber <thakis@chromium.org>
1746 Reviewed by James Robinson.
1748 [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
1749 https://bugs.webkit.org/show_bug.cgi?id=54923
1751 Rename PopupContainer::show() to showInRect(), to make it obvious it's
1752 not an override of ScrollView::show().
1754 No intended functionality change.
1756 * platform/chromium/PopupMenuChromium.cpp:
1757 (WebCore::PopupContainer::showInRect):
1758 (WebCore::PopupMenuChromium::show):
1759 * platform/chromium/PopupMenuChromium.h:
1761 2011-02-21 Julien Chaffraix <jchaffraix@codeaurora.org>
1763 Reviewed by Antti Koivisto.
1765 Improve the local{SharedStyle,CousinList} algorithm
1766 https://bugs.webkit.org/show_bug.cgi?id=45507
1768 This change improves the algorithm to find shared styles: the old
1769 algorithm would stop the search after the first cousin, even if
1770 the search threshold is not met. As such, the algorithm would
1771 systematically miss sharings across second cousins and beyond.
1772 The new algorithm continues the search, as long as threshold is
1773 not met. It also separates the threshold for sibling/cousins
1774 search, from that on the levels of search, which is easier to
1776 The new algorithm finds up to 30% more sharings on some sites
1777 (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
1779 No new test, refactoring only.
1781 * css/CSSStyleSelector.cpp:
1782 (WebCore::CSSStyleSelector::locateCousinList):
1783 (WebCore::CSSStyleSelector::locateSharedStyle):
1784 While changing the algorithm, cleaned up the style of those 2 methods
1785 (use early return, renamed some variables).
1787 * css/CSSStyleSelector.h:
1789 2011-02-21 Nico Weber <thakis@chromium.org>
1791 Reviewed by Adam Barth.
1793 RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
1794 https://bugs.webkit.org/show_bug.cgi?id=54922
1796 RenderTableCell::baselinePosition() has the same name as a virtual
1797 method in superclass RenderBlock. Rename the subclass method to make
1798 it clear it's not an attempted override.
1800 No intended functionality change.
1802 * rendering/RenderTableCell.cpp:
1803 (WebCore::RenderTableCell::cellBaselinePosition):
1804 * rendering/RenderTableCell.h:
1805 * rendering/RenderTableSection.cpp:
1806 (WebCore::RenderTableSection::calcRowLogicalHeight):
1807 (WebCore::RenderTableSection::layoutRows):
1809 2011-02-21 Benjamin Kalman <kalman@chromium.org>
1811 Reviewed by Ryosuke Niwa.
1813 Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
1814 start/end of selection for RTL
1815 https://bugs.webkit.org/show_bug.cgi?id=54724
1817 On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
1818 This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
1819 extending from the end when for the "right" direction (e.g. pressing right arrow key).
1821 However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
1822 direction is obviously reversed) and likewise extend from the start when extending right.
1824 * editing/SelectionController.cpp:
1825 (WebCore::SelectionController::modify):
1827 2011-02-21 Nico Weber <thakis@chromium.org>
1829 Reviewed by Adam Barth.
1831 ImageDocument::imageChanged() confuses clang's -Woverride-virtual
1832 https://bugs.webkit.org/show_bug.cgi?id=54924
1834 Rename ImageDocument::imageChanged() to imageUpdated() to make clear
1835 that it's not an override of CachedResourceClient::imageChanged().
1837 * html/ImageDocument.cpp:
1838 (WebCore::ImageDocumentParser::appendBytes):
1839 (WebCore::ImageDocumentParser::finish):
1840 (WebCore::ImageDocument::imageUpdated):
1841 * html/ImageDocument.h:
1843 2011-02-21 Roland Steiner <rolandsteiner@chromium.org>
1845 Reviewed by Kent Tamura.
1847 Bug 54934 - Sort the WebCore project file(s)
1848 https://bugs.webkit.org/show_bug.cgi?id=54934
1850 No new tests. (no code affected)
1853 * WebCore.xcodeproj/project.pbxproj:
1855 2011-02-21 Nico Weber <thakis@chromium.org>
1857 Reviewed by Adam Barth.
1859 canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
1860 https://bugs.webkit.org/show_bug.cgi?id=54909
1862 Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
1863 unconfuse clang. No intended functionality change.
1865 * rendering/RenderBlockLineLayout.cpp:
1866 (WebCore::RenderBlock::checkLinesForTextOverflow):
1867 * rendering/RenderFlexibleBox.cpp:
1868 (WebCore::RenderFlexibleBox::applyLineClamp):
1869 * rendering/RootInlineBox.cpp:
1870 (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
1871 * rendering/RootInlineBox.h:
1873 2011-02-21 Adele Peterson <adele@apple.com>
1875 Reviewed by Dan Bernstein.
1877 Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
1878 REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
1880 Test: updated fast/forms/placeholder-position.html and tested manually
1882 Consider padding and margin for the results and cancel buttons. This is important for the Windows
1883 theme which uses padding to correctly position those buttons. This change fixes the placeholder
1884 position, and also better aligns the results popup list with the actual text you type.
1886 * rendering/RenderTextControlSingleLine.cpp:
1887 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1888 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1890 2011-02-21 Nico Weber <thakis@chromium.org>
1892 Reviewed by Kent Tamura.
1894 GIFImageDecoder::setSize() tries to override the superclass method but fails
1895 https://bugs.webkit.org/show_bug.cgi?id=54305
1897 The superclass uses unsigned instead of int for its parameters, so
1898 GIFImageDecoder::setSize() was an overload, not an override.
1900 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1901 (WebCore::GIFImageDecoder::setSize):
1902 * platform/image-decoders/gif/GIFImageDecoder.h:
1904 2011-02-21 Ryosuke Niwa <rniwa@webkit.org>
1906 Reviewed by Darin Adler.
1908 Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
1909 https://bugs.webkit.org/show_bug.cgi?id=54528
1911 * editing/ApplyStyleCommand.cpp:
1912 (WebCore::StyleChange::init): Allows style to be a null pointer.
1913 (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
1914 -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
1915 to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
1916 whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
1917 (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1918 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
1919 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
1920 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
1921 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
1922 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
1923 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
1924 ApplyStyleCommand::applyInlineStyle already does it.
1925 * editing/ApplyStyleCommand.h:
1926 * editing/EditingStyle.cpp:
1927 (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
1928 (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
1929 * editing/EditingStyle.h:
1931 2011-02-21 Mark Rowe <mrowe@apple.com>
1933 Reviewed by Darin Adler and Alexey Proskuryakov.
1935 <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
1937 * platform/graphics/cg/ImageSourceCG.cpp:
1938 (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
1939 frame properties dictionary and use that if it exists. If it does not exist in the
1940 dictionary then fall back to using the clamped frame delay.
1942 2011-02-21 James Kozianski <koz@chromium.org>
1944 Reviewed by Kent Tamura.
1946 Causes elements to be unfocusable after tabindex property is removed.
1947 https://bugs.webkit.org/show_bug.cgi?id=54727
1949 Test: fast/html/tabindex-removal.html
1952 (WebCore::Node::clearTabIndexExplicitly):
1954 * dom/NodeRareData.h:
1955 (WebCore::NodeRareData::clearTabIndexExplicitly):
1956 * html/HTMLElement.cpp:
1957 (WebCore::HTMLElement::parseMappedAttribute):
1959 2011-02-21 Alexey Proskuryakov <ap@apple.com>
1961 Reviewed by Mark Rowe.
1963 <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
1965 * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
1967 2011-02-21 Sam Weinig <sam@webkit.org>
1969 Reviewed by Dan Bernstein.
1971 Overhang areas need to be invalidated on scroll
1972 <rdar://problem/9032194>
1973 https://bugs.webkit.org/show_bug.cgi?id=54917
1975 * platform/ScrollView.cpp:
1976 (WebCore::ScrollView::scrollContents):
1977 We need to explicitly invalidate the overhang areas when we scroll the contents
1978 of a ScrollView, since they could contain arbitrary content that cannot be blitted.
1980 2011-02-21 Lucas Forschler <lforschler@apple.com>
1982 Reviewed by Stephanie Lewis.
1984 Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
1986 No new tests required.
1988 * WebCore.xcodeproj/project.pbxproj:
1990 2011-02-21 Pratik Solanki <psolanki@apple.com>
1992 Reviewed by Darin Adler.
1994 Remove global initializer in CookieStorageCFNet.cpp
1995 https://bugs.webkit.org/show_bug.cgi?id=54905
1997 * platform/network/cf/CookieStorageCFNet.cpp:
1998 (WebCore::currentCookieStorage):
1999 (WebCore::setCurrentCookieStorage):
2000 (WebCore::setCookieStoragePrivateBrowsingEnabled):
2002 2011-02-18 Jer Noble <jer.noble@apple.com>
2004 Reviewed by Sam Weinig.
2006 WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
2007 https://bugs.webkit.org/show_bug.cgi?id=54771
2009 Now that video is accelerated, we no longer need to special case
2010 video playing within a media document.
2012 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2013 (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2014 (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
2016 2011-02-21 Alexey Proskuryakov <ap@apple.com>
2018 Reviewed by Adam Roben.
2020 REGRESSION (WebKit2): HTTP requests time out after 60 seconds
2021 https://bugs.webkit.org/show_bug.cgi?id=54755
2022 <rdar://problem/9006592>
2024 No new tests - it won't be great to have a test that runs for a minute.
2026 It's now possible to set a default timeout to be used at ResourceRequest creation. If one
2027 hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
2028 or use INT_MAX on other platforms).
2031 * platform/network/ResourceRequestBase.cpp:
2032 (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
2033 default timeout interval (may be 0 if using NSURLRequest default).
2034 (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
2035 (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
2036 request is updated. Plaform code often calls updateResourceRequest() indirectly from this
2037 function, and that must obviously be a no-op.
2038 (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
2040 * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
2041 "defaultTimeoutInterval". It has been used as default by most platforms anyway.
2042 (WebCore::ResourceRequestBase::ResourceRequestBase):
2044 * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
2045 Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
2046 setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
2048 2011-02-21 Martin Robinson <mrobinson@igalia.com>
2050 Reviewed by Xan Lopez.
2052 [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
2053 https://bugs.webkit.org/show_bug.cgi?id=54895
2055 Correct the GTK+ clipboard implementation to know that "text" is an alias
2056 for "text/html" data. This corrects the failing test.
2058 * platform/gtk/ClipboardGtk.cpp:
2059 (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
2060 (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
2062 2011-02-21 Vsevolod Vlasov <vsevik@chromium.org>
2064 Reviewed by Pavel Feldman.
2066 ProcessingInstruction should provide a way to know if it is of CSS type.
2067 https://bugs.webkit.org/show_bug.cgi?id=54868
2069 * dom/ProcessingInstruction.cpp:
2070 (WebCore::ProcessingInstruction::ProcessingInstruction):
2071 (WebCore::ProcessingInstruction::checkStyleSheet):
2072 (WebCore::ProcessingInstruction::setCSSStyleSheet):
2073 * dom/ProcessingInstruction.h:
2074 (WebCore::ProcessingInstruction::isCSS):
2076 2011-02-21 Simon Fraser <simon.fraser@apple.com>
2078 Put JSDOMImplementationCustom.cpp where it belongs in the project.
2080 * WebCore.xcodeproj/project.pbxproj:
2082 2011-02-21 Gavin Barraclough <barraclough@apple.com>
2084 Reviewed by Sam Weinig.
2086 Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
2088 The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
2089 containing a pointer to its parent class. These links should reflect the inheritance
2090 hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
2091 entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
2092 since intervening C++ classes may not have ClassInfo - but would be a potential bug
2093 were ClassInfo were to be added.
2095 * bindings/js/JSAudioConstructor.cpp:
2096 * bindings/js/JSDOMGlobalObject.cpp:
2097 * bindings/js/JSImageConstructor.cpp:
2098 * bindings/js/JSOptionConstructor.cpp:
2099 * bindings/scripts/CodeGeneratorJS.pm:
2100 * bridge/objc/objc_runtime.mm:
2101 * bridge/runtime_object.cpp:
2103 2011-02-21 Pavel Feldman <pfeldman@chromium.org>
2105 Reviewed by Yury Semikhatsky.
2107 Web Inspector: navigation does not work after reopening frontend.
2108 https://bugs.webkit.org/show_bug.cgi?id=54879
2110 Test: http/tests/inspector-enabled/open-close-open.html
2112 * inspector/InspectorAgent.cpp:
2113 (WebCore::InspectorAgent::setFrontend):
2114 * inspector/InspectorState.cpp:
2115 (WebCore::InspectorState::unmute):
2116 * inspector/InspectorState.h:
2118 2011-02-21 Adam Roben <aroben@apple.com>
2120 Protect the PluginView when evaluating javascript: URLs
2122 Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
2123 plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
2126 Reviewed by Sam Weinig.
2128 * plugins/PluginView.cpp:
2129 (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
2130 when evaluating javascript: URLs.
2132 2011-02-21 Martin Robinson <mrobinson@igalia.com>
2134 Fix GTK+ build after r79223.
2136 * GNUmakefile.am: Add file missing from the source list.
2138 2011-02-14 Alexander Pavlov <apavlov@chromium.org>
2140 Reviewed by Yury Semikhatsky.
2142 Web Inspector: audits should not warn about gzip compression for 304s
2143 https://bugs.webkit.org/show_bug.cgi?id=54343
2145 Do not run compression-related audits on 304 resources.
2146 Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
2148 * inspector/front-end/AuditRules.js:
2149 (WebInspector.AuditRules.GzipRule.prototype.doRun):
2150 (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
2152 2011-02-08 Anton Muhin <antonm@chromium.org>
2154 Reviewed by Adam Barth and Alexey Proskuryakov.
2156 Propagate security origin of parent document into HTML documents created with DOMImplementation
2157 https://bugs.webkit.org/show_bug.cgi?id=53611
2159 This restores invariant that JS wrappers residing in the same JS context should come
2160 from the same security origin.
2162 Absence of regressions is covered by the current tests. Different security origin of
2163 DOMImplementation is difficult to check with layout tests as DOMImplementation
2164 resides in the same JS context as parent document and therefore there are no security origin checks.
2165 This is observable however in C++.
2167 * Android.jscbindings.mk:
2171 * WebCore.vcproj/WebCore.vcproj:
2172 * WebCore.xcodeproj/project.pbxproj:
2173 * bindings/v8/V8GCController.cpp:
2174 (WebCore::NodeGrouperVisitor::visitDOMWrapper):
2175 * dom/DOMImplementation.cpp:
2176 (WebCore::DOMImplementation::DOMImplementation):
2177 (WebCore::DOMImplementation::createDocument):
2178 * dom/DOMImplementation.h:
2179 (WebCore::DOMImplementation::create):
2180 (WebCore::DOMImplementation::documentDestroyed):
2181 (WebCore::DOMImplementation::parentDocument):
2182 * dom/DOMImplementation.idl:
2184 (WebCore::Document::~Document):
2185 (WebCore::Document::implementation):
2188 2011-02-21 Andrey Adaikin <aandrey@google.com>
2190 Reviewed by Pavel Feldman.
2192 Web Inspector: [Text editor] Optimize editing updates in gutter panel
2193 https://bugs.webkit.org/show_bug.cgi?id=54866
2195 * inspector/front-end/TextViewer.js:
2196 (WebInspector.TextViewer.prototype.set startEditingListener):
2197 (WebInspector.TextViewer.prototype.set endEditingListener):
2198 (WebInspector.TextViewer.prototype.endUpdates):
2199 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2200 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2201 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2202 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2203 (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2204 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2206 2011-02-21 Alexander Pavlov <apavlov@chromium.org>
2208 Reviewed by Yury Semikhatsky.
2210 Web Inspector: [Audits] Image dimensions in inline style not checked
2211 https://bugs.webkit.org/show_bug.cgi?id=54738
2213 * inspector/front-end/AuditRules.js:
2214 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2216 2011-02-21 Yury Semikhatsky <yurys@chromium.org>
2218 Reviewed by Pavel Feldman.
2220 Web Inspector: create and destroy DOM agent along with InspectorAgent
2221 https://bugs.webkit.org/show_bug.cgi?id=54875
2226 * WebCore.vcproj/WebCore.vcproj:
2227 * WebCore.xcodeproj/project.pbxproj:
2228 * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
2230 (WebCore::InstrumentingAgents::InstrumentingAgents):
2231 (WebCore::InstrumentingAgents::~InstrumentingAgents):
2232 (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
2233 (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
2234 (WebCore::InstrumentingAgents::inspectorConsoleAgent):
2235 (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
2236 (WebCore::InstrumentingAgents::inspectorDOMAgent):
2237 (WebCore::InstrumentingAgents::setInspectorDOMAgent):
2238 (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
2239 (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
2240 (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
2241 (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
2242 (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
2243 (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
2244 (WebCore::InstrumentingAgents::inspectorProfilerAgent):
2245 (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
2246 (WebCore::InstrumentingAgents::inspectorResourceAgent):
2247 (WebCore::InstrumentingAgents::setInspectorResourceAgent):
2248 (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
2249 (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
2250 (WebCore::InstrumentingAgents::inspectorStorageAgent):
2251 (WebCore::InstrumentingAgents::setInspectorStorageAgent):
2252 (WebCore::InstrumentingAgents::inspectorTimelineAgent):
2253 (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
2254 * inspector/InspectorAgent.cpp:
2255 (WebCore::InspectorAgent::InspectorAgent):
2256 (WebCore::InspectorAgent::setFrontend):
2257 (WebCore::InspectorAgent::disconnectFrontend):
2258 (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2259 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
2260 (WebCore::InspectorAgent::didCommitLoad):
2261 (WebCore::InspectorAgent::domContentLoadedEventFired):
2262 (WebCore::InspectorAgent::loadEventFired):
2263 * inspector/InspectorAgent.h:
2264 * inspector/InspectorCSSAgent.cpp:
2265 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2266 (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
2267 * inspector/InspectorCSSAgent.h:
2268 * inspector/InspectorConsoleAgent.cpp:
2269 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2270 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2271 (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2272 (WebCore::InspectorConsoleAgent::clearFrontend):
2273 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2274 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
2275 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2276 (WebCore::InspectorConsoleAgent::addConsoleMessage):
2277 * inspector/InspectorConsoleAgent.h:
2278 * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
2279 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2280 (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
2282 (WebCore::InspectorDOMAgent::clearFrontend):
2283 * inspector/InspectorDOMAgent.h:
2284 (WebCore::InspectorDOMAgent::create):
2286 2011-02-21 Csaba Osztrogonác <ossy@webkit.org>
2288 Reviewed by Andreas Kling.
2290 [Qt][V8]REGRESSION(r79157): Fix build
2291 https://bugs.webkit.org/show_bug.cgi?id=54871
2293 * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
2295 2011-02-16 Vitaly Repeshko <vitalyr@chromium.org>
2297 Reviewed by Mihai Parparita.
2299 [V8] SerializedScriptValue: fix JS exception handling.
2300 https://bugs.webkit.org/show_bug.cgi?id=54555
2302 Added checks for exceptions and empty handles:
2303 * bindings/v8/SerializedScriptValue.cpp:
2304 (WebCore::Serializer::Serializer):
2305 (WebCore::Serializer::serialize):
2306 (WebCore::Serializer::checkException):
2307 (WebCore::Serializer::reportFailure):
2308 (WebCore::Serializer::ArrayState::advance):
2309 (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
2310 (WebCore::Serializer::AbstractObjectState::advance):
2311 (WebCore::Serializer::push):
2312 (WebCore::Serializer::handleError):
2313 (WebCore::Serializer::newObjectState):
2314 (WebCore::Serializer::doSerialize):
2315 (WebCore::SerializedScriptValue::SerializedScriptValue):
2317 2011-02-21 Ryosuke Niwa <rniwa@webkit.org>
2319 Reviewed by Kent Tamura.
2321 Add selectionchange event
2322 https://bugs.webkit.org/show_bug.cgi?id=45712
2324 Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
2325 This event is not cancelable and does not bubble. An event listener can be attached to a document by
2326 body element's onselectionchange attribute or via document's onselectionchange property.
2328 Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
2329 fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
2330 will not observe the event before the control returns to JavaScript.
2332 See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
2334 Tests: fast/events/selectionchange-iframe.html
2335 fast/events/selectionchange-user-initiated.html
2338 (WebCore::Document::enqueueDocumentEvent): Added.
2339 * dom/Document.h: Added selectionchange event listener.
2340 * dom/Document.idl: Added onselectionchagne attribute.
2341 * dom/EventNames.h: Added selectionchange
2342 * editing/SelectionController.cpp:
2343 (WebCore::SelectionController::setSelection): Fires selectionchange event.
2344 * html/HTMLAttributeNames.in: Added onselectionchange.
2345 * html/HTMLBodyElement.cpp:
2346 (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
2348 2011-02-21 Ilya Tikhonovsky <loislo@chromium.org>
2350 Reviewed by Pavel Feldman.
2352 Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
2353 https://bugs.webkit.org/show_bug.cgi?id=54859
2355 * inspector/CodeGeneratorInspector.pm:
2357 2011-02-21 Pavel Feldman <pfeldman@chromium.org>
2359 Reviewed by Yury Semikhatsky.
2361 Web Inspector: generate protocol documentation based on IDL.
2362 https://bugs.webkit.org/show_bug.cgi?id=54822
2364 * inspector/CodeGeneratorInspector.pm:
2366 2011-02-21 Andoni Morales Alastruey <amorales@flumotion.com>
2368 Reviewed by Martin Robinson.
2370 [GStreamer] Add URI queries support in webkitwebsrc
2371 https://bugs.webkit.org/show_bug.cgi?id=54627
2373 This allow replying to URI queries from downstream elements
2374 with the uri currently set in the source element.
2376 No new tests, this feature is dedicated to internal GStreamer use,
2377 such as the upcoming HTTP Live Streaming element.
2379 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2380 (webKitWebSrcQuery):
2382 2011-02-21 Andoni Morales Alastruey <amorales@flumotion.com>
2384 Reviewed by Martin Robinson.
2386 [GStreamer] Add 'location' property in webkitwebsrc
2387 https://bugs.webkit.org/show_bug.cgi?id=54628
2389 No new tests, this feature is dedicated to internal GStreamer use,
2390 such as the upcoming HTTP Live Streaming element.
2392 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2393 (webkit_web_src_class_init):
2394 (webKitWebSrcSetProperty):
2395 (webKitWebSrcGetProperty):
2397 2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
2399 Reviewed by Kent Tamura.
2401 Rename Position::node() to Position::deprecatedNode()
2402 https://bugs.webkit.org/show_bug.cgi?id=54622
2404 Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
2405 calls were of the form node()->document() and node()->inDocument() in which case they were
2406 replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
2408 * WebCore.exp.in: Added Position::containerNode.
2410 The rest abbreviated for simplicity. Please see svn log.
2412 2011-02-20 Gavin Barraclough <barraclough@apple.com>
2414 Build fix (remove includes).
2416 * bindings/js/JSDOMBinding.cpp:
2417 * bindings/js/JSDOMWindowCustom.cpp:
2418 * bindings/js/JSHistoryCustom.cpp:
2419 * bindings/js/JSLocationCustom.cpp:
2421 2011-02-20 Gavin Barraclough <barraclough@apple.com>
2423 Reviewed by Oliver Hunt.
2425 https://bugs.webkit.org/show_bug.cgi?id=54839
2426 Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
2428 Historically, Native functions used to be represented by PrototypeFunctions, however
2429 since introducing call optimizations to the JIT this has used JSFunctions for host
2430 calls too. At the point this change was made, the interpreter continued to use
2431 PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
2432 the interpreter has had to be able to run using host functions represented using
2433 JSFunctions - leading to an unnecessary and redundant divergence in behaviour between
2434 interpreter only builds, and situations where the JIT has fallen back to interpreting.
2436 NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
2437 for wrappers for host functions, and as such can also be removed.
2439 GlobalEvalFunction is a redundant wrapper that happens to be derived from
2440 PrototypeFunction. It existed to hold a reference to the global object - but since all
2441 functions how derive from JSObjectWithGlobalObject, this no longer requires an
2442 additional class to provide this functionality.
2444 * bindings/js/JSDOMBinding.cpp:
2445 * bindings/js/JSDOMWindowCustom.cpp:
2446 * bindings/js/JSHistoryCustom.cpp:
2447 * bindings/js/JSLocationCustom.cpp:
2448 Removed use of redundant classes.
2450 2011-02-20 Sheriff Bot <webkit.review.bot@gmail.com>
2452 Unreviewed, rolling out r79169.
2453 http://trac.webkit.org/changeset/79169
2454 https://bugs.webkit.org/show_bug.cgi?id=54846
2456 Made unexpected results for tests without CJK characters
2457 (Requested by tkent on #webkit).
2459 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2460 (WebCore::FontCache::createFontPlatformData):
2461 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2462 (WebCore::FontPlatformData::FontPlatformData):
2463 (WebCore::FontPlatformData::operator=):
2464 * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2465 (WebCore::FontPlatformData::orientation):
2466 * platform/graphics/skia/FontCustomPlatformData.cpp:
2467 (WebCore::FontCustomPlatformData::fontPlatformData):
2469 2011-02-20 Chun-Lung Huang <alvincl.huang@gmail.com>
2471 Reviewed by Kent Tamura.
2473 On Chromium Windows, glyphs in vertical text tests are rotated 90
2474 degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
2476 This platform dependent patch makes Chromium Windows show the
2477 vertical writing text correctly. Job was done by adding a prefix '@'
2478 in front of the font family name (Windows Only). No new tests added.
2480 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2481 (WebCore::FontCache::createFontPlatformData):
2482 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2483 (WebCore::FontPlatformData::FontPlatformData):
2484 (WebCore::FontPlatformData::operator=):
2485 * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2486 (WebCore::FontPlatformData::orientation):
2487 * platform/graphics/skia/FontCustomPlatformData.cpp:
2488 (WebCore::FontCustomPlatformData::fontPlatformData):
2490 2011-02-20 Simon Fraser <simon.fraser@apple.com>
2492 Reviewed by Dirk Schulze.
2494 REGRESSION (r73369-r73405): transform animation interpolates incorrectly
2495 https://bugs.webkit.org/show_bug.cgi?id=54793
2497 After the refactoring in r73380, the ending state for some types of
2498 accelerated animations was computed incorrectly, because the TransformationMatrix
2499 wasn't reset to identity before the ending value transformations were applied.
2501 Fix by cleaning up the code to use explicit, separate values for
2502 starting and ending values. Only matrix-type animations had this
2503 issue, but cleaned up other clauses similarly.
2505 Test: animations/3d/matrix-transform-type-animation.html
2507 * platform/graphics/ca/GraphicsLayerCA.cpp:
2508 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
2510 2011-02-20 Dan Bernstein <mitz@apple.com>
2512 Reviewed by Maciej Stachowiak.
2514 <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
2516 Test: fast/frames/iframe-scale-applied-twice.html
2518 * page/FrameView.cpp:
2519 (WebCore::FrameView::create): Set the initial bounds of the view to match the
2521 * platform/ScrollView.cpp:
2522 (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
2523 (WebCore::ScrollView::updateScrollbars): Ditto.
2524 (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
2525 change to setBoundsSize().
2526 (WebCore::ScrollView::setBoundsSize): Added.
2527 (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
2528 not update anything.
2529 (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
2530 (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
2531 * platform/ScrollView.h:
2532 (WebCore::ScrollView::boundsSize): Added this getter.
2533 * platform/Widget.h:
2534 (WebCore::Widget::resize): Set the bounds size to the frame size.
2535 * platform/mac/ScrollbarThemeMac.mm:
2536 (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
2537 path where the buffer rect was resized to capture only the damaged part, but was
2538 still drawn in the original location.
2540 2011-02-20 Alexey Proskuryakov <ap@apple.com>
2542 Reviewed by Eric Seidel.
2544 Tighten up access permissions by using libxslt API
2545 https://bugs.webkit.org/show_bug.cgi?id=52688
2546 <rdar://problem/8909191>
2548 * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
2549 interested in a string result, so let libxslt know about that.
2551 2011-02-20 Sheriff Bot <webkit.review.bot@gmail.com>
2553 Unreviewed, rolling out r79104.
2554 http://trac.webkit.org/changeset/79104
2555 https://bugs.webkit.org/show_bug.cgi?id=54835
2557 Might have caused flaky canaries (Requested by tonyg-cr on
2560 * html/parser/HTMLDocumentParser.cpp:
2561 (WebCore::HTMLDocumentParser::canTakeNextToken):
2562 (WebCore::HTMLDocumentParser::pumpTokenizer):
2563 * html/parser/HTMLParserScheduler.cpp:
2564 (WebCore::isLayoutTimerActive):
2565 * html/parser/HTMLParserScheduler.h:
2566 (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2569 2011-02-20 Dirk Schulze <krit@webkit.org>
2571 Reviewed by Nikolas Zimmermann.
2573 SVG animation - analyze attribute type for animation
2574 https://bugs.webkit.org/show_bug.cgi?id=54542
2576 Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
2577 with AnimatedAttributeType instead. More cleanup of the animation code.
2578 Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
2580 Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
2581 from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
2583 No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
2584 animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
2585 with the W3C test suite in trunk.
2587 The change on SVGUseElement gets covered by animate-elem-39-t.svg
2589 Test: svg/animations/animate-dynamic-update-attributeName.html
2591 * svg/SVGAnimateElement.cpp:
2592 (WebCore::SVGAnimateElement::SVGAnimateElement):
2593 (WebCore::SVGAnimateElement::hasValidAttributeType):
2594 (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2595 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2596 (WebCore::inheritsFromProperty):
2597 (WebCore::SVGAnimateElement::calculateFromAndToValues):
2598 (WebCore::SVGAnimateElement::calculateFromAndByValues):
2599 (WebCore::SVGAnimateElement::resetToBaseValue):
2600 (WebCore::SVGAnimateElement::applyResultsToTarget):
2601 (WebCore::SVGAnimateElement::calculateDistance):
2602 * svg/SVGAnimateElement.h:
2603 * svg/SVGAnimateMotionElement.cpp:
2604 (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
2605 (WebCore::parsePoint):
2606 (WebCore::SVGAnimateMotionElement::resetToBaseValue):
2607 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2608 (WebCore::SVGAnimateMotionElement::calculateDistance):
2609 * svg/SVGAnimateMotionElement.h:
2610 * svg/SVGAnimateTransformElement.cpp:
2611 (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2612 (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
2613 (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2614 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2615 (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
2616 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2617 (WebCore::SVGAnimateTransformElement::calculateDistance):
2618 * svg/SVGAnimateTransformElement.h:
2619 * svg/SVGAnimationElement.cpp:
2620 (WebCore::parseKeyTimes):
2621 (WebCore::parseKeySplines):
2622 (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
2623 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2624 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
2625 (WebCore::solveEpsilon):
2626 (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
2627 (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
2628 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2629 (WebCore::SVGAnimationElement::startedActiveInterval):
2630 * svg/SVGAnimationElement.h:
2631 * svg/SVGFilterElement.cpp:
2632 (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
2633 * svg/SVGGElement.cpp:
2634 (WebCore::SVGGElement::attributeToPropertyTypeMap):
2635 (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
2636 * svg/SVGGElement.h:
2637 * svg/SVGUseElement.cpp:
2638 (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
2639 * svg/animation/SMILTimeContainer.cpp:
2640 (WebCore::SMILTimeContainer::baseValueFor):
2641 (WebCore::SMILTimeContainer::updateAnimations):
2642 * svg/animation/SMILTimeContainer.h:
2643 * svg/animation/SVGSMILElement.cpp:
2644 (WebCore::SVGSMILElement::SVGSMILElement):
2645 (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
2646 (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
2647 (WebCore::SVGSMILElement::removedFromDocument): Ditto.
2648 (WebCore::SVGSMILElement::attributeChanged): Ditto.
2649 * svg/animation/SVGSMILElement.h:
2650 (WebCore::SVGSMILElement::attributeName):
2652 2011-02-20 David Kilzer <ddkilzer@apple.com>
2654 BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
2658 * rendering/RenderLayerCompositor.cpp:
2659 (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
2661 2011-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
2663 Reviewed by Martin Robinson.
2665 [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
2666 https://bugs.webkit.org/show_bug.cgi?id=52880
2668 * platform/gtk/KeyEventGtk.cpp:
2669 (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
2671 2011-02-19 Andreas Kling <kling@webkit.org>
2673 Reviewed by Oliver Hunt.
2675 DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
2676 https://bugs.webkit.org/show_bug.cgi?id=54545
2678 * page/DragController.cpp:
2679 (WebCore::DragController::concludeEditDrag):
2681 2011-02-19 Sam Weinig <sam@webkit.org>
2683 Reviewed by Anders Carlsson.
2685 Add phase in addition to momentumPhase to platform wheel events
2686 Part of <rdar://problem/8945362>
2688 Rename existing phase to momentumPhase.
2690 * platform/PlatformWheelEvent.h:
2691 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2692 (WebCore::PlatformWheelEvent::momentumPhase):
2693 * platform/mac/ScrollAnimatorMac.mm:
2694 (WebCore::ScrollAnimatorMac::handleWheelEvent):
2695 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2696 * platform/mac/WheelEventMac.mm:
2697 (WebCore::momentumPhaseForEvent):
2698 (WebCore::phaseForEvent):
2699 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2701 2011-02-19 Gavin Barraclough <barraclough@apple.com>
2705 * bridge/runtime_method.h:
2706 (JSC::RuntimeMethod::createStructure):
2708 2011-02-19 Gavin Barraclough <barraclough@apple.com>
2712 * bridge/qt/qt_instance.cpp:
2713 * bridge/qt/qt_pixmapruntime.cpp:
2715 2011-02-19 Gavin Barraclough <barraclough@apple.com>
2719 * bridge/qt/qt_instance.cpp:
2720 (JSC::Bindings::QtInstance::getMethod):
2721 * bridge/qt/qt_pixmapruntime.cpp:
2722 (JSC::Bindings::QtPixmapInstance::getMethod):
2724 2011-02-18 Gavin Barraclough <barraclough@apple.com>
2726 Reviewed by Sam Weinig.
2728 Bug 54786 - Devirtualize JSCell::classInfo()
2730 Instead of making a virtual function call, add a pointer to the ClassInfo
2733 This removes a virtual function call, and paves the way towards removing all
2734 the createStructure methods, and StructureFlags/AnonymousSlotCount properties
2735 (these should be able to move onto ClassInfo).
2737 Calls to Structure::create must now pass a pointer to the ClassInfo for the
2738 structure. All objects now have a ClassInfo pointer, non-object cell types
2741 Changes are most mechanical, involving three steps:
2742 * Remove virtual classInfo() methods.
2743 * Add &s_info parameter to calls to Structure::create.
2744 * Rename ClassInfo static members on classes from 'info' to 's_info',
2748 * bindings/js/JSAudioConstructor.cpp:
2749 * bindings/js/JSAudioConstructor.h:
2750 * bindings/js/JSDOMBinding.cpp:
2751 * bindings/js/JSDOMBinding.h:
2752 * bindings/js/JSDOMGlobalObject.cpp:
2753 * bindings/js/JSDOMGlobalObject.h:
2754 * bindings/js/JSDOMWindowBase.cpp:
2755 * bindings/js/JSDOMWindowBase.h:
2756 * bindings/js/JSDOMWindowShell.cpp:
2757 * bindings/js/JSDOMWindowShell.h:
2758 * bindings/js/JSGeolocationCustom.cpp:
2759 * bindings/js/JSImageConstructor.cpp:
2760 * bindings/js/JSImageConstructor.h:
2761 * bindings/js/JSImageDataCustom.cpp:
2762 * bindings/js/JSOptionConstructor.cpp:
2763 * bindings/js/JSOptionConstructor.h:
2764 * bindings/js/JSWorkerContextBase.cpp:
2765 * bindings/js/JSWorkerContextBase.h:
2766 * bindings/js/SerializedScriptValue.cpp:
2767 * bindings/scripts/CodeGeneratorJS.pm:
2768 * bridge/c/CRuntimeObject.cpp:
2769 * bridge/c/CRuntimeObject.h:
2770 * bridge/c/c_instance.cpp:
2771 * bridge/jni/jsc/JNIUtilityPrivate.cpp:
2772 * bridge/jni/jsc/JavaInstanceJSC.cpp:
2773 * bridge/jni/jsc/JavaRuntimeObject.cpp:
2774 * bridge/jni/jsc/JavaRuntimeObject.h:
2775 * bridge/jsc/BridgeJSC.cpp:
2776 * bridge/objc/ObjCRuntimeObject.h:
2777 * bridge/objc/ObjCRuntimeObject.mm:
2778 * bridge/objc/objc_instance.mm:
2779 * bridge/objc/objc_runtime.h:
2780 * bridge/objc/objc_runtime.mm:
2781 * bridge/runtime_array.cpp:
2782 * bridge/runtime_array.h:
2783 * bridge/runtime_method.cpp:
2784 * bridge/runtime_method.h:
2785 * bridge/runtime_object.cpp:
2786 * bridge/runtime_object.h:
2788 2011-02-19 Zan Dobersek <zandobersek@gmail.com>
2790 Reviewed by Martin Robinson.
2792 [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
2793 https://bugs.webkit.org/show_bug.cgi?id=54491
2795 When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
2796 and would round to 0, alter the behaviour to ensure that width or height are
2797 at least 1 pixel in size in these cases.
2799 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2800 (WebCore::GraphicsContext::roundToDevicePixels):
2802 2011-02-19 Dan Bernstein <mitz@apple.com>
2804 LLVM Compiler build fix.
2806 * platform/graphics/ShadowBlur.cpp:
2807 (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
2808 a global initializer since the compiler does not evaluate sqrtf at compile time.
2810 2011-02-19 Brian Ryner <bryner@chromium.org>
2812 Reviewed by Adam Barth.
2814 Replace the #include of DocumentLoader.h in Document.h with a
2815 forward declaration, and add a missing #include now that this
2816 transitive include is gone.
2817 https://bugs.webkit.org/show_bug.cgi?id=50489
2819 No new tests required.
2821 * bindings/ScriptControllerBase.cpp:
2824 2011-02-19 Patrick Gansterer <paroga@webkit.org>
2826 Reviewed by Antonio Gomes.
2828 [EFL] Remove WebCore::currentTime()
2829 https://bugs.webkit.org/show_bug.cgi?id=53886
2831 There is no declaration for it and we use WTF::currentTime() everywhere.
2833 * platform/efl/SystemTimeEfl.cpp:
2835 2011-02-19 Patrick Gansterer <paroga@webkit.org>
2837 Reviewed by Andreas Kling.
2839 Move KeygenWinCE from wince into win directory
2840 https://bugs.webkit.org/show_bug.cgi?id=54804
2842 Move this file into the win directory, since it can be used on all windows platforms.
2844 * CMakeListsWinCE.txt:
2845 * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
2847 2011-02-19 Patrick Gansterer <paroga@webkit.org>
2849 Reviewed by Andreas Kling.
2851 Make FileChooserWin.cpp more portable and use it on WinCE
2852 https://bugs.webkit.org/show_bug.cgi?id=54803
2854 * CMakeListsWinCE.txt:
2855 * platform/win/FileChooserWin.cpp:
2856 (WebCore::FileChooser::basenameForWidth):
2857 * platform/wince/FileChooserWinCE.cpp: Removed.
2859 2011-02-19 James Simonsen <simonjam@chromium.org>
2861 Reviewed by Adam Barth.
2863 Make ScriptElement match the HTML5 spec
2864 https://bugs.webkit.org/show_bug.cgi?id=54676
2866 This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
2867 http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
2869 There are a couple of things missing from the spec that would be new functionality. These will be added later.
2870 - Support for async=false
2871 - Empty src attribute should dispatch an error.
2873 There are a couple of slight behavioral changes to match the spec.
2874 - An XHTML script that is loaded then copied will not fire load on the copy.
2875 - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
2877 The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
2879 Test: All existing tests.
2881 * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
2882 (WebCore::ScriptElement::ScriptElement):
2883 (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
2884 (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
2885 (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
2886 (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
2887 (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
2888 (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
2889 (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
2890 (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
2891 (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
2892 (WebCore::ScriptElement::execute): Renamed executeScript.
2893 (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
2894 (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
2895 (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
2896 (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
2897 * dom/ScriptElement.h:
2898 (WebCore::ScriptElement::willBeParserExecuted): Added.
2899 (WebCore::ScriptElement::readyToBeParserExecuted): Added.
2900 (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
2901 (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
2902 (WebCore::ScriptElement::isParserInserted): Added.
2903 * dom/XMLDocumentParserLibxml2.cpp:
2904 (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
2905 * dom/XMLDocumentParserQt.cpp:
2906 (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
2907 * html/HTMLScriptElement.cpp:
2908 (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
2909 (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
2910 * html/HTMLScriptElement.h:
2911 * html/parser/HTMLScriptRunner.cpp:
2912 (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
2913 (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
2914 * svg/SVGScriptElement.cpp:
2915 (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
2916 (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
2917 (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
2918 (WebCore::SVGScriptElement::hasSourceAttribute): Added.
2919 (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
2920 * svg/SVGScriptElement.h:
2922 2011-02-19 Marc-Antoine Ruel <maruel@chromium.org>
2924 Reviewed by James Robinson.
2926 Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
2927 https://bugs.webkit.org/show_bug.cgi?id=54789
2929 * WebCore.gyp/WebCore.gyp:
2931 2011-02-19 Bill Budge <bbudge@chromium.org>
2933 Reviewed by David Levin.
2935 ThreadableLoaderClient needs willSendRequest method
2936 https://bugs.webkit.org/show_bug.cgi?id=54688
2938 No new tests. Exposes no new functionality
2941 * loader/DocumentThreadableLoader.cpp:
2942 (WebCore::DocumentThreadableLoader::willSendRequest):
2943 (WebCore::DocumentThreadableLoader::didReceiveData):
2944 (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
2945 * loader/DocumentThreadableLoaderClient.h: Added.
2946 (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
2947 (WebCore::DocumentThreadableLoaderClient::willSendRequest):
2948 * loader/ThreadableLoaderClient.h:
2949 (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
2951 2011-02-19 Charlie Reis <creis@chromium.org>
2953 Reviewed by Mihai Parparita.
2955 Ensure loading has stopped in HistoryController::goToItem
2956 https://bugs.webkit.org/show_bug.cgi?id=54517
2958 Avoid stopping all loaders in goToItem for same document navigations
2959 or pseudo-back-forward URLs. Make HistoryController::goToItem private
2960 to force callers to go through Page::goToItem. Also add a callback to
2961 FrameLoaderClient to let clients decide whether to stop loading first.
2963 Test: http/tests/navigation/forward-to-fragment-fires-onload.html
2965 * loader/EmptyClients.h:
2966 * loader/FrameLoader.h:
2967 * loader/FrameLoaderClient.h:
2968 * loader/HistoryController.cpp:
2969 * loader/HistoryController.h:
2972 2011-02-19 Adam Barth <abarth@webkit.org>
2974 Reviewed by Daniel Bates.
2976 Fix xssAuditor/iframe-injection.html
2977 https://bugs.webkit.org/show_bug.cgi?id=54591
2979 We should block the iframe src attribute. Although this technically
2980 can't be used to run script, it's a pretty easy vector for stealing
2983 * html/parser/XSSFilter.cpp:
2984 (WebCore::XSSFilter::filterTokenInitial):
2985 (WebCore::XSSFilter::filterIframeToken):
2986 * html/parser/XSSFilter.h:
2988 2011-02-18 Tony Gentilcore <tonyg@chromium.org>
2990 Reviewed by Eric Seidel.
2992 Let the parser yield for layout before running scripts
2993 https://bugs.webkit.org/show_bug.cgi?id=54355
2995 Prior to this patch, the parser would yield to perform a layout/paint before running a
2996 script only if the script or a stylesheet blocking the script is not loaded yet. Since we
2997 don't preload scan into the body while parsing the head, typically we'll block on a script
2998 early in the body that causes us to yield to do the first paint within a reasonable time.
3000 However, I'm planning to change the PreloadScanner to scan into the body from the head.
3001 That significantly improves overall load time, but would hurt first paint time because
3002 fewer scripts would be blocked during parsing and thus wouldn't yield.
3004 This change causes us to yield before running scripts if we haven't painted yet (regardless
3005 of whether or not the script is loaded). In addition to allowing the above mentioned
3006 PreloadScanner change to be implemented without regressing first paint time, this also
3007 improves first paint time by itself.
3009 I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
3010 bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
3011 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
3012 signifcant change in page load time.
3014 Within the pages tested, 33 had no statistically significant change in time to first paint,
3015 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
3016 are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
3018 * html/parser/HTMLDocumentParser.cpp:
3019 (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
3020 (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
3021 means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
3022 the right thing whether we are just before a token or waiting for a script. Now that we may
3023 yield before a token or before a script, this may be called while paused.
3024 * html/parser/HTMLParserScheduler.cpp:
3025 (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
3026 to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
3027 no longer works. The fix is to change it to check minimumLayoutDelay() ==
3028 m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
3029 do this in a follow up.
3030 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
3032 (WebCore::FrameView::hasEverPainted): Added.
3034 2011-02-18 Dawit Alemayehu <adawit@kde.org>
3036 Reviewed by Andreas Kling.
3038 [Qt] Button Element is rendered w/ text off-center.
3039 https://bugs.webkit.org/show_bug.cgi?id=53373
3041 Test: LayoutTests/fast/forms/button-white-space.html
3043 * platform/qt/RenderThemeQt.cpp:
3044 (WebCore::RenderThemeQt::adjustButtonStyle):
3046 2011-02-18 Jonathan Backer <backer@chromium.org>
3048 Reviewed by Eric Seidel.
3050 [chromium] Fix leak of texture IDs in compositor.
3051 https://bugs.webkit.org/show_bug.cgi?id=54750
3053 No new tests. It is extremely unlikely that this leak would have
3054 any user visible impact because only a few bytes of space are wasted
3055 (we're leaking texture IDs, not actual textures) and the space of
3056 texture IDs is large (32 bits).
3058 * platform/graphics/chromium/TextureManager.cpp:
3059 (WebCore::TextureManager::requestTexture):
3061 2011-02-18 Yi Shen <yi.4.shen@nokia.com>
3063 Reviewed by Tor Arne Vestbø.
3065 Always display the media controls when requiresFullscreenForVideoPlayback() is true
3066 https://bugs.webkit.org/show_bug.cgi?id=54308
3068 For video element, it should have controls when
3069 Chrome::requiresFullscreenForVideoPlayback() is true.
3071 * html/HTMLMediaElement.cpp:
3072 (WebCore::HTMLMediaElement::controls):
3074 2011-02-18 Adrienne Walker <enne@google.com>
3076 Reviewed by Kenneth Russell.
3078 [chromium] Use nearest-neighbor filtering for root layer.
3079 https://bugs.webkit.org/show_bug.cgi?id=54409
3080 https://bugs.webkit.org/show_bug.cgi?id=54509
3082 This setting creates more consistent images for LayoutTests and
3083 prevents small floating point errors in texture coordinates from
3084 creating off-by-one pixel color differences.
3086 * platform/graphics/chromium/LayerTilerChromium.cpp:
3087 (WebCore::LayerTilerChromium::update):
3089 2011-02-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3091 Reviewed by Kent Tamura.
3093 [EFL] Fix coding style errors in RenderThemeEfl.h
3094 https://bugs.webkit.org/show_bug.cgi?id=54693
3096 Fix style errors in RenderThemeEfl.h
3098 * platform/efl/RenderThemeEfl.h:
3100 2011-02-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
3102 Reviewed by Andreas Kling.
3104 [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
3105 https://bugs.webkit.org/show_bug.cgi?id=54742
3107 This change was applied in the Qt repository (qt/src/3rdparty/webkit),
3108 so we should do the same here in QtWebKit.
3110 Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
3111 a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
3113 The previously used name "Nokia, Qt" was not usable for Nokia
3114 Content Signing, which only allows "Nokia" as the visible vendor
3115 name. The unique vendor ID remains as "Nokia, Qt"
3119 2011-02-18 Alexis Menard <alexis.menard@openbossa.org>
3121 Reviewed by Andreas Kling.
3123 [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
3124 menu bar due to flash.
3125 https://bugs.webkit.org/show_bug.cgi?id=54741
3127 Only show plugins with a valid size. We then don't involve X11 if there is
3128 nothing to see anyway.
3130 * plugins/qt/PluginViewQt.cpp:
3131 (WebCore::PluginView::updatePluginWidget):
3132 (WebCore::PluginView::platformStart):
3134 2011-02-18 Ryuan Choi <ryuan.choi@samsung.com>
3136 Reviewed by Kent Tamura.
3138 [EFL] Remove GDK dependency.
3139 https://bugs.webkit.org/show_bug.cgi?id=53978
3141 Remove GLIB_SUPPORT macro in GDK related code.
3142 Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
3144 * CMakeListsEfl.txt:
3145 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3146 (WebCore::getDefaultFontOptions):
3148 2011-02-18 Noel Gordon <noel.gordon@gmail.com>
3150 Reviewed by James Robinson.
3152 [Chromium] Add elliptical gradient support to GradientSkia
3153 https://bugs.webkit.org/show_bug.cgi?id=51841
3155 Covered by existing tests, these need new rebaselines once this patch
3156 lands for chrome linux, win32
3158 fast/gradients/css3-color-stop-units.html
3159 fast/gradients/css3-color-stops.html
3160 fast/gradients/css3-linear-angle-gradients.html
3161 fast/gradients/css3-radial-gradients.html
3162 fast/gradients/css3-radial-gradients2.html
3163 fast/gradients/css3-radial-gradients3.html
3164 fast/gradients/css3-repeating-radial-gradients.html
3166 * platform/graphics/skia/GradientSkia.cpp:
3167 (WebCore::Gradient::platformGradient):
3169 2011-02-18 James Robinson <jamesr@chromium.org>
3171 Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
3173 * platform/graphics/chromium/ContentLayerChromium.cpp:
3174 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
3176 2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
3178 Reviewed by Kenneth Rohde Christiansen.
3180 Tiled backing store area is too big.
3181 Error in area calculcation causes size of backing store
3182 up to 6 times bigger than viewport with default multipliers.
3183 https://bugs.webkit.org/show_bug.cgi?id=54587
3185 * platform/graphics/TiledBackingStore.cpp:
3186 (WebCore::TiledBackingStore::createTiles):
3188 2011-02-18 Beth Dakin <bdakin@apple.com>
3190 Reviewed by Sam Weinig.
3192 Fix for <rdar://problem/9018729> Horizontal scroller doesn't
3193 appear when loading a page with a Horizontal scrollbar from
3194 the back/forward cache.
3196 This patch adds a new bool member variable to FrameView to
3197 keep track of whether we are loading a page from the back/
3198 forward cache. If we are, don't suppress scrollbars on
3200 * history/CachedFrame.cpp:
3201 (WebCore::CachedFrameBase::restore):
3202 * page/FrameView.cpp:
3203 (WebCore::FrameView::FrameView):
3204 (WebCore::FrameView::reset):
3205 (WebCore::FrameView::layout):
3207 (WebCore::FrameView::setIsRestoringFromBackForward):
3208 (WebCore::FrameView::isRestoringFromBackForward):
3210 2011-02-18 Patrick Gansterer <paroga@webkit.org>
3212 Unreviewed WinCE build fix for r78846.
3214 * platform/graphics/wince/FontWinCE.cpp:
3215 (WebCore::TextRunComponent::TextRunComponent):
3216 * platform/graphics/wince/GraphicsContextWinCE.cpp:
3217 (WebCore::GraphicsContext::drawLineForText):
3218 (WebCore::GraphicsContext::drawLineForTextChecking):
3219 (WebCore::GraphicsContext::drawText):
3220 * platform/wince/FileChooserWinCE.cpp:
3221 (WebCore::FileChooser::basenameForWidth):
3223 2011-02-18 Emil A Eklund <eae@chromium.org>
3225 Reviewed by Darin Adler.
3227 Crash in EventHandler::sendContextMenuEventForKey
3228 https://bugs.webkit.org/show_bug.cgi?id=54495
3230 Test: fast/events/menu-keydown-on-hidden-element.html
3232 * page/EventHandler.cpp:
3233 (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
3235 2011-02-15 Adrienne Walker <enne@google.com>
3237 Reviewed by James Robinson.
3239 [chromium] Clean up shader code from LayerChromium classes
3240 https://bugs.webkit.org/show_bug.cgi?id=54484
3242 This is a refactoring and there should be no change in functionality.
3243 All shader code is pulled out into classes in ShaderChromium.
3244 The SharedValues classes are now turned into ProgramBinding, one per
3245 shader program. These contain shader classes that know about what
3246 variables they can bind.
3249 * platform/graphics/chromium/CanvasLayerChromium.cpp:
3250 (WebCore::CanvasLayerChromium::draw):
3251 * platform/graphics/chromium/CanvasLayerChromium.h:
3252 * platform/graphics/chromium/ContentLayerChromium.cpp:
3253 (WebCore::ContentLayerChromium::draw):
3254 * platform/graphics/chromium/ContentLayerChromium.h:
3255 * platform/graphics/chromium/GeometryBinding.cpp: Added.
3256 (WebCore::GeometryBinding::GeometryBinding):
3257 (WebCore::GeometryBinding::~GeometryBinding):
3258 (WebCore::GeometryBinding::prepareForDraw):
3259 * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
3260 (WebCore::GeometryBinding::initialized):
3261 (WebCore::GeometryBinding::context):
3262 (WebCore::GeometryBinding::quadVerticesVbo):
3263 (WebCore::GeometryBinding::quadElementsVbo):
3264 (WebCore::GeometryBinding::positionAttribLocation):
3265 (WebCore::GeometryBinding::texCoordAttribLocation):
3266 * platform/graphics/chromium/LayerChromium.cpp:
3267 (WebCore::LayerChromium::drawDebugBorder):
3268 * platform/graphics/chromium/LayerChromium.h:
3269 * platform/graphics/chromium/LayerRendererChromium.cpp:
3270 (WebCore::LayerRendererChromium::drawLayers):
3271 (WebCore::LayerRendererChromium::initializeSharedObjects):
3272 (WebCore::LayerRendererChromium::cleanupSharedObjects):
3273 * platform/graphics/chromium/LayerRendererChromium.h:
3274 (WebCore::LayerRendererChromium::sharedGeometry):
3275 (WebCore::LayerRendererChromium::borderProgram):
3276 (WebCore::LayerRendererChromium::contentLayerProgram):
3277 (WebCore::LayerRendererChromium::canvasLayerProgram):
3278 (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
3279 (WebCore::LayerRendererChromium::videoLayerYUVProgram):
3280 (WebCore::LayerRendererChromium::pluginLayerProgram):
3281 (WebCore::LayerRendererChromium::renderSurfaceProgram):
3282 (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
3283 (WebCore::LayerRendererChromium::tilerProgram):
3284 * platform/graphics/chromium/LayerTilerChromium.cpp:
3285 (WebCore::LayerTilerChromium::draw):
3286 (WebCore::LayerTilerChromium::drawTexturedQuad):
3287 * platform/graphics/chromium/LayerTilerChromium.h:
3288 * platform/graphics/chromium/PluginLayerChromium.cpp:
3289 (WebCore::PluginLayerChromium::draw):
3290 * platform/graphics/chromium/PluginLayerChromium.h:
3291 * platform/graphics/chromium/ProgramBinding.cpp: Added.
3292 (WebCore::ProgramBindingBase::ProgramBindingBase):
3293 (WebCore::ProgramBindingBase::~ProgramBindingBase):
3294 (WebCore::ProgramBindingBase::init):
3295 (WebCore::ProgramBindingBase::loadShader):
3296 (WebCore::ProgramBindingBase::createShaderProgram):
3297 * platform/graphics/chromium/ProgramBinding.h: Added.
3298 (WebCore::ProgramBindingBase::program):
3299 (WebCore::ProgramBindingBase::initialized):
3300 (WebCore::ProgramBinding::ProgramBinding):
3301 (WebCore::ProgramBinding::vertexShader):
3302 (WebCore::ProgramBinding::fragmentShader):
3303 * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3304 (WebCore::RenderSurfaceChromium::drawSurface):
3305 * platform/graphics/chromium/RenderSurfaceChromium.h:
3306 * platform/graphics/chromium/ShaderChromium.cpp: Added.
3307 (WebCore::VertexShaderPosTex::VertexShaderPosTex):
3308 (WebCore::VertexShaderPosTex::init):
3309 (WebCore::VertexShaderPosTex::getShaderString):
3310 (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
3311 (WebCore::VertexShaderPosTexYUVStretch::init):
3312 (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
3313 (WebCore::VertexShaderPos::VertexShaderPos):
3314 (WebCore::VertexShaderPos::init):
3315 (WebCore::VertexShaderPos::getShaderString):
3316 (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
3317 (WebCore::VertexShaderPosTexTransform::init):
3318 (WebCore::VertexShaderPosTexTransform::getShaderString):
3319 (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
3320 (WebCore::FragmentTexAlphaBinding::init):
3321 (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
3322 (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
3323 (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
3324 (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
3325 (WebCore::FragmentShaderRGBATexAlphaMask::init):
3326 (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
3327 (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
3328 (WebCore::FragmentShaderYUVVideo::init):
3329 (WebCore::FragmentShaderYUVVideo::getShaderString):
3330 (WebCore::FragmentShaderColor::FragmentShaderColor):
3331 (WebCore::FragmentShaderColor::init):
3332 (WebCore::FragmentShaderColor::getShaderString):
3333 * platform/graphics/chromium/ShaderChromium.h: Added.
3334 (WebCore::VertexShaderPosTex::matrixLocation):
3335 (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
3336 (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
3337 (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
3338 (WebCore::VertexShaderPos::matrixLocation):
3339 (WebCore::VertexShaderPosTexTransform::matrixLocation):
3340 (WebCore::VertexShaderPosTexTransform::texTransformLocation):
3341 (WebCore::FragmentTexAlphaBinding::alphaLocation):
3342 (WebCore::FragmentTexAlphaBinding::samplerLocation):
3343 (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
3344 (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
3345 (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
3346 (WebCore::FragmentShaderYUVVideo::yTextureLocation):
3347 (WebCore::FragmentShaderYUVVideo::uTextureLocation):
3348 (WebCore::FragmentShaderYUVVideo::vTextureLocation):
3349 (WebCore::FragmentShaderYUVVideo::alphaLocation):
3350 (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
3351 (WebCore::FragmentShaderYUVVideo::signAdjLocation):
3352 (WebCore::FragmentShaderColor::colorLocation):
3353 * platform/graphics/chromium/VideoLayerChromium.cpp:
3354 (WebCore::VideoLayerChromium::draw):
3355 (WebCore::VideoLayerChromium::drawYUV):
3356 (WebCore::VideoLayerChromium::drawRGBA):
3357 * platform/graphics/chromium/VideoLayerChromium.h:
3359 2011-02-18 James Robinson <jamesr@chromium.org>
3361 Reviewed by Kenneth Russell.
3363 [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
3364 https://bugs.webkit.org/show_bug.cgi?id=54315
3366 This defers all operations on the compositor's GL context until the
3367 draw() call which is a prerequisite for moving the draw() off-thread.
3368 Also cleans up the update cycle a bit - there were some unused local
3369 variables and whatnot.
3371 One consequence of this change is that the upload buffer is retained
3372 across updates now instead of allocated by each paint. This is
3373 necessary so that the full layer contents can be uploaded if the
3374 texture manager evicts the layer's backing texture. This costs more
3375 persistent memory but avoids lots of allocator churn on updates.
3376 Another nonobvious detail is that I have to update the texture for
3377 ContentLayerChromiums in bindContentsTexture() because mask layers
3378 never draw(), they are instead bound to the secondary texture unit.
3380 * platform/graphics/chromium/ContentLayerChromium.cpp:
3381 (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
3382 (WebCore::ContentLayerChromium::updateContentsIfDirty):
3383 (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
3384 (WebCore::ContentLayerChromium::resizeUploadBuffer):
3385 (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
3386 (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
3387 (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
3388 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
3389 (WebCore::ContentLayerChromium::draw):
3390 (WebCore::ContentLayerChromium::unreserveContentsTexture):
3391 (WebCore::ContentLayerChromium::bindContentsTexture):
3392 * platform/graphics/chromium/ContentLayerChromium.h:
3393 * platform/graphics/chromium/ImageLayerChromium.cpp:
3394 (WebCore::ImageLayerChromium::updateContentsIfDirty):
3395 * platform/graphics/chromium/LayerChromium.cpp:
3396 (WebCore::LayerChromium::setBounds):
3397 * platform/graphics/chromium/LayerChromium.h:
3399 2011-02-18 Kenneth Russell <kbr@google.com>
3401 Unreviewed, Chromium build fix on certain Linux platforms.
3403 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
3405 2011-02-18 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
3407 Reviewed by Kenneth Rohde Christiansen.
3409 [Qt] Implement client based geolocation for qtport
3410 https://bugs.webkit.org/show_bug.cgi?id=42629
3412 Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
3414 No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
3418 * platform/qt/GeolocationServiceQt.cpp: Removed.
3419 * platform/qt/GeolocationServiceQt.h: Removed.
3421 2011-02-18 Yael Aharon <yael.aharon@nokia.com>
3423 Reviewed by Dave Hyatt.
3425 Add support for dir=auto
3426 https://bugs.webkit.org/show_bug.cgi?id=50916
3428 When an element has dir attribute with value "auto", call defaultWritingMode
3429 to find its directionality.
3430 Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
3431 and check this flag. This flag is set on every node between an element with
3432 dir=auto attribute and its first text node. Changes in the DOM between those
3433 elements will trigger re-evaluating the directionality, but changes not
3434 between those element do not need to be concerned.
3435 The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
3436 The directionality is evaluated when children are added, and cleared when they are
3437 removed. Directionality flag is also cleared on a child that is no longer determining
3438 the directionality due to a sibling being added before that child.
3440 Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
3441 We cannot used the mapped declaration, because it can take only one value.
3443 Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
3444 fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
3445 fast/dom/HTMLElement/attr-dir-auto-change-text.html
3446 fast/dom/HTMLElement/attr-dir-auto-children.html
3447 fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
3448 fast/dom/HTMLElement/attr-dir-auto.html
3449 fast/dom/HTMLElement/attr-dir-value-change.html
3451 * css/CSSStyleSelector.cpp:
3452 (WebCore::leftToRightDeclaration):
3453 (WebCore::rightToLeftDeclaration):
3454 (WebCore::CSSStyleSelector::canShareStyleWithElement):
3455 (WebCore::CSSStyleSelector::styleForElement):
3457 (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
3458 (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
3459 * html/HTMLElement.cpp:
3460 (WebCore::HTMLElement::mapToEntry):
3461 (WebCore::HTMLElement::parseMappedAttribute):
3462 (WebCore::setHasDirAutoFlagRecursively):
3463 (WebCore::HTMLElement::childrenChanged):
3464 (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
3465 (WebCore::HTMLElement::directionality):
3466 (WebCore::HTMLElement::dirAttributeChanged):
3467 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
3468 (WebCore::HTMLElement::calculateAndAdjustDirectionality):
3469 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
3470 * html/HTMLElement.h:
3472 2011-02-18 Yael Aharon <yael.aharon@nokia.com>