450332e2b3c865112b0b57712abd6806473bb9e9
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-28  Andreas Kling  <kling@webkit.org>
2
3         Reviewed by Kenneth Rohde Christiansen.
4
5         FrameLoader: Reorder early-returns in checkCompleted()
6         https://bugs.webkit.org/show_bug.cgi?id=55366
7
8         Check allChildrenAreComplete() last, since it's the most expensive.
9
10         * loader/FrameLoader.cpp:
11         (WebCore::FrameLoader::checkCompleted):
12
13 2011-02-28  Ryosuke Niwa  <rniwa@webkit.org>
14
15         Reviewed by Kent Tamura.
16
17         Range::processContents needs cleanup
18         https://bugs.webkit.org/show_bug.cgi?id=51006
19
20         Refactored Range::processContents.  Extracted childOfCommonRootBeforeOffset from processContents
21         which is used to find processStart and processEnd respectively.  In the case of processStart,
22         we use the next sibling of the node returned by childOfCommonRootBeforeOffset when m_start is not
23         the common root because copying m_start's ancestors will result in processing too much contents.
24
25         Also extracted processNodes and deleteCharacterData from processContents and processContentsBetweenOffsets.
26
27         In addition, lengthOfContentsInNode was modified to return the correct length instead of
28         numeric_limits<unsigned>::max() because the convention that processContentsBetweenOffsets automatically
29         corrects the length when endOffset is numeric_limits<unsigned>::max() seemed more confusing than
30         having two switch statements that need to be consistent.
31
32         Historically, lengthOfContentsInNode was introduced in r78413 as a build fix because unsigned const
33         LengthOfContentsInNode added in r78409 violated WebKit C++ rules and caused build failures on Mac and
34         other ports.
35
36         * dom/Range.cpp:
37         (WebCore::childOfCommonRootBeforeOffset): Extracted from processContents.
38         (WebCore::lengthOfContentsInNode): Added.
39         (WebCore::Range::processContents): Calls childOfCommonRootBeforeOffset, lengthOfContentsInNode,
40         and processNodes.
41         (WebCore::deleteCharacterData): Added.
42         (WebCore::Range::processContentsBetweenOffsets): Calls deleteCharacterData and processNodes.
43         (WebCore::Range::processNodes): Extracted from processContents and processContentsBetweenOffsets.
44         (WebCore::Range::processAncestorsAndTheirSiblings):
45         * dom/Range.h:
46
47 2011-02-28  Pavel Feldman  <pfeldman@chromium.org>
48
49         Not reviewed. Test harness change follow up.
50         Consider missing localized string a warning, not an error in the front-end.
51
52         * inspector/front-end/inspector.js:
53         (WebInspector.UIString):
54
55 2011-02-28  Steve Block  <steveblock@google.com>
56
57         Reviewed by Jeremy Orlow.
58
59         getJNIEnv() passes wrong type to AttachCurrentThread() for JNIEnv argument on Android
60         https://bugs.webkit.org/show_bug.cgi?id=55218
61
62         AttachCurrentThread() in Android's JVM takes a JINEnv**
63         argument.
64
65         No new tests, build fix only.
66
67         * bridge/jni/JNIUtility.cpp:
68         (JSC::Bindings::getJNIEnv):
69
70 2011-02-28  Renata Hodovan  <reni@webkit.org>
71
72         Reviewed by Andreas Kling.
73
74         FETurbulenceElement changes doesn't require relayout
75         https://bugs.webkit.org/show_bug.cgi?id=55141
76
77         When the FETurbulenceElement receives an update message but the given value remains the same we don't need
78         to relayout the filter.
79         Besides fix a typo in FETurbulence and change the paramterer type of FETurbulence::setNumOctaves from bool
80         to int according to the spec.
81
82         No new tests are needed because this modification is covered by the dynamic update tests of FETurbulence.
83
84         * platform/graphics/filters/FETurbulence.cpp:
85         (WebCore::FETurbulence::FETurbulence):
86         (WebCore::FETurbulence::create):
87         (WebCore::FETurbulence::type):
88         (WebCore::FETurbulence::setType):
89         (WebCore::FETurbulence::setBaseFrequencyY):
90         (WebCore::FETurbulence::setBaseFrequencyX):
91         (WebCore::FETurbulence::setSeed):
92         (WebCore::FETurbulence::setNumOctaves):
93         (WebCore::FETurbulence::setStitchTiles):
94         (WebCore::operator<<):
95         * platform/graphics/filters/FETurbulence.h:
96         * svg/SVGFETurbulenceElement.cpp:
97         (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
98         (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
99         (WebCore::SVGFETurbulenceElement::build):
100         * svg/SVGFETurbulenceElement.h:
101
102 2011-02-28  Pavel Feldman  <pfeldman@chromium.org>
103
104         Reviewed by Yury Semikhatsky.
105
106         WebInspector: InspectorAgent calls offsetWidth in the middle of painting
107         https://bugs.webkit.org/show_bug.cgi?id=54597
108
109         * inspector/InspectorAgent.cpp:
110         (WebCore::InspectorAgent::drawElementTitle):
111
112 2011-02-28  Roland Steiner  <rolandsteiner@chromium.org>
113
114         Reviewed by Kent Tamura.
115
116         Bug 55355 - TextIterator should not be a friend of RenderTextControl
117         https://bugs.webkit.org/show_bug.cgi?id=55355
118
119         Remove need for 'friend' clause by making innerTextElement() public.
120
121         No new tests. (simple refactoring)
122
123         * rendering/RenderTextControl.h:
124
125 2011-02-27  Patrick Gansterer  <paroga@webkit.org>
126
127         Reviewed by Darin Adler.
128
129         Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecWinCE
130         https://bugs.webkit.org/show_bug.cgi?id=55317
131
132         This functions are obsolete, since r78499 added TextCodecUTF8.
133         Also remove the "fast path" for UTF-8 data, because we now have a separate TextCodec.
134
135         * platform/text/TextEncodingRegistry.cpp:
136         (WebCore::buildBaseTextCodecMaps):
137         * platform/text/wince/TextCodecWinCE.cpp:
138         * platform/text/wince/TextCodecWinCE.h:
139
140 2011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
141
142         Reviewed by Sam Weinig.
143
144         Use OwnPtr to handle the memory of RenderBlock::m_floatingObjects and RenderBlock::m_positionedObjects
145         https://bugs.webkit.org/show_bug.cgi?id=55327
146
147         Refactor RenderBlock to use OwnPtr for m_floatingObjects and m_positionedObjects so we do not have
148         to release the memory manually.
149
150         * rendering/RenderBlock.cpp:
151         (WebCore::RenderBlock::~RenderBlock):
152         (WebCore::RenderBlock::selectionGaps):
153         (WebCore::RenderBlock::insertPositionedObject):
154         (WebCore::RenderBlock::insertFloatingObject):
155         (WebCore::RenderBlock::addOverhangingFloats):
156         (WebCore::RenderBlock::addIntrudingFloats):
157         * rendering/RenderBlock.h:
158         (WebCore::RenderBlock::positionedObjects):
159
160 2011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
161
162         Reviewed by Andreas Kling.
163
164         Eliminate DeprecatedPtrList
165         https://bugs.webkit.org/show_bug.cgi?id=17425
166
167         Remove the implementation of DeprecatedPtrList and all its references
168         from the build systems.
169
170         * Android.mk:
171         * CMakeLists.txt:
172         * GNUmakefile.am:
173         * WebCore.gypi:
174         * WebCore.order:
175         * WebCore.pro:
176         * WebCore.vcproj/WebCore.vcproj:
177         * WebCore.xcodeproj/project.pbxproj:
178         * platform/DeprecatedPtrList.h: Removed.
179         * platform/DeprecatedPtrListImpl.cpp: Removed.
180         * platform/DeprecatedPtrListImpl.h: Removed.
181
182 2011-02-27  Andreas Kling  <kling@webkit.org>
183
184         Reviewed by Kenneth Rohde Christiansen.
185
186         [Qt] Use WTF ref counting for FontPlatformDataPrivate
187         https://bugs.webkit.org/show_bug.cgi?id=55303
188
189         Make FontPlatformDataPrivate a RefCounted<FPDP>.
190         Incidentally fixes an uninitialized member bug in FontPlatformData().
191
192         * platform/graphics/qt/FontPlatformData.h:
193         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
194         (WebCore::FontPlatformData::FontPlatformData):
195         (WebCore::FontPlatformData::isHashTableDeletedValue):
196         (WebCore::FontPlatformData::font):
197         (WebCore::FontPlatformData::size):
198         (WebCore::FontPlatformData::family):
199         (WebCore::FontPlatformData::bold):
200         (WebCore::FontPlatformData::italic):
201         (WebCore::FontPlatformData::smallCaps):
202         (WebCore::FontPlatformData::pixelSize):
203         * platform/graphics/qt/FontPlatformDataQt.cpp:
204         (WebCore::toQFontWeight):
205         (WebCore::FontPlatformData::operator==):
206         (WebCore::FontPlatformData::hash):
207
208 2011-02-27  Benjamin Poulain  <ikipou@gmail.com>
209
210         Reviewed by Darin Adler.
211
212         Eliminate DeprecatedPtrList from RenderBlock
213         https://bugs.webkit.org/show_bug.cgi?id=54972
214
215         Refactor RenderBlock to get rid of the DeprecatedPtrList.
216         The floating objects are stored in a ListHashSet.
217
218         Refactoring covered by existing test.
219
220         * rendering/RenderBlock.cpp:
221         (WebCore::RenderBlock::~RenderBlock):
222         (WebCore::RenderBlock::addOverflowFromFloats):
223         (WebCore::RenderBlock::repaintOverhangingFloats):
224         (WebCore::RenderBlock::paintFloats):
225         (WebCore::RenderBlock::selectionGaps):
226         (WebCore::RenderBlock::insertFloatingObject):
227         (WebCore::RenderBlock::removeFloatingObject):
228         (WebCore::RenderBlock::removeFloatingObjectsBelow):
229         (WebCore::RenderBlock::positionNewFloats):
230         (WebCore::RenderBlock::positionNewFloatOnLine):
231         (WebCore::RenderBlock::logicalLeftOffsetForLine):
232         (WebCore::RenderBlock::logicalRightOffsetForLine):
233         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
234         (WebCore::RenderBlock::lowestFloatLogicalBottom):
235         (WebCore::RenderBlock::clearFloats):
236         (WebCore::RenderBlock::addOverhangingFloats):
237         (WebCore::RenderBlock::addIntrudingFloats):
238         (WebCore::RenderBlock::containsFloat):
239         (WebCore::RenderBlock::hitTestFloats):
240         (WebCore::RenderBlock::adjustForBorderFit):
241         * rendering/RenderBlock.h:
242         (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
243         (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
244         (WebCore::RenderBlock::FloatingObjectHashTranslator::hash):
245         (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
246         * rendering/RenderBlockLineLayout.cpp:
247         (WebCore::RenderBlock::layoutInlineChildren):
248         (WebCore::RenderBlock::matchedEndLine):
249
250 2011-02-26  Adam Barth  <abarth@webkit.org>
251
252         Reviewed by Eric Seidel.
253
254         <input value="type=submit"> throws a warning (“HTML parse error”)
255         https://bugs.webkit.org/show_bug.cgi?id=55120
256
257         This patch removes parse error messages from the HTML parser.  These
258         messages are displayed at the wrong times, aren't tested, and aren't
259         helpful.  We'll try again with some more informative messages and
260         better testing.
261
262         * html/parser/HTMLTreeBuilder.cpp:
263         (WebCore::HTMLTreeBuilder::parseError):
264
265 2011-02-26  Patrick Gansterer  <paroga@webkit.org>
266
267         Reviewed by Alexey Proskuryakov.
268
269         Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecBrew
270         https://bugs.webkit.org/show_bug.cgi?id=55309
271
272         This functions are obsolete, since r78499 added TextCodecUTF8.
273
274         * platform/text/TextEncodingRegistry.cpp:
275         (WebCore::buildBaseTextCodecMaps):
276         * platform/text/brew/TextCodecBrew.cpp:
277         * platform/text/brew/TextCodecBrew.h:
278
279 2011-02-26  Justin Schuh  <jschuh@chromium.org>
280
281         Reviewed by Darin Adler.
282
283         Delay firing of mutation events while setting attribute values
284         https://bugs.webkit.org/show_bug.cgi?id=55199
285
286         Test: fast/dom/attribute-change-on-mutate.html
287
288         * dom/Attr.cpp:
289         (WebCore::Attr::setValue):
290
291 2011-02-26  Yi Shen  <yi.4.shen@nokia.com>
292
293         Reviewed by Andreas Kling.
294
295         [Qt] Notify HTMLMediaElement when MediaPlayerPrivateQt's playback state gets changed
296         https://bugs.webkit.org/show_bug.cgi?id=55252
297
298         Need to invoke a callback function to notify the HTMLMediaElement
299         when MediaPlayerPrivateQt's playback state gets changed.
300
301         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
302         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): Set a flag to ignore the playback state change for pre-roll
303         (WebCore::MediaPlayerPrivateQt::commitLoad): Call playbackStateChanged() to notify HTMLMediaElement
304         (WebCore::MediaPlayerPrivateQt::stateChanged):
305         * platform/graphics/qt/MediaPlayerPrivateQt.h:
306
307 2011-02-25  Abhishek Arya  <inferno@chromium.org>
308
309         Reviewed by Adam Barth.
310
311         When plugin document parser finishes parsing, it runs the raw
312         document's parser finish functions which call the pending document
313         onload events that removes the frame from underneath. So, we protect
314         frame (and hence frameloader) in DocumentLoader::commitLoad.
315         https://bugs.webkit.org/show_bug.cgi?id=55289
316
317         Test: fast/frames/iframe-plugin-load-remove-document-crash.html
318
319         * loader/DocumentLoader.cpp:
320         (WebCore::DocumentLoader::commitLoad):
321
322 2011-02-26  Pavel Feldman  <pfeldman@chromium.org>
323
324         Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac.
325
326 2011-02-26  Pavel Feldman  <pfeldman@chromium.org>
327
328         Not reviewed: follow up to r79799. Fixing WinCE+Efl, mute new tests on Qt.
329         https://bugs.webkit.org/show_bug.cgi?id=55302
330
331         * CMakeLists.txt:
332
333 2011-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
334
335         Reviewed by Pavel Feldman.
336
337         XML without style should render as syntax-highlighted source.
338         https://bugs.webkit.org/show_bug.cgi?id=13807
339
340         XML tree view mode implemented. If XML does not have any style
341         information, it is rendered as highlighted source with collapsable
342         elements.
343
344         Tests: http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
345                http/tests/xmlviewer/dumpAsText/frames.html
346                http/tests/xmlviewer/dumpAsText/mathml.xml
347                http/tests/xmlviewer/dumpAsText/svg.xml
348                http/tests/xmlviewer/dumpAsText/wml.xml
349                http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
350                http/tests/xmlviewer/dumpAsText/xlink.xml
351                http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
352                http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
353                http/tests/xmlviewer/dumpAsText/xmlviewer.xml
354                http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
355                http/tests/xmlviewer/dumpAsText/xul.xml
356
357         * CMakeLists.txt:
358         * DerivedSources.make:
359         * GNUmakefile.am:
360         * WebCore.gyp/WebCore.gyp:
361         * WebCore.gypi:
362         * WebCore.vcproj/WebCore.vcproj:
363         * WebCore.xcodeproj/project.pbxproj:
364         * css/CSSStyleSelector.cpp:
365         (WebCore::CSSStyleSelector::matchUARules):
366         * dom/Document.cpp:
367         (WebCore::Document::Document):
368         (WebCore::Document::createElement):
369         * dom/Document.h:
370         (WebCore::Document::usesViewSourceStyles):
371         (WebCore::Document::setUsesViewSourceStyles):
372         (WebCore::Document::sawElementsInKnownNamespaces):
373         * dom/XMLDocumentParser.h:
374         * dom/XMLDocumentParserLibxml2.cpp:
375         (WebCore::XMLDocumentParser::XMLDocumentParser):
376         (WebCore::XMLDocumentParser::processingInstruction):
377         (WebCore::XMLDocumentParser::initializeParserContext):
378         (WebCore::XMLDocumentParser::doEnd):
379         * dom/XMLDocumentParserQt.cpp:
380         (WebCore::XMLDocumentParser::XMLDocumentParser):
381         (WebCore::XMLDocumentParser::initializeParserContext):
382         (WebCore::XMLDocumentParser::parseProcessingInstruction):
383         * html/HTMLViewSourceDocument.cpp:
384         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
385         * xml/XMLTreeViewer.cpp: Added.
386         (WebCore::XMLTreeViewer::XMLTreeViewer):
387         (WebCore::XMLTreeViewer::hasNoStyleInformation):
388         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
389         * xml/XMLTreeViewer.h: Added.
390         (WebCore::XMLTreeViewer::~XMLTreeViewer):
391         * xml/XMLViewer.xsl: Added.
392         * xml/XSLStyleSheet.h:
393         (WebCore::XSLStyleSheet::createFromString):
394
395 2011-02-26  Andreas Kling  <kling@webkit.org>
396
397         Reviewed by Kenneth Rohde Christiansen.
398
399         [Qt] Enable usage of synchronous HTTP feature in Qt
400         https://bugs.webkit.org/show_bug.cgi?id=37191
401
402         Currently, we spin an event loop when doing synchronous calls to
403         wait for completion. This patch uses synchronous requests in Qt,
404         if available, and spins the event loop as a fallback solution.
405
406         Based on work by Simon Hausmann and Peter Hartmann.
407
408         * platform/network/qt/QNetworkReplyHandler.cpp:
409         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
410         (WebCore::QNetworkReplyHandler::start):
411         * platform/network/qt/QNetworkReplyHandler.h:
412         * platform/network/qt/ResourceHandleQt.cpp:
413         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
414         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
415         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
416         (WebCore::WebCoreSynchronousLoader::didFail):
417         (WebCore::ResourceHandle::loadResourceSynchronously):
418
419 2011-02-26  Ryosuke Niwa  <rniwa@webkit.org>
420
421         Reviewed by Kent Tamura.
422
423         REGRESSION(r79398): Webkit crash on dojo theme tester page
424         https://bugs.webkit.org/show_bug.cgi?id=55290
425
426         The bug was caused by selectionStartCSSPropertyValue's not considering the possibility
427         of selectionStartStyle() returning a null pointer. Fixed it by adding a null check.
428
429         Test: editing/execCommand/value-without-selection-crash.html
430
431         * editing/Editor.cpp:
432         (WebCore::Editor::selectionStartCSSPropertyValue):
433
434 2011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
435
436         Reviewed by Pavel Feldman.
437
438         DumpRenderTree should reset frame opener between tests.
439         https://bugs.webkit.org/show_bug.cgi?id=54874
440
441         No new tests. (no code affected, just exporting a method for DumpRenderTree use)
442
443         * WebCore.exp.in:
444
445 2011-02-26  Jia Pu  <jpu@apple.com>
446
447         Reviewed by Dan Bernstein.
448
449         On Mac, need to remove misspell underline in Editor::learnSpelling().
450         https://bugs.webkit.org/show_bug.cgi?id=55251
451
452         This change makes sure that the misspelling markers are removed after the word is learned.
453
454         * editing/Editor.cpp:
455         (WebCore::Editor::learnSpelling):
456
457 2011-02-26  Rik Cabanier  <cabanier@adobe.com>
458
459         Reviewed by David Hyatt.
460
461         Fix that allows fixed length values to be floating point
462         https://bugs.webkit.org/show_bug.cgi?id=52699
463
464         Transitions now return matrices in floating point. 2 of the transition tests were failing
465         because they expected integer values.
466
467         * WebCore.xcodeproj/project.pbxproj:
468         * css/CSSStyleSelector.cpp:
469         (WebCore::convertToLength):
470         (WebCore::convertToIntLength):
471         (WebCore::convertToFloatLength):
472         (WebCore::CSSStyleSelector::applyProperty):
473         (WebCore::CSSStyleSelector::createTransformOperations):
474         * platform/Length.h:
475         (WebCore::Length::Length):
476         (WebCore::Length::operator==):
477         (WebCore::Length::operator!=):
478         (WebCore::Length::rawValue):
479         (WebCore::Length::type):
480         (WebCore::Length::quirk):
481         (WebCore::Length::setValue):
482         (WebCore::Length::calcFloatValue):
483         (WebCore::Length::isZero):
484         (WebCore::Length::blend):
485         (WebCore::Length::getIntValue):
486         (WebCore::Length::getFloatValue):
487         * rendering/AutoTableLayout.cpp:
488         (WebCore::AutoTableLayout::recalcColumn):
489         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
490         * rendering/FixedTableLayout.cpp:
491         (WebCore::FixedTableLayout::calcWidthArray):
492
493 2011-02-26  Eric Seidel  <eric@webkit.org>
494
495         Reviewed by Maciej Stachowiak.
496
497         malloc in removeChildren shows up on profile of peacekeeper domDynamicCreationCreateElement
498         https://bugs.webkit.org/show_bug.cgi?id=55204
499
500         * dom/ContainerNode.cpp:
501         (WebCore::ContainerNode::removeChildren):
502          - Using an inlineCapacity of 10 for now. We may want to tweak it later.
503          - This removes yet another malloc from code which removes nodes (which is rather common).
504
505 2011-02-26  Eric Seidel  <eric@webkit.org>
506
507         Reviewed by Maciej Stachowiak.
508
509         HashSet<T>::end() creation is expensive and should be avoided
510         https://bugs.webkit.org/show_bug.cgi?id=55205
511
512         In the common case, m_ranges is an empty set.  When that's
513         the case, we spend all our time in skipEmptyBuckets, walking
514         the hash storage skipping over empty buckets.
515         
516         This looks to be at least a 5% speedup on (my local version of) peacekeeper's domDynamicCreationCreateElement.
517
518         Before:
519         avg 383.6666666666667
520         median 386
521         stdev 7.152311203768722
522         min 360
523         max 391
524
525         After:
526         avg 366.3333333333333
527         median 366
528         stdev 2.712112747574399
529         min 362
530         max 377
531
532         * dom/Document.cpp:
533         (WebCore::Document::nodeChildrenChanged):
534         (WebCore::Document::nodeChildrenWillBeRemoved):
535         (WebCore::Document::nodeWillBeRemoved):
536         (WebCore::Document::textInserted):
537         (WebCore::Document::textRemoved):
538         (WebCore::Document::textNodesMerged):
539         (WebCore::Document::textNodeSplit):
540
541 2011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
542
543         Unreviewed, rolling out r79764.
544         http://trac.webkit.org/changeset/79764
545         https://bugs.webkit.org/show_bug.cgi?id=55295
546
547         "broke Chromium builds" (Requested by rniwa on #webkit).
548
549         * WebCore.exp.in:
550
551 2011-02-26  Adam Klein  <adamk@chromium.org>
552
553         Reviewed by Adam Barth.
554
555         [fileapi] Implement EntrySync.toURI by moving Entry::toURI to EntryBase
556         https://bugs.webkit.org/show_bug.cgi?id=54585
557
558         In order to move toURI to EntryBase, it needed access to
559         SecurityOrigin. Most of the changes below were to pass a
560         ScriptExecutionContext to DOMFileSystemBase to enable this.
561
562         Test: fast/filesystem/workers/file-entry-to-uri-sync.html
563
564         * WebCore.gypi:
565         * WebCore.xcodeproj/project.pbxproj:
566         * fileapi/DOMFileSystem.cpp:
567         (WebCore::DOMFileSystem::DOMFileSystem):
568         * fileapi/DOMFileSystemBase.cpp:
569         (WebCore::DOMFileSystemBase::DOMFileSystemBase):
570         (WebCore::DOMFileSystemBase::securityOrigin):
571         * fileapi/DOMFileSystemBase.h:
572         (WebCore::DOMFileSystemBase::create):
573         * fileapi/DOMFileSystemSync.cpp:
574         (WebCore::DOMFileSystemSync::create):
575         (WebCore::DOMFileSystemSync::DOMFileSystemSync):
576         * fileapi/DOMFileSystemSync.h:
577         (WebCore::DOMFileSystemSync::create):
578         * fileapi/Entry.cpp:
579         * fileapi/Entry.h:
580         * fileapi/EntryBase.cpp: Added.
581         (WebCore::EntryBase::EntryBase):
582         (WebCore::EntryBase::~EntryBase):
583         (WebCore::EntryBase::toURI):
584         * fileapi/EntryBase.h:
585         * fileapi/EntrySync.idl:
586
587 2011-02-26  Alice Boxhall  <aboxhall@chromium.org>
588
589         Reviewed by Ojan Vafai.
590
591         typing enter in the input element should not fire textInput
592         https://bugs.webkit.org/show_bug.cgi?id=54152
593
594         Stop textInput event propagation in HTMLInputElement::preDispatchEventHandler if the event target should submit implicitly.
595
596         Test: fast/forms/textinput-not-fired-on-enter-in-input.html
597
598         * html/HTMLInputElement.cpp:
599         (WebCore::HTMLInputElement::preDispatchEventHandler): Check m_inputType->shouldSubmitImplicitly for textInputEvents and stop propagation if true.
600
601 2011-02-26  James Simonsen  <simonjam@chromium.org>
602
603         Reviewed by Tony Gentilcore.
604
605         [Web Timing] loadEvent timing should refer to first load event if there are many
606         https://bugs.webkit.org/show_bug.cgi?id=55201
607
608         Test: fast/dom/webtiming-document-open.html
609
610         * page/DOMWindow.cpp:
611         (WebCore::DOMWindow::dispatchLoadEvent):
612
613 2011-02-26  Tony Gentilcore  <tonyg@chromium.org>
614
615         Reviewed by Adam Barth.
616
617         Fix isLayoutTimerActive for ports that set a minimumLayoutDelay
618         https://bugs.webkit.org/show_bug.cgi?id=54810
619
620         No new tests because no new functionality.
621
622         * dom/Document.cpp:
623         (WebCore::Document::isLayoutTimerActive): Moved from HTMLParserScheduler per FIXME. Compare
624         minimumLayoutDelay() to m_extraLayoutDelay instead of 0. This spirit of this comparison was
625         broken by r52919. The effect would be that ports that set an extra layout delay can't yield
626         between tokens. Note: can't be const because minimumLayoutDelay sets a member.
627         * dom/Document.h:
628         * html/parser/HTMLParserScheduler.cpp:
629         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
630         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
631
632 2011-02-26  David Dorwin  <ddorwin@chromium.org>
633
634         Reviewed by Darin Fisher.
635
636         Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
637
638         fullscreen javascript bindings not implemented for v8
639         https://bugs.webkit.org/show_bug.cgi?id=44797
640
641         Tested by the existing fullscreen Layout Tests.
642
643         * WebCore.gyp/WebCore.gyp:
644         * WebCore.gypi:
645
646 2011-02-26  Tony Gentilcore  <tonyg@chromium.org>
647
648         Reviewed by Adam Barth.
649
650         Prevent parser yields from triggering early dumpAsText()
651         https://bugs.webkit.org/show_bug.cgi?id=55187
652
653         DRT's dumpAsText() takes a snapshot when DocumentLoader::isLoadingInAPISense()
654         indicates the page is done. isLoadingInAPISense depends on
655         HTMLDocumentParser::isProcessingData(), which just checks if the parser is in an
656         insert() or append().
657
658         This means that if the parser is pumping in a resumeParsingAfterScriptExecution() or
659         resumeParsingAfterYield(), isLoadingInAPISense() may not be blocked. This patch
660         fixes that by repurposing m_writeNestingLevel as m_pumpSessionNestingLevel and
661         incrementing it in pumpTokenizer().
662
663         When I locally cause the parser to yield after every token, a lot of tests fail
664         because DRT snapshots too early. This patch fixes those tests, however I'm having
665         trouble writing a test case that reliably reproduces the problem without this patch
666         and passes with it (without changing yield constants). This is because it requires
667         4,096 tokens in a single pump session to yield and (len('<b>' * 4096 = 12k, which
668         doesn't always happen).
669
670         * html/parser/HTMLDocumentParser.cpp:
671         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
672         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
673         (WebCore::HTMLDocumentParser::processingData):
674         (WebCore::HTMLDocumentParser::pumpTokenizer):
675         (WebCore::HTMLDocumentParser::insert):
676         (WebCore::HTMLDocumentParser::append):
677         * html/parser/HTMLDocumentParser.h:
678         (WebCore::HTMLDocumentParser::inPumpSession):
679         (WebCore::HTMLDocumentParser::shouldDelayEnd):
680         * html/parser/HTMLParserScheduler.h:
681         (WebCore::PumpSession::PumpSession):
682         * html/parser/NestingLevelIncrementer.h:
683
684 2011-02-26  Yongjun Zhang  <yongjun_zhang@apple.com>
685
686         Reviewed by David Kilzer.
687
688         https://bugs.webkit.org/show_bug.cgi?id=48781
689
690         Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
691
692         Add a new resource load client method (shouldPaintBrokenImage).  WebKit client can decide if WebCore
693         should paint the default broken image when an image fails to load or decode.  The method also passes the
694         URL of the failed image.
695
696         Test: fast/images/support-broken-image-delegate.html
697
698         * loader/FrameLoaderClient.h:
699         (WebCore::FrameLoaderClient::shouldPaintBrokenImage):
700         * loader/cache/CachedImage.cpp:
701         (WebCore::CachedImage::CachedImage):
702         (WebCore::CachedImage::image):
703         (WebCore::CachedImage::checkShouldPaintBrokenImage):
704         (WebCore::CachedImage::error):
705         * loader/cache/CachedImage.h:
706
707 2011-02-26  Chris Evans  <cevans@chromium.org>
708
709         Reviewed by Adam Barth.
710
711         Database: Data race: should only touch the transaction queue inside the
712         lock.
713         https://bugs.webkit.org/show_bug.cgi?id=55031
714
715         * storage/Database.cpp:
716         (WebCore::Database::changeVersion): only touch queue inside lock.
717         (WebCore::Database::runTransaction): only touch queue inside lock.
718
719 2011-02-26  Yi Shen  <yi.4.shen@nokia.com>
720
721         Reviewed by Eric Carlson.
722
723         Missing volumechangeEvent in case of mediaPlayerVolumeChanged gets callback
724         https://bugs.webkit.org/show_bug.cgi?id=55147
725
726         When HTMLMediaElement::mediaPlayerVolumeChanged() gets callback, 
727         a volumechangeEvent event should be fired if the volume gets changed.
728
729         Test: media/event-attributes.html
730
731         * html/HTMLMediaElement.cpp:
732         (WebCore::HTMLMediaElement::setMuted): Remove updateVolume() since it does nothing when m_player is 0.
733         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): Fire a volumechangeEvent when the volume is changed.
734
735 2011-02-26  Eric Seidel  <eric@webkit.org>
736
737         Reviewed by Maciej Stachowiak.
738
739         disableRangeMutation quirk for mail slows down peacekeeper domDynamicCreationCreateElement
740         https://bugs.webkit.org/show_bug.cgi?id=55127
741
742         Before:
743         avg 513.4
744         median 515
745         stdev 7.234638899074368
746         min 490
747         max 528
748
749         After:
750         avg 508.15
751         median 510
752         stdev 6.966168243733426
753         min 485
754         max 515
755
756         Yes, the stdev is a bit high to actually support my conclusions.  But looking
757         at the profile, this change makes a lot of sense.  I'll up the iterations
758         for future testing.
759
760         * dom/Document.cpp:
761         (WebCore::disableRangeMutation):
762          - This check should only be compiled in if we're planning to run on Tiger or Leopard.
763
764 2011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
765
766         Reviewed by Pavel Feldman.
767
768         DumpRenderTree should reset frame opener between tests.
769         https://bugs.webkit.org/show_bug.cgi?id=54874
770
771         No new tests. (no code affected, just exporting a method for DumpRenderTree use)
772
773         * WebCore.exp.in:
774
775 2011-02-26  Chang Shu  <chang.shu@nokia.com>
776
777         Reviewed by Antonio Gomes.
778
779         Based on patch by Carlos Garcia Campos  <cgarcia@igalia.com>.
780
781         Spatial Navigation: Add support for <select> element in multiple selection mode
782         https://bugs.webkit.org/show_bug.cgi?id=49261
783
784         When spatial navigation is enabled, use space key to toggle select
785         items. And the up and down keys should not affect selection but just
786         navigate through items, which is indicated visually by a focus ring.
787
788         New Test: fast/spatial-navigation/snav-single-select-list.html
789         Enhanced Test: fast/spatial-navigation/snav-multiple-select.html
790
791         * dom/SelectElement.cpp:
792         (WebCore::SelectElement::listBoxDefaultEventHandler):
793         * rendering/RenderListBox.cpp:
794         (WebCore::RenderListBox::addFocusRingRects):
795         * rendering/RenderListBox.h:
796
797 2011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
798
799         Unreviewed Qt build fix; included CSSValueList.h in EditingStyle.cpp.
800
801         * editing/EditingStyle.cpp:
802
803 2011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
804
805         Reviewed by Darin Adler.
806
807         Move HTMLEquivalent and its subclasses to EditingStyle
808         https://bugs.webkit.org/show_bug.cgi?id=55207
809
810         Moved HTMLEquivalent and its subclasses from ApplyStyleCommand to EditingStyle,
811         and renamed HTMLEquivalent, HTMLEquivalentValueList, HTMLAttributeEquivalent,
812         and HTMLEquivalentFontSizeAttribute to HTMLElementEquivalent, HTMLTextDecorationEquivalent,
813         HTMLAttributeEquivalent, and HTMLFontSizeEquivalent respectively.
814
815         Also extracted the logic to determine which element and attribute are removed
816         as conflictsWithImplicitStyleOfElement, conflictsWithImplicitStyleOfAttributes,
817         and extractConflictingImplicitStyleOfAttributes.
818
819         * editing/ApplyStyleCommand.cpp:
820         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
821         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
822         * editing/ApplyStyleCommand.h:
823         * editing/EditingStyle.cpp:
824         (WebCore::HTMLElementEquivalent::create): Moved from ApplyStyleCommand.cpp.
825         (WebCore::HTMLElementEquivalent::~HTMLElementEquivalent): Ditto.
826         (WebCore::HTMLElementEquivalent::matches): Ditto.
827         (WebCore::HTMLElementEquivalent::hasAttribute): Ditto.
828         (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Ditto.
829         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent): Ditto.
830         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto.
831         (WebCore::HTMLElementEquivalent::addToStyle): Ditto.
832         (WebCore::HTMLTextDecorationEquivalent::create): Ditto.
833         (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Ditto.
834         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto.
835         (WebCore::HTMLAttributeEquivalent::create): Ditto.
836         (WebCore::HTMLAttributeEquivalent::matches): Ditto.
837         (WebCore::HTMLAttributeEquivalent::hasAttribute): Ditto.
838         (WebCore::HTMLAttributeEquivalent::attributeName): Ditto.
839         (WebCore::HTMLAttributeEquivalent::HTMLAttributeEquivalent): Ditto.
840         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): Ditto.
841         (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
842         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue): Ditto.
843         (WebCore::HTMLFontSizeEquivalent::create): Ditto.
844         (WebCore::HTMLFontSizeEquivalent::HTMLFontSizeEquivalent): Ditto.
845         (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue): Ditto.
846         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Added.
847         (WebCore::htmlAttributeEquivalents): Added.
848         (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): Added.
849         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Added.
850         * editing/EditingStyle.h:
851
852 2011-02-25  Chris Fleizach  <cfleizach@apple.com>
853
854         Reviewed by Anders Carlsson.
855
856         AX: Add Xcode entries back to the navigator list for Accessibility cpp files
857         https://bugs.webkit.org/show_bug.cgi?id=55280
858
859         * WebCore.xcodeproj/project.pbxproj:
860
861 2011-02-25  Fumitoshi Ukai  <ukai@chromium.org>
862
863         Reviewed by Adam Barth.
864
865         WebSocket uses insecure random numbers
866         https://bugs.webkit.org/show_bug.cgi?id=54714
867
868         * websockets/WebSocketHandshake.cpp:
869         (WebCore::randomNumberLessThan):
870         (WebCore::generateSecWebSocketKey):
871         (WebCore::generateKey3):
872
873 2011-02-25  Eric Carlson  <eric.carlson@apple.com>
874
875         Reviewed by Darin Adler.
876
877         Add API to enumerate/delete files downloaded for <audio> and <video>
878         https://bugs.webkit.org/show_bug.cgi?id=55267
879
880         Add review changes missed in r79737.
881
882         * html/HTMLMediaElement.cpp:
883         (WebCore::HTMLMediaElement::clearMediaCacheForSite): Pass string by reference.
884         * html/HTMLMediaElement.h:
885         * platform/graphics/MediaPlayer.cpp:
886         (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
887         * platform/graphics/MediaPlayer.h:
888         * platform/graphics/MediaPlayerPrivate.h:
889         (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
890
891 2011-02-25  Eric Carlson  <eric.carlson@apple.com>
892
893         Reviewed by Darin Adler.
894
895         Add API to enumerate/delete files downloaded for <audio> and <video>
896         https://bugs.webkit.org/show_bug.cgi?id=55267
897         <rdar://problem/9049280>
898
899         No new tests, this is just the plumbing.
900
901         * html/HTMLMediaElement.cpp:
902         (WebCore::HTMLMediaElement::getSitesInMediaCache): New, call through to MediaPlayer.
903         (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
904         (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
905         * html/HTMLMediaElement.h:
906
907         * platform/graphics/MediaPlayer.cpp:
908         (WebCore::MediaPlayer::getSitesInMediaCache): New, call through to media engine.
909         (WebCore::MediaPlayer::clearMediaCache): Ditto.
910         (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
911         * platform/graphics/MediaPlayer.h:
912
913         * platform/graphics/MediaPlayerPrivate.h:
914         (WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Declare new interface.
915         (WebCore::MediaPlayerPrivateInterface::clearMediaCache): Ditto.
916         (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
917
918 2011-02-25  Abhishek Arya  <inferno@chromium.org>
919
920         Reviewed by Dave Hyatt.
921
922         Don't add inline continuation outline to the containing block's
923         continuationOutlineTable list if it is not enclosed by an anonymous block.
924         https://bugs.webkit.org/show_bug.cgi?id=54690
925
926         We currently don't reconnect inline continuations after a child removal.
927         As a result, those merged inlines do not get seperated and hence not get enclosed
928         by anonymous blocks. In this case, it is better to bail out and paint it ourself.
929
930         Test: fast/table/table-continuation-outline-paint-crash.html
931
932         * rendering/InlineFlowBox.cpp:
933         (WebCore::InlineFlowBox::paint): 
934         * rendering/RenderBlock.cpp:
935         (WebCore::RenderBlock::paintsContinuationOutline): helper function to tell
936         if this containing block has the continuation flow in its continuations list.
937         * rendering/RenderBlock.h: helper function definition.
938         * rendering/RenderInline.cpp:
939         (WebCore::RenderInline::destroy): debug only code that asserts if we leave
940         behind a continuation in the containing block's continuation list when it is
941         getting destroyed.
942
943 2011-02-25  David Hyatt  <hyatt@apple.com>
944
945         Reviewed by Adam Roben.
946
947         https://bugs.webkit.org/show_bug.cgi?id=55265, remove the unused "Static" type
948         from Length.
949
950         * css/CSSPrimitiveValue.cpp:
951         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
952         * platform/Length.h:
953         (WebCore::Length::isFixed):
954         * rendering/AutoTableLayout.cpp:
955         (WebCore::AutoTableLayout::layout):
956         * rendering/RenderImage.cpp:
957         (WebCore::RenderImage::isLogicalWidthSpecified):
958         (WebCore::RenderImage::isLogicalHeightSpecified):
959         * rendering/RenderObject.h:
960         (WebCore::RenderObject::markContainingBlocksForLayout):
961         * rendering/style/RenderStyle.h:
962         (WebCore::InheritedFlags::hasStaticX):
963         (WebCore::InheritedFlags::hasStaticY):
964
965 2011-02-25  Brian Weinstein  <bweinstein@apple.com>
966
967         Windows build fix.
968
969         * platform/network/cf/CookieJarCFNet.cpp:
970         (WebCore::getHostnamesWithCookies): Add a const_cast.
971         (WebCore::deleteCookiesForHostname): Ditto.
972
973 2011-02-25  Pavel Feldman  <pfeldman@chromium.org>
974
975         Reviewed by Timothy Hatcher.
976
977         Web Inspector: Empty Elements panel after closing and reopening Inspector
978         https://bugs.webkit.org/show_bug.cgi?id=55248
979
980         Fixing regression real quick. Test to follow.
981
982         * inspector/InspectorDOMAgent.cpp:
983         (WebCore::InspectorDOMAgent::reset):
984
985 2011-02-25  Pavel Feldman  <pfeldman@chromium.org>
986
987         Not reviewed: added missing handle scope into V8InjectedScriptHostCustom.
988         https://bugs.webkit.org/show_bug.cgi?id=55256
989
990         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
991         (WebCore::InjectedScriptHost::nodeAsScriptValue):
992         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
993
994 2011-02-25  David Hyatt  <hyatt@apple.com>
995
996         Reviewed by Sam Weinig.
997
998         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
999         
1000         Make positioned objects work with all possible crazy combinations of mixed writing modes.  Added new helper
1001         functions that flip around the padding box of the containing block and then add in the appropriate border
1002         side to ensure that the offset of the positioned object is actually correctly placed in the containing block's
1003         local coordinate space.
1004
1005         Added two new tests of both replaced and non-replaced positioned elements in mixed writing mode environments.
1006
1007         * rendering/RenderBox.cpp:
1008         (WebCore::computeLogicalLeftPositionedOffset):
1009         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1010         (WebCore::computeLogicalTopPositionedOffset):
1011         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1012         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1013         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1014
1015 2011-02-25  Brian Weinstein  <bweinstein@apple.com>
1016
1017         Reviewed by Brady Eidson and looked over by Jessie Berlin.
1018
1019         WebKit2: Need a way to manage cookies from the web process
1020         https://bugs.webkit.org/show_bug.cgi?id=55086
1021         
1022         Implement the functions needed to manage cookies in CookieJar (getHostnamesWithCookies,
1023         deleteCookiesWithHostname, and deleteAllCookies) for Mac and CFNetwork (stub out the rest),
1024         and call them from WebKit2's WebCookieManager.
1025
1026         No change in behavior needing tests.
1027
1028         * WebCore.exp.in: Added needed functions to export.
1029         * platform/CookieJar.h:
1030
1031         * platform/mac/CookieJar.mm:
1032         (WebCore::getHostnamesWithCookies): Gets all hostnames with cookies from NSHTTPCookieStorage.
1033         (WebCore::deleteCookiesForHostname): Deletes all cookies with a given hostname from
1034             NSHTTPCookieStorage.
1035         (WebCore::deleteAllCookies): Deletes all cookies from NSHTTPCookieStorage.
1036         
1037         * platform/network/cf/CookieJarCFNet.cpp:
1038         (WebCore::getHostnamesWithCookies): Implement using CFNetwork cookie APIs.
1039         (WebCore::deleteCookiesForHostname): Ditto.
1040         (WebCore::deleteAllCookies): Ditto.
1041
1042         * platform/efl/CookieJarEfl.cpp: Added stub functions.
1043         * platform/haiku/CookieJarHaiku.cpp: Ditto.
1044         * platform/network/android/CookieJarAndroid.cpp: Ditto.
1045         * platform/network/chromium/CookieJarChromium.cpp: Ditto.
1046         * platform/network/curl/CookieJarCurl.cpp: Ditto.
1047         * platform/network/soup/CookieJarSoup.cpp: Ditto.
1048         * platform/network/win/CookieJarWin.cpp: Ditto.
1049         * platform/qt/CookieJarQt.cpp: Ditto.
1050
1051 2011-02-25  Eric Carlson  <eric.carlson@apple.com>
1052
1053         Reviewed by Eric Seidel.
1054
1055         'load' and 'error' events fired for @poster
1056         https://bugs.webkit.org/show_bug.cgi?id=54908
1057
1058         * html/HTMLImageLoader.cpp:
1059         (WebCore::HTMLImageLoader::dispatchLoadEvent): Don't fire events when being used
1060         by a video element.
1061
1062 2011-02-25  David Hyatt  <hyatt@apple.com>
1063
1064         Reviewed by Sam Weinig.
1065
1066         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
1067         
1068         Patch computePositionedLogicalHeightReplaced to be writing-mode aware.
1069         
1070         Added six new tests in fast/replaced.
1071
1072         * rendering/RenderBox.cpp:
1073         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1074
1075 2011-02-25  Patrick Gansterer  <paroga@webkit.org>
1076
1077         Unreviewed build fix.
1078
1079         * platform/text/brew/TextBreakIteratorBrew.cpp:
1080         (WebCore::acquireLineBreakIterator):
1081         * platform/text/wince/TextBreakIteratorWinCE.cpp:
1082         (WebCore::acquireLineBreakIterator):
1083
1084 2011-02-25  Vangelis Kokkevis  <vangelis@chromium.org>
1085
1086         Reviewed by Simon Fraser.
1087
1088         Update the clip layer size whenever the root layer's size and position
1089         is updated. This only affects the accelerated compositing path.
1090         https://bugs.webkit.org/show_bug.cgi?id=55103
1091
1092         * rendering/RenderLayerCompositor.cpp:
1093         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1094
1095         Test: platform/chromium/compositing/layout-width-change.html
1096
1097         * rendering/RenderLayerCompositor.cpp:
1098         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1099
1100 2011-02-25  Ned Holbrook  <nholbrook@apple.com>
1101
1102         Reviewed by Dan Bernstein.
1103
1104         Minimize calls to ubrk_setText()
1105         https://bugs.webkit.org/show_bug.cgi?id=54912
1106         <rdar://problem/9032774>
1107
1108         Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
1109         break iterator creation until needed. This requires replacing the global line break iterator primitive with a
1110         version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
1111         layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
1112         In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
1113
1114         * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
1115         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
1116         (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
1117         (WebCore::LazyLineBreakIterator::string):
1118         (WebCore::LazyLineBreakIterator::length):
1119         (WebCore::LazyLineBreakIterator::get):
1120         (WebCore::LazyLineBreakIterator::reset):
1121         * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
1122         (WebCore::acquireLineBreakIterator):
1123         (WebCore::releaseLineBreakIterator):
1124         * platform/text/brew/TextBreakIteratorBrew.cpp: Ditto.
1125         (WebCore::acquireLineBreakIterator):
1126         (WebCore::releaseLineBreakIterator):
1127         * platform/text/gtk/TextBreakIteratorGtk.cpp: Ditto.
1128         (WebCore::acquireLineBreakIterator):
1129         (WebCore::releaseLineBreakIterator):
1130         * platform/text/qt/TextBreakIteratorQt.cpp: Ditto.
1131         (WebCore::acquireLineBreakIterator):
1132         (WebCore::releaseLineBreakIterator):
1133         * platform/text/wince/TextBreakIteratorWinCE.cpp: Ditto.
1134         (WebCore::acquireLineBreakIterator):
1135         (WebCore::releaseLineBreakIterator):
1136         * rendering/RenderBlock.h:
1137         * rendering/RenderBlockLineLayout.cpp:
1138         (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
1139         (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
1140         * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
1141         (WebCore::RenderText::computePreferredLogicalWidths):
1142         * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than UniChar buffer.
1143         (WebCore::nextBreakablePosition):
1144         * rendering/break_lines.h: Accept LazyLineBreakIterator rather than UniChar buffer.
1145         (WebCore::isBreakable):
1146
1147 2011-02-25  David Hyatt  <hyatt@apple.com>
1148
1149         Reviewed by Sam Weinig.
1150
1151         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
1152         
1153         Patch computePositionedLogicalWidthReplaced to be writing-mode aware.  Not testable yet, since the height function overwrites the values
1154         in a vertical text environment.
1155
1156         * rendering/RenderBox.cpp:
1157         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1158
1159 2011-02-25  Abhishek Arya  <inferno@chromium.org>
1160
1161         Reviewed by Dave Hyatt.
1162
1163         When trying to find which lines to dirty for a changed child, make sure
1164         that we do test if the adjacent next linebox contains that changed child
1165         and if yes, dirty it. This can happen in cases when we have a word break
1166         between text nodes.
1167         https://bugs.webkit.org/show_bug.cgi?id=55206
1168
1169         Test: fast/text/word-break-next-linebox-not-dirty-crash-main.html
1170
1171         * rendering/RenderLineBoxList.cpp:
1172         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1173
1174 2011-02-25  Andrey Adaikin  <aandrey@google.com>
1175
1176         Reviewed by Pavel Feldman.
1177
1178         Web Inspector: [Text editor] Add basic layout tests for the highlighter
1179         https://bugs.webkit.org/show_bug.cgi?id=54751
1180
1181         Test: inspector/editor/highlighter-basics.html
1182
1183         * inspector/front-end/TextEditorHighlighter.js:
1184         (WebInspector.TextEditorHighlighter.prototype.highlight):
1185
1186 2011-02-24  Alexander Pavlov  <apavlov@chromium.org>
1187
1188         Reviewed by Pavel Feldman.
1189
1190         Web Inspector: Huge fonts in font preview
1191         https://bugs.webkit.org/show_bug.cgi?id=55143
1192
1193         * inspector/front-end/FontView.js:
1194         (WebInspector.FontView.prototype._createContentIfNeeded):
1195         (WebInspector.FontView.prototype.show):
1196         (WebInspector.FontView.prototype.resize):
1197         (WebInspector.FontView.prototype._measureElement):
1198         (WebInspector.FontView.prototype.updateFontPreviewSize):
1199
1200 2011-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>
1201
1202         Reviewed by Dirk Schulze.
1203
1204         Implement SVGColor/SVGPaint API
1205         https://bugs.webkit.org/show_bug.cgi?id=55119
1206
1207         SVGColor::cssText() shouldn't return #RRGGBBAA colors
1208         https://bugs.webkit.org/show_bug.cgi?id=48120
1209
1210         Rewrite SVGColor/SVGPaint to actually implement their desired setPaint/setColor/setURI APIs.
1211         SVGPaint is a CSSValue, and its setPaint() function allows to switch to an arbitary paint type.
1212         That means, unlike all other CSSValues, SVGColor/SVGPaint are mutable. That means changes to
1213         their CSSValues should be reflected in the elements style as well as in the computed style.
1214         This patch doesn't yet implement that, the stubbed-out method valueChanged() is what
1215         needs to be implemented. For now you can grab a SVGColor/SVGPaint object through getCSSPropertyValue
1216         and manipulate it, in every possible way (SVPaint.uri/paintType/colorType/color attributes are all sync'ed).
1217         Switch to strict JS bindings (RequiresAllArguments=Raise, StrictTypeChecking) for both objects.
1218
1219         Enable proper serialization of colors through Color::serialized(), affects some testcases (#FF.. -> #ff..)
1220         Add extensive tests of all SVGColor/SVGPaint API, currently shows some FAIL messages, as element style
1221         <-> computed style is not live, after mutating SVGColor/SVGPaint. That will be implemented in a follow-up patch.
1222
1223         Tests: svg/dom/SVGColor.html
1224                svg/dom/SVGPaint.html
1225
1226         * bindings/scripts/CodeGenerator.pm: Remove obsolete handling of "SVGPaintType", take ushort for paintType, as specified in the SVG 1.1 IDLs.
1227         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
1228         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
1229         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1230         * css/SVGCSSParser.cpp: Adapt to SVGPaint/SVGColor create() naming convention changes.
1231         (WebCore::CSSParser::parseSVGValue):
1232         (WebCore::CSSParser::parseSVGPaint):
1233         (WebCore::CSSParser::parseSVGColor):
1234         * svg/SVGColor.cpp: Rewrite to fully implement the SVGColor API, merge all constructors into one, use more descriptable create() naming convention.
1235         (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
1236         (WebCore::SVGColor::SVGColor):
1237         (WebCore::SVGColor::setRGBColor):
1238         (WebCore::SVGColor::colorFromRGBColorString):
1239         (WebCore::SVGColor::setRGBColorICCColor):
1240         (WebCore::SVGColor::setColor):
1241         (WebCore::SVGColor::cssText):
1242         * svg/SVGColor.h:
1243         (WebCore::SVGColor::createFromString):
1244         (WebCore::SVGColor::createFromColor):
1245         (WebCore::SVGColor::color):
1246         (WebCore::SVGColor::colorType):
1247         (WebCore::SVGColor::~SVGColor):
1248         (WebCore::SVGColor::setColor):
1249         (WebCore::SVGColor::setColorType):
1250         * svg/SVGColor.idl: Enable strict type checking.
1251         * svg/SVGPaint.cpp: Rewrite to fully implement the SVGPaint API, merge all constructors into one, use more descriptable create() naming convention.
1252         (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
1253         (WebCore::colorTypeForPaintType):
1254         (WebCore::SVGPaint::SVGPaint):
1255         (WebCore::SVGPaint::setUri):
1256         (WebCore::SVGPaint::defaultFill):
1257         (WebCore::SVGPaint::defaultStroke):
1258         (WebCore::SVGPaint::setPaint):
1259         (WebCore::SVGPaint::cssText):
1260         (WebCore::SVGPaint::matchesTargetURI):
1261         * svg/SVGPaint.h:
1262         (WebCore::SVGPaint::createUnknown):
1263         (WebCore::SVGPaint::createNone):
1264         (WebCore::SVGPaint::createCurrentColor):
1265         (WebCore::SVGPaint::createColor):
1266         (WebCore::SVGPaint::createURI):
1267         (WebCore::SVGPaint::createURIAndColor):
1268         (WebCore::SVGPaint::paintType):
1269         (WebCore::SVGPaint::uri):
1270         (WebCore::SVGPaint::create):
1271         (WebCore::SVGPaint::isSVGPaint):
1272         * svg/SVGPaint.idl: Enable strict type checking.
1273
1274 2011-02-25  Renata Hodovan  <reni@webkit.org>
1275
1276         Reviewed by Nikolas Zimmermann.
1277
1278         FESpecularLightingElement changes doesn't require relayout.
1279         https://bugs.webkit.org/show_bug.cgi?id=54451
1280
1281         When the FESpecularLightingElement receives an update message but the given value remains the same we don't need
1282         to relayout the filter. Otherwise, the light source requests a repaint on the specular lighting filter.
1283         Besides add ASSERTs to DiffuseLightElement::setFilterEffectAttribute as well to avoid lightSources being null.
1284
1285         No new tests are needed to check the repaint because it is covered by the dynamic update tests of FESpecularLighting.
1286         We only test what happens if we remove the light source of specularLight.
1287
1288         Test: svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html
1289
1290         * platform/graphics/filters/FESpecularLighting.cpp:
1291         (WebCore::FESpecularLighting::setSurfaceScale):
1292         (WebCore::FESpecularLighting::setSpecularConstant):
1293         (WebCore::FESpecularLighting::setSpecularExponent):
1294         (WebCore::FESpecularLighting::setKernelUnitLengthX):
1295         (WebCore::FESpecularLighting::setKernelUnitLengthY):
1296         * platform/graphics/filters/FESpecularLighting.h:
1297         * rendering/svg/RenderSVGResourceFilter.cpp:
1298         (WebCore::RenderSVGResourceFilter::postApplyResource):
1299         * svg/SVGFEDiffuseLightingElement.cpp:
1300         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
1301         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
1302         (WebCore::SVGFEDiffuseLightingElement::build):
1303         * svg/SVGFEDiffuseLightingElement.h:
1304         * svg/SVGFELightElement.cpp:
1305         (WebCore::SVGFELightElement::findLightElement):
1306         (WebCore::SVGFELightElement::findLight):
1307         (WebCore::SVGFELightElement::svgAttributeChanged):
1308         * svg/SVGFELightElement.h:
1309         * svg/SVGFESpecularLightingElement.cpp:
1310         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
1311         (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
1312         (WebCore::SVGFESpecularLightingElement::lightElementAttributeChanged):
1313         (WebCore::SVGFESpecularLightingElement::build):
1314         * svg/SVGFESpecularLightingElement.h:
1315
1316 2011-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1317
1318         Reviewed by Andreas Kling.
1319
1320         [Qt] Revert the support for QNAM affined to a different thread.
1321         https://bugs.webkit.org/show_bug.cgi?id=55149
1322
1323         Qt 4.8 will have QNAM use its own thread internally by default,
1324         no need to keep this complexity in WebKit.
1325
1326         This mainly reverts:
1327         http://trac.webkit.org/changeset/73710
1328         http://trac.webkit.org/changeset/73712
1329
1330         * WebCore.pro:
1331         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
1332         (WebCore::MediaPlayerPrivateQt::commitLoad):
1333         * platform/network/qt/QNetworkReplyHandler.cpp:
1334         (WebCore::FormDataIODevice::FormDataIODevice):
1335         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1336         (WebCore::QNetworkReplyHandler::setLoadMode):
1337         (WebCore::QNetworkReplyHandler::abort):
1338         (WebCore::QNetworkReplyHandler::release):
1339         (WebCore::ignoreHttpError):
1340         (WebCore::QNetworkReplyHandler::finish):
1341         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1342         (WebCore::QNetworkReplyHandler::forwardData):
1343         (WebCore::QNetworkReplyHandler::start):
1344         (WebCore::QNetworkReplyHandler::sendQueuedItems):
1345         * platform/network/qt/QNetworkReplyHandler.h:
1346         (WebCore::QNetworkReplyHandler::reply):
1347         * platform/network/qt/QtNAMThreadSafeProxy.cpp: Removed.
1348         * platform/network/qt/QtNAMThreadSafeProxy.h: Removed.
1349         * platform/network/qt/ResourceHandleQt.cpp:
1350         (WebCore::ResourceHandle::willLoadFromCache):
1351         * platform/qt/CookieJarQt.cpp:
1352         (WebCore::cookieJar):
1353         (WebCore::setCookies):
1354         (WebCore::cookies):
1355         (WebCore::cookieRequestHeaderFieldValue):
1356         (WebCore::cookiesEnabled):
1357
1358 2011-02-25  Renata Hodovan  <reni@webkit.org>
1359
1360         Reviewed by Andreas Kling.
1361
1362         FEBlendElement changes doesn't require relayout
1363         https://bugs.webkit.org/show_bug.cgi?id=55138
1364
1365         When the FEBlendElement receives an update message but the given value remains the same we don't need
1366         to relayout the filter.
1367
1368         No new tests are needed because this modificiation is covered by the dynamic update tests of FEBlend.
1369
1370         * platform/graphics/filters/FEBlend.cpp:
1371         (WebCore::FEBlend::setBlendMode):
1372         * platform/graphics/filters/FEBlend.h:
1373         * svg/SVGFEBlendElement.cpp:
1374         (WebCore::SVGFEBlendElement::setFilterEffectAttribute):
1375         (WebCore::SVGFEBlendElement::svgAttributeChanged):
1376         (WebCore::SVGFEBlendElement::synchronizeProperty):
1377         * svg/SVGFEBlendElement.h:
1378
1379 2011-02-24  Daniel Bates  <dbates@rim.com>
1380
1381         Reviewed by Antonio Gomes.
1382
1383         Clean up: Extract table height adjustment for <caption> into common function
1384         https://bugs.webkit.org/show_bug.cgi?id=54936
1385
1386         We use similar logic for adjusting the height of a table with respect
1387         to a top- and bottom-positioned <caption>. Instead, we should extract
1388         the common code into a shared function.
1389
1390         No functionality changed. So no new tests.
1391
1392         * rendering/RenderTable.cpp:
1393         (WebCore::RenderTable::adjustLogicalHeightForCaption): Added.
1394         (WebCore::RenderTable::layout): Extracted common code to adjust table height
1395         with respect to the <caption> into RenderTable::adjustLogicalHeightForCaption().
1396         * rendering/RenderTable.h:
1397
1398 2011-02-24  James Robinson  <jamesr@chromium.org>
1399
1400         Reviewed by Kenneth Russell.
1401
1402         [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
1403         https://bugs.webkit.org/show_bug.cgi?id=55013
1404
1405         This adds a new type (tentatively named CCLayerImpl) responsible for drawing/compositing layers.
1406         Currently LayerChromiums know about their CCLayerImpls and CCLayerImpls rely on the LayerChromium
1407         tree for structure.  In theory updates are a LayerChromium-only concept and draw is a CCLayerImpl-only
1408         concept, but this patch doesn't go all there yet in the interest of keeping the patch small-ish.
1409
1410         RenderSurfaces are a CCLayerImpl-only concepts and no longer have any direct LayerChromium dependencies.
1411
1412         Note: I've put CCLayerImpl into a new 'cc' directory under platform/graphics/chromium/ and intentionally
1413         not added it to the include path.  We plan to add more compositor implementation details to this directory
1414         and we want to keep accidental dependencies on these files to a minimum.
1415
1416         See https://bugs.webkit.org/show_bug.cgi?id=54047 for the big picture.
1417
1418         Refactor only, compositing/ tests cover these codepaths.
1419
1420         * WebCore.gypi:
1421         * platform/graphics/chromium/CanvasLayerChromium.cpp:
1422         (WebCore::CanvasLayerChromium::draw):
1423         * platform/graphics/chromium/ContentLayerChromium.cpp:
1424         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
1425         (WebCore::ContentLayerChromium::updateContentsIfDirty):
1426         (WebCore::ContentLayerChromium::draw):
1427         * platform/graphics/chromium/LayerChromium.cpp:
1428         (WebCore::LayerChromium::LayerChromium):
1429         (WebCore::LayerChromium::cleanupResources):
1430         (WebCore::LayerChromium::setLayerRenderer):
1431         (WebCore::LayerChromium::setBounds):
1432         (WebCore::LayerChromium::setFrame):
1433         (WebCore::LayerChromium::setNeedsDisplay):
1434         (WebCore::LayerChromium::setBorderColor):
1435         (WebCore::LayerChromium::borderColor):
1436         (WebCore::LayerChromium::setBorderWidth):
1437         (WebCore::LayerChromium::borderWidth):
1438         (WebCore::LayerChromium::layerRenderer):
1439         (WebCore::LayerChromium::setDoubleSided):
1440         (WebCore::LayerChromium::bounds):
1441         * platform/graphics/chromium/LayerChromium.h:
1442         (WebCore::LayerChromium::maskDrawLayer):
1443         (WebCore::LayerChromium::ccLayerImpl):
1444         * platform/graphics/chromium/LayerRendererChromium.cpp:
1445         (WebCore::LayerRendererChromium::compareLayerZ):
1446         (WebCore::LayerRendererChromium::drawLayers):
1447         (WebCore::LayerRendererChromium::updateLayersRecursive):
1448         (WebCore::LayerRendererChromium::setCompositeOffscreen):
1449         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
1450         (WebCore::LayerRendererChromium::drawLayer):
1451         * platform/graphics/chromium/LayerRendererChromium.h:
1452         * platform/graphics/chromium/PluginLayerChromium.cpp:
1453         (WebCore::PluginLayerChromium::draw):
1454         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
1455         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
1456         (WebCore::RenderSurfaceChromium::drawSurface):
1457         (WebCore::RenderSurfaceChromium::draw):
1458         * platform/graphics/chromium/RenderSurfaceChromium.h:
1459         * platform/graphics/chromium/VideoLayerChromium.cpp:
1460         (WebCore::VideoLayerChromium::drawYUV):
1461         (WebCore::VideoLayerChromium::drawRGBA):
1462         * platform/graphics/chromium/cc/CCLayerImpl.cpp: Added.
1463         (WebCore::CCLayerImpl::CCLayerImpl):
1464         (WebCore::CCLayerImpl::~CCLayerImpl):
1465         (WebCore::CCLayerImpl::superlayer):
1466         (WebCore::CCLayerImpl::maskLayer):
1467         (WebCore::CCLayerImpl::replicaLayer):
1468         (WebCore::CCLayerImpl::setLayerRenderer):
1469         (WebCore::CCLayerImpl::createRenderSurface):
1470         (WebCore::CCLayerImpl::updateContentsIfDirty):
1471         (WebCore::CCLayerImpl::drawsContent):
1472         (WebCore::CCLayerImpl::draw):
1473         (WebCore::CCLayerImpl::unreserveContentsTexture):
1474         (WebCore::CCLayerImpl::bindContentsTexture):
1475         (WebCore::CCLayerImpl::cleanupResources):
1476         (WebCore::CCLayerImpl::getDrawRect):
1477         (WebCore::CCLayerImpl::drawDebugBorder):
1478         * platform/graphics/chromium/cc/CCLayerImpl.h: Added.
1479         (WebCore::CCLayerImpl::create):
1480         (WebCore::CCLayerImpl::setDebugBorderColor):
1481         (WebCore::CCLayerImpl::debugBorderColor):
1482         (WebCore::CCLayerImpl::setDebugBorderWidth):
1483         (WebCore::CCLayerImpl::debugBorderWidth):
1484         (WebCore::CCLayerImpl::layerRenderer):
1485         (WebCore::CCLayerImpl::renderSurface):
1486         (WebCore::CCLayerImpl::clearRenderSurface):
1487         (WebCore::CCLayerImpl::drawDepth):
1488         (WebCore::CCLayerImpl::setDrawDepth):
1489         (WebCore::CCLayerImpl::drawOpacity):
1490         (WebCore::CCLayerImpl::setDrawOpacity):
1491         (WebCore::CCLayerImpl::scissorRect):
1492         (WebCore::CCLayerImpl::setScissorRect):
1493         (WebCore::CCLayerImpl::targetRenderSurface):
1494         (WebCore::CCLayerImpl::setTargetRenderSurface):
1495         (WebCore::CCLayerImpl::doubleSided):
1496         (WebCore::CCLayerImpl::setDoubleSided):
1497         (WebCore::CCLayerImpl::bounds):
1498         (WebCore::CCLayerImpl::setBounds):
1499         (WebCore::CCLayerImpl::drawTransform):
1500         (WebCore::CCLayerImpl::setDrawTransform):
1501         (WebCore::CCLayerImpl::drawableContentRect):
1502         (WebCore::CCLayerImpl::setDrawableContentRect):
1503
1504 2011-02-24  Dan Bernstein  <mitz@apple.com>
1505
1506         Reviewed by Simon Fraser.
1507
1508         REGRESSION (r79629): Non-expanding ruby base is start-aligned rather than centered
1509         https://bugs.webkit.org/show_bug.cgi?id=55197
1510
1511         * rendering/RenderBlockLineLayout.cpp:
1512         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust the line boundaries even
1513         if there are no expansion opportunities. This allows RenderRubyBase to center itself.
1514
1515 2011-02-24  Darin Adler  <darin@apple.com>
1516
1517         Reviewed by Alexey Proskuryakov.
1518
1519         REGRESSION (r79466): http/tests/incremental/slow-utf8-html.pl flaky due to incorrect assertions
1520         https://bugs.webkit.org/show_bug.cgi?id=55135
1521
1522         * platform/text/TextCodecUTF8.cpp:
1523         (WebCore::TextCodecUTF8::decode): Removed incorrect assertions.
1524
1525 2011-02-24  Darin Adler  <darin@apple.com>
1526
1527         Reviewed by Anders Carlsson.
1528
1529         WebKit2: Image-based cursors do not work
1530         https://bugs.webkit.org/show_bug.cgi?id=55184
1531
1532         * WebCore.exp.in: Exported new entry points now used by WebKit2.
1533
1534 2011-02-24  Matthew Delaney  <mdelaney@apple.com>
1535
1536         Reviewed by Simon Fraser.
1537
1538         ImageBuffer::clip creates an image of the incorrect context in IOSurface case
1539         https://bugs.webkit.org/show_bug.cgi?id=55170
1540
1541         Test: fast/canvas/2d.fillText.gradient.html
1542
1543         * platform/graphics/cg/ImageBufferCG.cpp: Clipping against ImageBuffer's context
1544         instead of ourself (the passed in context).
1545
1546 2011-02-24  Simon Fraser  <simon.fraser@apple.com>
1547
1548         Reviewed by Dan Bernstein.
1549
1550         RenderBoxModelObject::paintBoxShadow should bail earlier
1551         https://bugs.webkit.org/show_bug.cgi?id=55186
1552
1553         Make paintBoxShadow() bail early if there is no shadow, and make
1554         callers consistent in not checking for box-shadow before calling it.
1555
1556         * rendering/InlineFlowBox.cpp:
1557         (WebCore::InlineFlowBox::paintBoxDecorations):
1558         * rendering/RenderBoxModelObject.cpp:
1559         (WebCore::RenderBoxModelObject::paintBoxShadow):
1560         * rendering/RenderTableCell.cpp:
1561         (WebCore::RenderTableCell::paintBoxDecorations):
1562
1563 2011-02-24  James Robinson  <jamesr@chromium.org>
1564
1565         Reviewed by Darin Fisher.
1566
1567         Add a USE() macro to control use of the built-in UTF8 codec
1568         https://bugs.webkit.org/show_bug.cgi?id=55189
1569
1570         Guards the built in UTF8 codec registration with USE(BUILTIN_UTF8_CODEC). ICU is used if the USE() is not set.
1571
1572         * platform/text/TextCodecICU.cpp:
1573         (WebCore::TextCodecICU::registerEncodingNames):
1574         * platform/text/TextEncodingRegistry.cpp:
1575         (WebCore::buildBaseTextCodecMaps):
1576
1577 2011-02-24  Dan Bernstein  <mitz@apple.com>
1578
1579         Reviewed by Dave Hyatt.
1580
1581         <rdar://problem/8902740> Expand ruby base when it is shorter than the ruby text
1582         https://bugs.webkit.org/show_bug.cgi?id=55183
1583
1584         Test: fast/ruby/base-shorter-than-text.html
1585
1586         * rendering/RenderBlock.cpp:
1587         (WebCore::RenderBlock::availableLogicalWidthForLine):
1588         * rendering/RenderBlock.h:
1589         (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Added. The base clase implementation does nothing.
1590         * rendering/RenderBlockLineLayout.cpp:
1591         (WebCore::RenderBlock::textAlignmentForLine): Added. Implements the logic that changes "justify" to "auto" for
1592         the last line or a line that ends with a hard break.
1593         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Use textAlignmentForLine(), compute the available
1594         width more efficiently, and call adjustInlineDirectionLineBounds() for justified lines.
1595         * rendering/RenderRubyBase.cpp:
1596         (WebCore::RenderRubyBase::rubyRun): Added.
1597         (WebCore::RenderRubyBase::textAlignmentForLine): Added. Alwyas returns "justify".
1598         (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): Added. Insets the line such that the inset is
1599         half the width of a single intra-line expansion.
1600         * rendering/RenderRubyBase.h:
1601         * rendering/RenderRubyRun.cpp:
1602         (WebCore::RenderRubyRun::addChild): 
1603
1604 2011-02-24  James Robinson  <jamesr@chromium.org>
1605
1606         Unreviewed, rolling out r79604.
1607         http://trac.webkit.org/changeset/79604
1608         https://bugs.webkit.org/show_bug.cgi?id=55017
1609
1610         Causes assertions to fail on some SVG tests
1611
1612         * svg/graphics/SVGImage.cpp:
1613         (WebCore::SVGImage::dataChanged):
1614
1615 2011-02-24  Oliver Hunt  <oliver@apple.com>
1616
1617         Build fix
1618
1619         * bindings/js/JSBindingsAllInOne.cpp:
1620
1621 2011-02-24  David Hyatt  <hyatt@apple.com>
1622
1623         Reviewed by Simon Fraser.
1624
1625         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
1626
1627         Rework the logical height computation for positioned elements to work in terms of before and after.  That way the offset is determined from
1628         the correct container side in flipped block writing modes (e.g., vertical-rl).
1629         
1630         Patch locationOffsetIncludingFlipping to use the containing block to flip so that it will behave correctly with absolute/fixed positioned
1631         elements.
1632         
1633         Patch offsetFromContainer to use the flipped location offset for absolute/fixed positioned elements so that localToAbsolute works properly.
1634
1635         Added twelve tests in fast/block/positioning/vertical-rl and fast/block/positioning/vertical-lr.
1636
1637         * rendering/RenderBox.cpp:
1638         (WebCore::RenderBox::offsetFromContainer):
1639         (WebCore::RenderBox::computePositionedLogicalHeight):
1640         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1641         (WebCore::RenderBox::locationOffsetIncludingFlipping):
1642         * rendering/style/RenderStyle.h:
1643         (WebCore::InheritedFlags::logicalTop):
1644         (WebCore::InheritedFlags::logicalBottom):
1645
1646 2011-02-23  Oliver Hunt  <oliver@apple.com>
1647
1648         Reviewed by Geoffrey Garen.
1649
1650         Make WeakGCMap use new handle infrastructure
1651         https://bugs.webkit.org/show_bug.cgi?id=55100
1652
1653         Update to new WeakGCMap APIs, this requires threading global
1654         data to a few functions that did not need it in the past, but
1655         also gets rid of a large number of destructors, as well as the
1656         forgetDOMNode, etc APIs.
1657
1658         We can also drop the JSDebugWrapperSet as its only purpose was
1659         to ensure that we retained correct semantics in the old WeakGCMap,
1660         but happilly these semantics are now guaranteed by the map itself.
1661
1662         * CMakeLists.txt:
1663         * GNUmakefile.am:
1664         * WebCore.gypi:
1665         * WebCore.pro:
1666         * WebCore.vcproj/WebCore.vcproj:
1667         * WebCore.xcodeproj/project.pbxproj:
1668         * bindings/js/JSDOMBinding.cpp:
1669         (WebCore::hasCachedDOMObjectWrapperUnchecked):
1670         (WebCore::cacheDOMObjectWrapper):
1671         (WebCore::hasCachedDOMNodeWrapperUnchecked):
1672         (WebCore::cacheDOMNodeWrapper):
1673         (WebCore::isObservableThroughDOM):
1674         (WebCore::markDOMNodesForDocument):
1675         (WebCore::takeWrappers):
1676         (WebCore::updateDOMNodeDocument):
1677         (WebCore::markDOMObjectWrapper):
1678         (WebCore::markDOMNodeWrapper):
1679         (WebCore::stringWrapperDestroyed):
1680         (WebCore::jsStringSlowCase):
1681         * bindings/js/JSDOMBinding.h:
1682         * bindings/js/JSDOMWrapper.cpp:
1683         (WebCore::DOMObject::~DOMObject):
1684         * bindings/js/JSDebugWrapperSet.cpp: Removed.
1685         * bindings/js/JSDebugWrapperSet.h: Removed.
1686         * bindings/scripts/CodeGeneratorJS.pm:
1687         * bridge/jsc/BridgeJSC.cpp:
1688         (JSC::Bindings::Instance::createRuntimeObject):
1689         * bridge/jsc/BridgeJSC.h:
1690         * bridge/runtime_object.cpp:
1691         (JSC::Bindings::RuntimeObject::~RuntimeObject):
1692         * bridge/runtime_root.cpp:
1693         (JSC::Bindings::RootObject::invalidate):
1694         (JSC::Bindings::RootObject::addRuntimeObject):
1695         (JSC::Bindings::RootObject::removeRuntimeObject):
1696         * bridge/runtime_root.h:
1697
1698 2011-02-24  James Robinson  <jamesr@chromium.org>
1699
1700         Fix chromium compile.
1701
1702         * bindings/v8/custom/V8LocationCustom.cpp:
1703         (WebCore::V8Location::toStringCallback):
1704
1705 2011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
1706
1707         Unreviewed, rolling out r79607.
1708         http://trac.webkit.org/changeset/79607
1709         https://bugs.webkit.org/show_bug.cgi?id=55157
1710
1711         Broke Chromium layout tests.
1712
1713         * html/shadow/MediaControls.cpp:
1714         (WebCore::MediaControls::updateVolumeSliderContainer):
1715         * rendering/RenderMediaControls.cpp:
1716         (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
1717         * rendering/RenderMediaControls.h:
1718         * rendering/RenderTheme.cpp:
1719         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
1720         * rendering/RenderTheme.h:
1721         * rendering/RenderThemeChromiumMac.h:
1722         * rendering/RenderThemeChromiumMac.mm:
1723         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
1724         * rendering/RenderThemeMac.h:
1725         * rendering/RenderThemeMac.mm:
1726         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
1727         * rendering/RenderThemeWin.cpp:
1728         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
1729         * rendering/RenderThemeWin.h:
1730
1731 2011-02-24  Anders Carlsson  <andersca@apple.com>
1732
1733         Reviewed by Sam Weinig.
1734
1735         Fix the clang -Woverloaded-virtual build.
1736
1737         JSLocation has a toString function which conflicts with the virtual JSObject::toString  member function.
1738         Fix this by renaming the implementation function from JSLocation::toString to JSLocation::toStringFunction.
1739
1740         * bindings/js/JSLocationCustom.cpp:
1741         (WebCore::JSLocation::toStringFunction):
1742         * bindings/v8/custom/V8LocationCustom.cpp:
1743         (WebCore::V8Location::toStringFunctionCallback):
1744         * page/Location.idl:
1745
1746 2011-02-24  Anders Carlsson  <andersca@apple.com>
1747
1748         Fix clang build.
1749
1750         * bindings/objc/WebScriptObject.mm:
1751         (-[WebUndefined release]):
1752         Release should be "oneway void".
1753
1754         (-[WebUndefined retainCount]):
1755         Return NSUIntegerMax instead of UINT_MAX.
1756
1757 2011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
1758
1759         Reviewed by Darin Adler.
1760
1761         Simplify RenderTheme::volumeSliderOffsetFromMuteButton, unduplicate code.
1762         https://bugs.webkit.org/show_bug.cgi?id=55157
1763
1764         Refactoring, no functional changes. Covered by existing tests.
1765
1766         RenderTheme::volumeSliderOffsetFromMuteButton has the same duplicated
1767         logic for all platforms. This patch:
1768         a) moves the common logic of determining absolute positioning to a
1769            platform-agnostic place;
1770         b) simplifies the method to return constant offset.
1771
1772         * html/shadow/MediaControls.cpp:
1773         (WebCore::volumeSliderOffset): Added new helper function,
1774             capturing common logic of finding the absolute position of the volume slider.
1775         (WebCore::MediaControls::updateVolumeSliderContainer): Changed to use the
1776             new helper.
1777         * rendering/RenderMediaControls.cpp:
1778         (WebCore::RenderMediaControls::volumeSliderOffsetRelativeToMuteButton): Simplified.
1779         * rendering/RenderMediaControls.h: Ditto.
1780         * rendering/RenderTheme.cpp:
1781         (WebCore::RenderTheme::volumeSliderOffsetRelativeToMuteButton): Ditto.
1782         * rendering/RenderTheme.h: Ditto.
1783         * rendering/RenderThemeChromiumMac.h: Ditto.
1784         * rendering/RenderThemeChromiumMac.mm: Ditto.
1785         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
1786         * rendering/RenderThemeMac.h: Ditto.
1787         * rendering/RenderThemeMac.mm: Ditto.
1788         (WebCore::RenderThemeMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
1789         * rendering/RenderThemeWin.cpp: Ditto.
1790         (WebCore::RenderThemeWin::volumeSliderOffsetRelativeToMuteButton): Ditto.
1791         * rendering/RenderThemeWin.h: Ditto.
1792
1793 2011-02-24  Tom Sepez  <tsepez@chromium.org>
1794
1795         Reviewed by Darin Fisher.
1796
1797         Make frameview resized event dispatch async so that it occurs
1798         after layout has completed.
1799         
1800         https://bugs.webkit.org/show_bug.cgi?id=54467
1801         Test: fast/replaced/frame-removed-during-resize-smaller.html
1802
1803         * page/EventHandler.cpp:
1804         (WebCore::EventHandler::sendResizeEvent):
1805
1806 2011-02-24  Xianzhu Wang  <wangxianzhu@google.com>
1807
1808         Reviewed by Adam Barth.
1809
1810         Use loader->init() instead of loader->load() to avoid complex fake
1811         request loading and cleanup logic, and also avoid ResourceLoader leaks.
1812
1813         https://bugs.webkit.org/show_bug.cgi?id=55017
1814
1815         Test: svg/misc/SVGImage-leak-ResourceLoader.html
1816
1817         * svg/graphics/SVGImage.cpp:
1818         (WebCore::SVGImage::dataChanged):
1819
1820 2011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
1821
1822         Chromium Mac build fix after r79591.
1823
1824         * WebCore.gypi: Added RenderMediaControls to WebCore.gypi.
1825
1826 2011-02-24  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
1827
1828         Reviewed by Andreas Kling.
1829
1830         [Qt] Dont use QPixmapCache if QPixmapCache::cacheLimit() is too small 
1831         (2048Kb for now).
1832         https://bugs.webkit.org/show_bug.cgi?id=54887
1833
1834         No new tests required.
1835
1836         * platform/graphics/qt/GraphicsLayerQt.cpp:
1837         (WebCore::GraphicsLayerQtImpl::allowAcceleratedCompositingCache):
1838         (WebCore::GraphicsLayerQtImpl::drawLayerContent):
1839         (WebCore::GraphicsLayerQtImpl::paint):
1840         (WebCore::GraphicsLayerQtImpl::flushChanges):
1841
1842 2011-02-20  Martin Robinson  <mrobinson@igalia.com>
1843
1844         Reviewed by Nikolas Zimmermann.
1845
1846         [CAIRO] Support ImageBuffers clip operation on all Cairo ports
1847         https://bugs.webkit.org/show_bug.cgi?id=23526
1848
1849         Add support for ImageBuffer clipping on Cairo by emulating them with image
1850         masks. Since masking is immediate on Cairo, we must store the mask surfaces
1851         on a stack and apply them during restorePlatformState.
1852
1853         * platform/graphics/GraphicsContext.h: Add pushImageMask.
1854         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1855         (WebCore::GraphicsContext::savePlatformState): Push an empty mask onto the
1856         stack, so we can keep track of when to actually apply the image mask.
1857         (WebCore::GraphicsContext::restorePlatformState): When we are ready to apply
1858         an image mask, use cairo_mask_surface to mask the group that we pushed onto
1859         our surface.
1860         (WebCore::GraphicsContext::pushImageMask): Added. This method will push a surface
1861         onto the image mask stack and push a group onto the Cairo state, so that the masking
1862         only affects what we paint after this point.
1863         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Added a class to keep
1864         track of image masking information after calls to pushImageMask.
1865         (WebCore::ImageMaskInformation::update): Added
1866         (WebCore::ImageMaskInformation::valid): Added
1867         (WebCore::ImageMaskInformation::maskSurface): Added
1868         (WebCore::ImageMaskInformation::maskRect): Added
1869         * platform/graphics/cairo/ImageBufferCairo.cpp:
1870         (WebCore::ImageBuffer::clip): Call GraphicsContext::pushImageMask.
1871
1872 2011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
1873
1874         Reviewed by Eric Carlson.
1875
1876         Add RenderMediaControls to Mac build, unduplicate one method.
1877         https://bugs.webkit.org/show_bug.cgi?id=55152
1878
1879         Refactoring, no functional changes.
1880
1881         * WebCore.xcodeproj/project.pbxproj: Added RenderMediaControls to project,
1882             ran sort-XCode-project-file.
1883         * rendering/RenderMediaControls.cpp: Moved ENABLE(VIDEO) and PLATFORM(WIN)
1884             defines to allow building on Mac.
1885         * rendering/RenderMediaControls.h: Ditto.
1886         * rendering/RenderThemeMac.mm:
1887         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Replaced guts
1888             with a call to RenderMediaControls function.
1889
1890 2011-02-24  James Robinson  <jamesr@chromium.org>
1891
1892         Unreviewed, rolling out r79584.
1893         http://trac.webkit.org/changeset/79584
1894         https://bugs.webkit.org/show_bug.cgi?id=44797
1895
1896         [chromium] Patch does not compile if ENABLE_FULLSCREEN_API is
1897         not set
1898
1899         * WebCore.gyp/WebCore.gyp:
1900         * WebCore.gypi:
1901
1902 2011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1903
1904         Reviewed by Martin Robinson.
1905
1906         Do not cache the default cairo font options using a static
1907         variable. It fixes a memory leak reported by valgrind.
1908
1909         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1910         (WebCore::getDefaultFontOptions):
1911         (WebCore::FontPlatformData::initializeWithFontFace):
1912
1913 2011-02-24  Andrew Wilson  <atwilson@chromium.org>
1914
1915         Unreviewed, rolling out r79570.
1916         http://trac.webkit.org/changeset/79570
1917         https://bugs.webkit.org/show_bug.cgi?id=54874
1918
1919         Breaks chromium build because glue/mocks/mock_web_frame.h/cc
1920         was not updated
1921
1922         * WebCore.exp.in:
1923
1924 2011-02-24  David Dorwin  <ddorwin@chromium.org>
1925
1926         Reviewed by Eric Seidel.
1927
1928         Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
1929
1930         fullscreen javascript bindings not implemented for v8
1931         https://bugs.webkit.org/show_bug.cgi?id=44797
1932
1933         Tested by the existing fullscreen Layout Tests.
1934
1935         * WebCore.gyp/WebCore.gyp:
1936         * WebCore.gypi:
1937
1938 2011-02-24  Pavel Feldman  <pfeldman@chromium.org>
1939
1940         Reviewed by Yury Semikhatsky.
1941
1942         Web Inspector: move querySelectorAll from CSS agent to DOM agent where it belongs.
1943         https://bugs.webkit.org/show_bug.cgi?id=55131
1944
1945         Test: inspector/elements/dom-agent-query-selector.html
1946
1947         * inspector/Inspector.idl:
1948         * inspector/InspectorCSSAgent.cpp:
1949         * inspector/InspectorCSSAgent.h:
1950         * inspector/InspectorDOMAgent.cpp:
1951         (WebCore::InspectorDOMAgent::nodeToSelectOn):
1952         (WebCore::InspectorDOMAgent::querySelector):
1953         (WebCore::InspectorDOMAgent::querySelectorAll):
1954         * inspector/InspectorDOMAgent.h:
1955         * inspector/front-end/AuditRules.js:
1956         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1957         * inspector/front-end/CSSStyleModel.js:
1958         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1959         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1960         (WebInspector.CSSStyleModel.prototype.addRule.callback):
1961         (WebInspector.CSSStyleModel.prototype.addRule):
1962
1963 2011-02-24  Eric Seidel  <eric@webkit.org>
1964
1965         Reviewed by Adam Barth.
1966
1967         Fragment parsing does not need to use HTMLSourceTracker
1968         https://bugs.webkit.org/show_bug.cgi?id=55011
1969
1970         Any performance gains from this patch are likely
1971         the result of working around:
1972         https://bugs.webkit.org/show_bug.cgi?id=55005
1973         (Which suggests that fixing bug 55005 will speed
1974         up normal HTML parsing substantially.)
1975
1976         Assuming I ran the numbers correct, here is the
1977         change from PerformanceTests/Parser/tiny-innerHTML:
1978         Before patch:
1979         avg 5586.1
1980         median 5594
1981         stdev 41.295157101045135
1982         min 5425
1983         max 5633
1984
1985         After Patch:
1986         avg 2603.9
1987         median 2609.5
1988         stdev 32.500615378789355
1989         min 2475
1990         max 2649
1991
1992         Removing just the HTMLSourceTracker calls brought our
1993         score from 5500 to 5200, removing the XSSFilter as well
1994         brought it to 2600 on my machine.
1995
1996         * html/parser/HTMLDocumentParser.cpp:
1997         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1998         (WebCore::HTMLDocumentParser::pumpTokenizer):
1999         * html/parser/HTMLDocumentParser.h:
2000
2001 2011-02-24   Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
2002
2003         Reviewed by Martin Robinson.
2004
2005         [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
2006         https://bugs.webkit.org/show_bug.cgi?id=48510
2007
2008         Exported static functions for GTK, we need them to create events
2009         in WebKit2.
2010
2011         * platform/PlatformKeyboardEvent.h:
2012         * platform/gtk/KeyEventGtk.cpp:
2013         (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
2014         (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
2015         (WebCore::PlatformKeyboardEvent::singleCharacterString):
2016
2017 2011-02-24  Martin Robinson  <mrobinson@igalia.com>
2018
2019         Reviewed by Xan Lopez.
2020
2021         [GTK] Remove the GFile GOwnPtr specialization
2022         https://bugs.webkit.org/show_bug.cgi?id=55154
2023
2024         Convert uses of GOwnPtr<GFile> to GRefPtr<GFile>.
2025
2026         No new tests. This should not change behavior.
2027
2028         * plugins/gtk/PluginPackageGtk.cpp: Fix include order and remove unnecessary include.
2029         (WebCore::PluginPackage::load): Use GRefPtr for GFile instead of GOwnPtr.
2030
2031 2011-02-24  Patrick Gansterer  <paroga@webkit.org>
2032
2033         Reviewed by Eric Seidel.
2034
2035         Rename PLATFORM(SKIA) to USE(SKIA)
2036         https://bugs.webkit.org/show_bug.cgi?id=55090
2037
2038         * config.h: Removed second define of PLATFORM(SKIA).
2039         * html/HTMLCanvasElement.cpp:
2040         * platform/graphics/FloatPoint.h:
2041         * platform/graphics/FloatRect.h:
2042         * platform/graphics/Gradient.cpp:
2043         * platform/graphics/Gradient.h:
2044         * platform/graphics/GraphicsContext.cpp:
2045         * platform/graphics/GraphicsContext.h:
2046         * platform/graphics/ImageSource.h:
2047         * platform/graphics/IntPoint.h:
2048         * platform/graphics/IntRect.h:
2049         * platform/graphics/Path.h:
2050         * platform/graphics/Pattern.cpp:
2051         * platform/graphics/Pattern.h:
2052         * platform/graphics/chromium/ContentLayerChromium.cpp:
2053         * platform/graphics/chromium/ContentLayerChromium.h:
2054         * platform/graphics/chromium/GLES2Canvas.cpp:
2055         * platform/graphics/chromium/ImageLayerChromium.cpp:
2056         * platform/graphics/chromium/LayerChromium.cpp:
2057         * platform/graphics/chromium/LayerRendererChromium.cpp:
2058         * platform/graphics/chromium/LayerRendererChromium.h:
2059         * platform/graphics/chromium/LayerTilerChromium.cpp:
2060         * platform/graphics/chromium/ShaderChromium.h:
2061         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
2062         * platform/graphics/transforms/AffineTransform.h:
2063         * platform/graphics/transforms/TransformationMatrix.h:
2064         * platform/image-decoders/ImageDecoder.cpp:
2065         * platform/image-decoders/ImageDecoder.h:
2066         * rendering/svg/RenderSVGResourceSolidColor.cpp:
2067
2068 2011-02-24  Pavel Feldman  <pfeldman@chromium.org>
2069
2070         Reviewed by Yury Semikhatsky.
2071
2072         Web Inspector: follow up to 79566. USE_PARAM not declared
2073         https://bugs.webkit.org/show_bug.cgi?id=55155
2074
2075         * bindings/js/JSInjectedScriptHostCustom.cpp:
2076         (WebCore::JSInjectedScriptHost::currentCallFrame):
2077         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2078         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2079
2080 2011-02-24  Emil A Eklund  <eae@chromium.org>
2081
2082         Reviewed by Simon Fraser.
2083
2084         Add support for missing properties to getComputedStyle
2085         https://bugs.webkit.org/show_bug.cgi?id=23668
2086
2087         Implement getComputedStyle for the content, counter and outline-offset
2088         properties.
2089
2090         Test: fast/css/getComputedStyle/computed-style-properties.html
2091
2092         * css/CSSComputedStyleDeclaration.cpp:
2093         (WebCore::contentToCSSValue):
2094         (WebCore::counterToCSSValue):
2095         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2096         * css/CSSPrimitiveValue.cpp:
2097         (WebCore::CSSPrimitiveValue::cssText):
2098         * css/CSSPrimitiveValue.h:
2099
2100 2011-02-24  Eric Seidel  <eric@webkit.org>
2101
2102         Reviewed by Adam Barth.
2103
2104         SegmentedString does not need an m_composite member
2105         https://bugs.webkit.org/show_bug.cgi?id=55083
2106
2107         Storing m_composite as distinct from m_substrings.isEmpty()
2108         was just error prone and eventually going to get us in trouble.
2109
2110         I also cleaned up some of the style in SegementedString.*
2111         since this file long predates check-webkit-style.
2112
2113         * platform/text/SegmentedString.cpp:
2114         (WebCore::SegmentedString::SegmentedString):
2115         (WebCore::SegmentedString::operator=):
2116         (WebCore::SegmentedString::length):
2117         (WebCore::SegmentedString::setExcludeLineNumbers):
2118         (WebCore::SegmentedString::clear):
2119         (WebCore::SegmentedString::append):
2120         (WebCore::SegmentedString::prepend):
2121         (WebCore::SegmentedString::advanceSubstring):
2122         (WebCore::SegmentedString::toString):
2123         * platform/text/SegmentedString.h:
2124         (WebCore::SegmentedSubstring::SegmentedSubstring):
2125         (WebCore::SegmentedSubstring::appendTo):
2126         (WebCore::SegmentedString::SegmentedString):
2127         (WebCore::SegmentedString::isComposite):
2128
2129 2011-02-24  David Kilzer  <ddkilzer@apple.com>
2130
2131         BUILD FIX: Add missing include for UnusedParam.h
2132
2133         Not reviewed.
2134
2135         * platform/mac/FileSystemMac.mm: Add include.  It should have
2136         originally been added with r76614.
2137
2138 2011-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
2139
2140         Reviewed by Alexey Proskuryakov.
2141
2142         DumpRenderTree should reset frame opener between tests.
2143         https://bugs.webkit.org/show_bug.cgi?id=54874
2144
2145         No new tests. (no code affected, just exporting a method for DumpRenderTree use)
2146
2147         * WebCore.exp.in:
2148
2149 2011-02-24  Dirk Schulze  <krit@webkit.org>
2150
2151         Reviewed by Darin Adler.
2152
2153         Removing a SVG animation target during animation crashes WebKit
2154         https://bugs.webkit.org/show_bug.cgi?id=12065
2155
2156         SVGAnimations with IRI references via 'xlink:href' are slow
2157         https://bugs.webkit.org/show_bug.cgi?id=49437
2158
2159         Store reference to target element for SVG animation elements. This is important if the
2160         target gets referenced via 'xlink:href'. At the moment we would call getElementById() multiple
2161         times on every animation step. A very expensive operation. This will be avoided with this patch.
2162         On the other hand, we need to be sure that the target element is always valid. The reference is
2163         reset, if the target was removed from document or its destructor was called. A HashMap in
2164         SVGDocumentExtensions stores all mappings from target element to all current animation elements.
2165
2166         Tests: svg/custom/animate-target-id-changed.svg
2167                svg/custom/animate-target-removed-from-document.svg
2168
2169         * svg/SVGDocumentExtensions.cpp:
2170         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
2171         (WebCore::SVGDocumentExtensions::addAnimationElementToTarget): New animation gets applied to target.
2172         (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): Animation stoped, remove it from HashMap.
2173         (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): Target no longer in document, reset all
2174         references in SVG animation elements. 
2175         * svg/SVGDocumentExtensions.h:
2176         * svg/SVGElement.cpp:
2177         (WebCore::SVGElement::~SVGElement):
2178         (WebCore::SVGElement::removedFromDocument):
2179         (WebCore::SVGElement::attributeChanged):
2180         * svg/SVGElement.h:
2181         * svg/SVGHKernElement.cpp:
2182         (WebCore::SVGHKernElement::removedFromDocument):
2183         * svg/SVGVKernElement.cpp:
2184         (WebCore::SVGVKernElement::removedFromDocument):
2185         * svg/animation/SVGSMILElement.cpp:
2186         (WebCore::SVGSMILElement::SVGSMILElement):
2187         (WebCore::SVGSMILElement::removedFromDocument):
2188         (WebCore::SVGSMILElement::eventBaseFor):
2189         (WebCore::SVGSMILElement::targetElement):
2190         * svg/animation/SVGSMILElement.h:
2191         (WebCore::SVGSMILElement::resetTargetElement):
2192
2193 2011-02-24  Simon Fraser  <simon.fraser@apple.com>
2194
2195         Reviewed by Eric Seidel.
2196
2197         REGRESSION: Accelerated transitions are jumpy
2198         https://bugs.webkit.org/show_bug.cgi?id=55022
2199         
2200         When an accelerated transition used the default timing function,
2201         a typo in toCAMediaTimingFunction() resulting in the incorrect
2202         timing function being used.
2203
2204         Test: transitions/default-timing-function.html
2205
2206         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2207         (toCAMediaTimingFunction):
2208
2209 2011-02-24  Andreas Kling  <kling@webkit.org>
2210
2211         Reviewed by Kenneth Rohde Christiansen.
2212
2213         [Qt] Remove bogus optimizations in TextBreakIteratorQt
2214         https://bugs.webkit.org/show_bug.cgi?id=55139
2215
2216         Let QTextBoundaryFinder hold a deep copy of the string data it's
2217         operating on, and don't use the same working buffer for all iterators.
2218
2219         * platform/text/qt/TextBreakIteratorQt.cpp:
2220         (WebCore::TextBreakIterator::TextBreakIterator):
2221         (WebCore::setUpIterator):
2222
2223 2011-02-24  Andrey Adaikin  <aandrey@google.com>
2224
2225         Reviewed by Pavel Feldman.
2226
2227         Web Inspector: [Text editor] Bug in the highlighter
2228         https://bugs.webkit.org/show_bug.cgi?id=54876
2229
2230         Tests: inspector/editor/highlighter-long-line.html
2231                inspector/editor/highlighter-paste-in-comment.html
2232
2233         * inspector/front-end/TextEditorHighlighter.js:
2234         (WebInspector.TextEditorHighlighter):
2235         (WebInspector.TextEditorHighlighter.prototype.set highlightChunkLimit):
2236         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
2237         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
2238
2239 2011-02-24  James Simonsen  <simonjam@chromium.org>
2240
2241         Reviewed by Tony Gentilcore.
2242
2243         [Web Timing] Zero out navigationStart and unloadEvent on cross-origin redirect
2244         https://bugs.webkit.org/show_bug.cgi?id=55068
2245
2246         Test: http/tests/misc/webtiming-origins.html
2247
2248         * page/PerformanceTiming.cpp:
2249         (WebCore::PerformanceTiming::navigationStart): Zero out on cross origin redirect.
2250         (WebCore::PerformanceTiming::unloadEventStart): Ditto.
2251         (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
2252
2253 2011-02-24  Adam Klein  <adamk@chromium.org>
2254
2255         Reviewed by Darin Fisher.
2256
2257         [chromium] Add code to WebKit Chromium to allow access to NetworkStateNotifier
2258         https://bugs.webkit.org/show_bug.cgi?id=54516
2259
2260         Give Chromium's NetworkStateNotifier the ability to change the value
2261         of m_isOnLine, rather than making it always true.
2262
2263         No new tests, not sure how to test this. No other LayoutTests seem
2264         to exercise navigator.onLine.
2265
2266         * WebCore.gypi:
2267         * platform/network/NetworkStateNotifier.cpp:
2268         (WebCore::NetworkStateNotifier::setOnLine): Moved and renamed from NetworkStateNotifierAndroid.
2269         * platform/network/NetworkStateNotifier.h:
2270         (WebCore::NetworkStateNotifier::networkStateChange): Forward to setOnLine.
2271         * platform/network/android/NetworkStateNotifierAndroid.cpp: Removed.
2272         * platform/network/chromium/NetworkStateNotifierChromium.cpp: Removed.
2273         * platform/network/chromium/NetworkStateNotifierPrivate.h: Removed.
2274
2275 2011-02-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
2276
2277         Reviewed by Eric Seidel.
2278
2279         Support building WebKit with Python 3
2280         https://bugs.webkit.org/show_bug.cgi?id=55038
2281
2282         Add support for Python 3 without breaking support for Python 2.
2283
2284         Main issues:
2285         -print is a function in Python 3
2286         -list.sort() no longer have the cmp parameter
2287         -string.uppercase and string.lowercase have been removed
2288
2289         * html/parser/create-html-entity-table:
2290
2291 2011-02-24  Chris Fleizach  <cfleizach@apple.com>
2292
2293         Reviewed by Eric Seidel.
2294
2295         AX: WebKit should expose MathML at least as well as it exposes ARIA role="math"
2296         https://bugs.webkit.org/show_bug.cgi?id=55049
2297
2298         Make <math> elements behave as ARIA math roles and use MathML::alttext as a
2299         possible accessible label.
2300  
2301         Test: platform/mac/accessibility/math-alttext.html
2302
2303         * accessibility/AccessibilityRenderObject.cpp:
2304         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2305         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2306         * mathml/mathattrs.in:
2307
2308 2011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
2309
2310         Reviewed by Pavel Feldman.
2311
2312         Web Inspector: adjust protocol message format according to spec.
2313         https://bugs.webkit.org/show_bug.cgi?id=55140
2314
2315         * inspector/CodeGeneratorInspector.pm:
2316
2317 2011-02-24  Adam Roben  <aroben@apple.com>
2318
2319         Windows Production build fix
2320
2321         * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for
2322         <rdar://problem/9042114>.
2323
2324 2011-02-23  Pavel Feldman  <pfeldman@chromium.org>
2325
2326         Reviewed by Yury Semikhatsky.
2327
2328         Web Inspector: refactor inspect() workflow so that it did not push dom nodes.
2329         https://bugs.webkit.org/show_bug.cgi?id=55057
2330
2331         Test: inspector/console/command-line-api-inspect.html
2332
2333         I am working on getting rid of DOM agent pushes - everything should happen upon
2334         front-end request. This patch changes the way we handle inspect() command line
2335         api: instead of pushing nodes, we are telling front-end that inspect(object) has
2336         been requested. It is then up to front-end to request dom nodes and focus them in
2337         the tree. I also made inspect() work in a generic manner, using same routines for
2338         nodes, databases, storages and potentially new elements.
2339
2340         As a side-effect, we don't do console.log from within inspect() anymore, but dump
2341         inspected value as inspect's result.
2342
2343         Also, I added individual object release method and made object groups optional.
2344
2345         * bindings/js/JSInjectedScriptHostCustom.cpp:
2346         (WebCore::InjectedScriptHost::scriptValueAsNode):
2347         (WebCore::InjectedScriptHost::nodeAsScriptValue):
2348         (WebCore::JSInjectedScriptHost::inspect):
2349         (WebCore::JSInjectedScriptHost::databaseId):
2350         (WebCore::JSInjectedScriptHost::storageId):
2351         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2352         (WebCore::InjectedScriptHost::scriptValueAsNode):
2353         (WebCore::InjectedScriptHost::nodeAsScriptValue):
2354         (WebCore::V8InjectedScriptHost::inspectCallback):
2355         (WebCore::V8InjectedScriptHost::databaseIdCallback):
2356         (WebCore::V8InjectedScriptHost::storageIdCallback):
2357         * inspector/InjectedScript.cpp:
2358         (WebCore::InjectedScript::nodeForObjectId):
2359         (WebCore::InjectedScript::releaseObject):
2360         (WebCore::InjectedScript::wrapForConsole):
2361         (WebCore::InjectedScript::inspectNode):
2362         * inspector/InjectedScript.h:
2363         * inspector/InjectedScriptHost.cpp:
2364         (WebCore::InjectedScriptHost::inspectImpl):
2365         (WebCore::InjectedScriptHost::databaseIdImpl):
2366         (WebCore::InjectedScriptHost::storageIdImpl):
2367         * inspector/InjectedScriptHost.h:
2368         * inspector/InjectedScriptHost.idl:
2369         * inspector/InjectedScriptSource.js:
2370         * inspector/Inspector.idl:
2371         * inspector/InspectorAgent.cpp:
2372         (WebCore::InspectorAgent::focusNode):
2373         * inspector/InspectorDOMAgent.cpp:
2374         * inspector/InspectorDOMAgent.h:
2375         * inspector/InspectorDOMStorageAgent.cpp:
2376         (WebCore::InspectorDOMStorageAgent::storageId):
2377         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
2378         * inspector/InspectorDOMStorageAgent.h:
2379         * inspector/InspectorDOMStorageResource.cpp:
2380         * inspector/InspectorDOMStorageResource.h:
2381         * inspector/InspectorDatabaseAgent.cpp:
2382         (WebCore::InspectorDatabaseAgent::databaseId):
2383         * inspector/InspectorDatabaseAgent.h:
2384         * inspector/InspectorDatabaseResource.cpp:
2385         * inspector/InspectorDatabaseResource.h:
2386         * inspector/InspectorRuntimeAgent.cpp:
2387         (WebCore::InspectorRuntimeAgent::releaseObject):
2388         * inspector/InspectorRuntimeAgent.h:
2389         * inspector/front-end/AuditRules.js:
2390         (WebInspector.AuditRules.evaluateInTargetWindow):
2391         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2392         * inspector/front-end/DOMStorage.js:
2393         * inspector/front-end/Database.js:
2394         * inspector/front-end/ExtensionServer.js:
2395         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2396         * inspector/front-end/inspector.js:
2397         (WebInspector.inspect):
2398
2399 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
2400
2401         Reviewed by Pavel Feldman.
2402
2403         Web Inspector: refactor "script or resource" mess in scripts panel.
2404         https://bugs.webkit.org/show_bug.cgi?id=54961
2405
2406         - Use sourceName instead of scriptOrResource
2407         - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are
2408           calling each other recursively with small one-purpose non-recursive functions
2409
2410         Test: inspector/debugger/scripts-panel.html
2411
2412         * inspector/front-end/ScriptsPanel.js:
2413         (WebInspector.ScriptsPanel):
2414         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
2415         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2416         (WebInspector.ScriptsPanel.prototype._addScript):
2417         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
2418         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
2419         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
2420         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
2421         (WebInspector.ScriptsPanel.prototype.reset):
2422         (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
2423         (WebInspector.ScriptsPanel.prototype.showSourceLine):
2424         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
2425         (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
2426         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
2427         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2428         (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList):
2429         (WebInspector.ScriptsPanel.prototype._sourceNameForScript):
2430         (WebInspector.ScriptsPanel.prototype._scriptForSourceName):
2431         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2432         (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
2433         (WebInspector.ScriptsPanel.prototype._goBack):
2434         (WebInspector.ScriptsPanel.prototype._goForward):
2435         * inspector/front-end/SourceFrame.js:
2436         (WebInspector.SourceFrame.prototype.setExecutionLine):
2437
2438 2011-02-24  Eric Seidel  <eric@webkit.org>
2439
2440         Reviewed by Adam Barth.
2441
2442         Fragment parsing does not need to use HTMLSourceTracker
2443         https://bugs.webkit.org/show_bug.cgi?id=55011
2444
2445         Any performance gains from this patch are likely
2446         the result of working around:
2447         https://bugs.webkit.org/show_bug.cgi?id=55005
2448         (Which suggests that fixing bug 55005 will speed
2449         up normal HTML parsing substantially.)
2450
2451         Assuming I ran the numbers correct, here is the
2452         change from PerformanceTests/Parser/tiny-innerHTML:
2453         Before patch:
2454         avg 5586.1
2455         median 5594
2456         stdev 41.295157101045135
2457         min 5425
2458         max 5633
2459
2460         After Patch:
2461         avg 2603.9
2462         median 2609.5
2463         stdev 32.500615378789355
2464         min 2475
2465         max 2649
2466
2467         Removing just the HTMLSourceTracker calls brought our
2468         score from 5500 to 5200, removing the XSSFilter as well
2469         brought it to 2600 on my machine.
2470
2471         * html/parser/HTMLDocumentParser.cpp:
2472         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2473         (WebCore::HTMLDocumentParser::pumpTokenizer):
2474         * html/parser/HTMLDocumentParser.h:
2475
2476 2011-02-24  Andras Becsi  <abecsi@webkit.org>
2477
2478         Reviewed by Laszlo Gombos.
2479
2480         [Qt] MinGW build fails to link
2481         https://bugs.webkit.org/show_bug.cgi?id=55050
2482
2483         Prepend the libraries of subcomponents instead of appending them
2484         to fix the library order according to the dependency of the libraries
2485
2486         No new tests needed.
2487
2488         * WebCore.pri:
2489
2490 2011-02-24  Adam Barth  <abarth@webkit.org>
2491
2492         Reviewed by Eric Seidel.
2493
2494         CSP's script-src should block JavaScript URLs
2495         https://bugs.webkit.org/show_bug.cgi?id=54787
2496
2497         Blocking JavaScript URLs required some re-architecting of the lifetime
2498         of the ContentSecurityPolicy object.  We now manage the lifetime the
2499         same way we manage the lifetime of the SecurityOrigin object.  In
2500         particular, when SecurityOrigin inherits into an about:blank iframe, we
2501         inherit the CSP object as well.  (This is covered by the test added in
2502         this patch.) In the future, we might consider making
2503         ContentSecurityPolicy a component of SecurityOrigin instead of a
2504         component of Document.
2505
2506         I noted the trickiness in
2507         http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll
2508         make sure it gets defined properly in the spec.
2509
2510         Test: http/tests/security/contentSecurityPolicy/javascript-url.html
2511
2512         * bindings/ScriptControllerBase.cpp:
2513         (WebCore::ScriptController::executeIfJavaScriptURL):
2514         * dom/Document.cpp:
2515         (WebCore::Document::initSecurityContext):
2516         * dom/Document.h:
2517         (WebCore::Document::contentSecurityPolicy):
2518         * page/ContentSecurityPolicy.cpp:
2519         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
2520         * page/ContentSecurityPolicy.h:
2521         (WebCore::ContentSecurityPolicy::create):
2522
2523 2011-02-21  Philippe Normand  <pnormand@igalia.com>
2524
2525         Reviewed by Martin Robinson.
2526
2527         [GStreamer] GRefPtr support for GstElement
2528         https://bugs.webkit.org/show_bug.cgi?id=54870
2529
2530         * CMakeListsEfl.txt:
2531         * GNUmakefile.am:
2532         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added.
2533         (WTF::GstElement):
2534         * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added.
2535         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2536         (webKitWebSrcQuery):
2537
2538 2011-02-24  Emil A Eklund  <eae@chromium.org>
2539
2540         Reviewed by Eric Seidel.
2541
2542         Share code between elementFromPoint and caretRangeFromPoint in Document.
2543         https://bugs.webkit.org/show_bug.cgi?id=54610
2544
2545         Eliminate duplicate code by moving shared logic from elementFromPoint and
2546         caretRangeFromPoint into helper function.
2547
2548         * dom/Document.cpp:
2549         (WebCore::nodeFromPoint):
2550         (WebCore::Document::elementFromPoint):
2551         (WebCore::Document::caretRangeFromPoint):
2552
2553 2011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
2554
2555         Unreviewed build fix.
2556
2557         * inspector/InspectorDOMAgent.cpp:
2558         (WebCore::InspectorDOMAgent::removeAttribute):
2559         * inspector/InspectorResourceAgent.cpp:
2560         (WebCore::InspectorResourceAgent::cachedResources):
2561         * inspector/InspectorRuntimeAgent.cpp:
2562         (WebCore::InspectorRuntimeAgent::evaluate):
2563
2564 2011-02-24  Zan Dobersek  <zandobersek@gmail.com>
2565
2566         Reviewed by Eric Seidel.
2567
2568         [gtk] Failing collinear arcTo canvas tests
2569         https://bugs.webkit.org/show_bug.cgi?id=54658
2570
2571         Check for collinearity of the three points that affect how arcTo call
2572         results. This behavior is in accordance with the HTML standard.
2573
2574         No new tests added as this is already covered by at least two tests.
2575
2576         * platform/graphics/cairo/PathCairo.cpp:
2577         (WebCore::areaOfTriangleFormedByPoints):
2578         (WebCore::Path::addArcTo):
2579
2580 2011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
2581
2582         Reviewed by Pavel Feldman.
2583
2584         Web Inspector: There is a validator of the protocol message format.
2585
2586         It has two parts. InspectorBackendStub.js is the frontend part.
2587         InspectorBackendDispatcher.cpp is the backend part.
2588         Both parts are checking protocol message format and report the error if
2589         the message has not enough fields or the types of fields do not match with
2590         Inspector.idl specification. These validators are generated automatically.
2591
2592         In addition, we have a number of places at the backend where we check the
2593         function arguments and do nothing if the arguments are invalid
2594         from the business logic point of view.
2595
2596         This patch bring us an ability to report a custom error from such function to the frontend.
2597
2598         https://bugs.webkit.org/show_bug.cgi?id=54971
2599
2600         * inspector/CodeGeneratorInspector.pm:
2601         * inspector/InjectedScriptHost.cpp:
2602         * inspector/InspectorAgent.cpp:
2603         * inspector/InspectorAgent.h:
2604         * inspector/InspectorApplicationCacheAgent.cpp:
2605         * inspector/InspectorApplicationCacheAgent.h:
2606         * inspector/InspectorBrowserDebuggerAgent.cpp:
2607         * inspector/InspectorBrowserDebuggerAgent.h:
2608         * inspector/InspectorCSSAgent.cpp:
2609         * inspector/InspectorCSSAgent.h:
2610         * inspector/InspectorConsoleAgent.cpp:
2611         * inspector/InspectorConsoleAgent.h:
2612         * inspector/InspectorController.cpp:
2613         * inspector/InspectorDOMAgent.cpp:
2614         * inspector/InspectorDOMAgent.h:
2615         * inspector/InspectorDOMStorageAgent.cpp:
2616         * inspector/InspectorDOMStorageAgent.h:
2617         * inspector/InspectorDatabaseAgent.cpp:
2618         * inspector/InspectorDatabaseAgent.h:
2619         * inspector/InspectorDebuggerAgent.cpp:
2620         * inspector/InspectorDebuggerAgent.h:
2621         * inspector/InspectorProfilerAgent.cpp:
2622         * inspector/InspectorProfilerAgent.h:
2623         * inspector/InspectorResourceAgent.cpp:
2624         * inspector/InspectorResourceAgent.h:
2625         * inspector/InspectorRuntimeAgent.cpp:
2626         * inspector/InspectorRuntimeAgent.h:
2627         * inspector/InspectorTimelineAgent.cpp:
2628         * inspector/InspectorTimelineAgent.h:
2629
2630 2011-02-24  Ryosuke Niwa  <rniwa@webkit.org>
2631
2632         Reviewed by Ojan Vafai.
2633
2634         Crash when deleting inside a blockquote with a large offset
2635         https://bugs.webkit.org/show_bug.cgi?id=55098
2636
2637         The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
2638         While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
2639         breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
2640         the downstream position to instantiate caretPos.
2641
2642         Co-author: Abhishek Arya <inferno@chromium.org>.
2643
2644         Test: editing/deleting/delete-blockquote-large-offsets.html
2645
2646         * editing/CompositeEditCommand.cpp:
2647         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2648
2649 2011-02-24  Robert Kroeger  <rjkroege@chromium.org>
2650
2651         Reviewed by Darin Fisher.
2652
2653         Added timestamps to PlatformTouchEvent etc.
2654
2655         PlatformTouchEvent doesn't have a timestamp and so
2656         eventSender.leapForward cannot be used for touchevent based tests.
2657         This change adds a timestamp to PlatformTouchEvent and initializes
2658         it in a reasonable manner on Android and Qt platforms.
2659
2660         [chromium] [WebCore] [android] Touch events are missing time stamps
2661         https://bugs.webkit.org/show_bug.cgi?id=53510
2662
2663         * platform/PlatformTouchEvent.h:
2664         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2665         (WebCore::PlatformTouchEvent::timestamp):
2666         * platform/android/PlatformTouchEventAndroid.cpp:
2667         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2668         * platform/qt/PlatformTouchEventQt.cpp:
2669         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2670
2671 2011-02-24  Renata Hodovan  <reni@webkit.org>
2672
2673         Unreviewed GTK, Snow Leopard build fix for r79474.
2674
2675         * platform/graphics/filters/FEConvolveMatrix.cpp:
2676         (WebCore::FEConvolveMatrix::setKernelUnitLength):
2677         * platform/graphics/filters/FEConvolveMatrix.h:
2678
2679 2011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2680
2681         Reviewed by Xan Lopez.
2682
2683         Use IntRect instead of a pointer to a GtkAllocation struct to avoid
2684         unnecessary memory allocations.
2685
2686         * plugins/PluginView.h:
2687         * plugins/gtk/PluginViewGtk.cpp:
2688         (WebCore::PluginView::setNPWindowIfNeeded):
2689         (WebCore::PluginView::plugAddedCallback):
2690
2691 2011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2692
2693         Unreviewed. Fix the build with GTK+ 3.
2694
2695         * plugins/PluginView.h:
2696
2697 2011-02-23  Ryosuke Niwa  <rniwa@webkit.org>
2698
2699         Reviewed by Darin Adler.
2700
2701         Refactor HTMLEquivalent into a hierachy of classes
2702         https://bugs.webkit.org/show_bug.cgi?id=55025
2703
2704         Converted HTMLEquivalent into a class.  Some logic in removeImplicitlyStyledElement is
2705         extracted as member functions of HTMLEquivalent and its subclasses.
2706
2707         * editing/ApplyStyleCommand.cpp:
2708         (WebCore::HTMLEquivalent::create): Added.
2709         (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
2710         (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
2711         the element's implicit style affects the property of this equivalence.
2712         (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
2713         e.g. color, size, dir.
2714         (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
2715         exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
2716         this function returns true if the specified style has font-size property set.
2717         (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
2718         (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
2719         implicit style of the specified element of this equivalence.
2720         (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
2721         to the specified mutable style.
2722         (WebCore::HTMLEquivalentValueList::create): Added.
2723         (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
2724         (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
2725         (WebCore::HTMLEquivalentAttribute::create): Added.
2726         (WebCore::HTMLEquivalentAttribute::matches): Added.
2727         (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
2728         (WebCore::HTMLEquivalentAttribute::attributeName): Added.
2729         (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
2730         (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
2731         (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
2732         (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
2733         (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
2734         (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
2735         (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
2736         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
2737
2738 2011-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2739
2740         Unreviewed, rolling out r79510.
2741         http://trac.webkit.org/changeset/79510
2742         https://bugs.webkit.org/show_bug.cgi?id=55114
2743
2744         It made ~200 tests crash on Qt bot (Requested by Ossy_ on
2745         #webkit).
2746
2747         * platform/text/TextBreakIterator.h:
2748         * platform/text/TextBreakIteratorICU.cpp:
2749         (WebCore::lineBreakIterator):
2750         * platform/text/qt/TextBreakIteratorQt.cpp:
2751         (WebCore::lineBreakIterator):
2752         * rendering/RenderBlock.h:
2753         * rendering/RenderBlockLineLayout.cpp:
2754         (WebCore::RenderBlock::layoutInlineChildren):
2755         (WebCore::RenderBlock::findNextLineBreak):
2756         * rendering/RenderText.cpp:
2757         (WebCore::RenderText::computePreferredLogicalWidths):
2758         * rendering/break_lines.cpp:
2759         (WebCore::nextBreakablePosition):
2760         * rendering/break_lines.h:
2761         (WebCore::isBreakable):
2762
2763 2011-02-23  Geoffrey Garen  <ggaren@apple.com>
2764
2765         Reviewed by Mark Rowe.
2766         
2767         Used svn merge -r79502:79501 to roll out r79502 because it broke the
2768         SnowLeopard and Leopard builds.
2769
2770         * WebCore.xcodeproj/project.pbxproj:
2771         * platform/mac/HTMLConverter.h: Removed.
2772         * platform/mac/HTMLConverter.mm: Removed.
2773         * platform/mac/PasteboardMac.mm:
2774         (WebCore::Pasteboard::writeSelection):
2775
2776 2011-02-23  Beth Dakin  <bdakin@apple.com>
2777
2778         Reviewed by Dan Bernstein.
2779
2780         Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window 
2781         when scrolling
2782
2783         When there is both a horizontal and a vertical scrollbar, it is necessary to 
2784         include the space between them in the invalidation.
2785         * platform/ScrollableArea.cpp:
2786         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
2787
2788 2011-02-23  Ned Holbrook  <nholbrook@apple.com>
2789
2790         Reviewed by Dan Bernstein.
2791
2792         Minimize calls to ubrk_setText()
2793         https://bugs.webkit.org/show_bug.cgi?id=54912
2794         <rdar://problem/9032774>
2795
2796         Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
2797         break iterator creation until needed. This requires replacing the global line break iterator primitive with a
2798         version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
2799         layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
2800         In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
2801
2802         * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
2803         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
2804         (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
2805         (WebCore::LazyLineBreakIterator::string):
2806         (WebCore::LazyLineBreakIterator::length):
2807         (WebCore::LazyLineBreakIterator::get):
2808         (WebCore::LazyLineBreakIterator::reset):
2809         * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
2810         (WebCore::acquireLineBreakIterator):
2811         (WebCore::releaseLineBreakIterator):
2812         * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
2813         (WebCore::acquireLineBreakIterator):
2814         (WebCore::releaseLineBreakIterator):
2815         * rendering/RenderBlock.h:
2816         * rendering/RenderBlockLineLayout.cpp:
2817         (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
2818         (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
2819         * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
2820         (WebCore::RenderText::computePreferredLogicalWidths):
2821         * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
2822         (WebCore::nextBreakablePosition):
2823         * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
2824         (WebCore::isBreakable):
2825
2826 2011-02-23  Anders Carlsson  <andersca@apple.com>
2827
2828         Fix build.
2829
2830         * platform/mac/HTMLConverter.h:
2831
2832 2011-02-17  Enrica Casucci  <enrica@apple.com>
2833
2834         Reviewed by Darin Adler.
2835
2836         REGRESSION: Copied content loses formatting on paste to external apps.
2837         https://bugs.webkit.org/show_bug.cgi?id=47615
2838         <rdar://problem/9001214>
2839
2840         This patch adds a way for WebKit2 to create NSAttributedStrings from
2841         a DOM range without using the AppKit api initWithDOMRange that internally
2842         needs to access the WebView. The NSAttributedString is needed to create
2843         RTF formats in the pasteboard.
2844         This is to be considered a first step, since in the future we want to have
2845         an implementation based on the TextIterator.
2846         
2847         * WebCore.xcodeproj/project.pbxproj: Added new file.
2848         * platform/mac/HTMLConverter.h: Added.
2849         * platform/mac/HTMLConverter.mm: Added.
2850         * platform/mac/PasteboardMac.mm:
2851         (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
2852         class for WebKit2 to create the NSAttributedString from the DOM range.
2853
2854 2011-02-23  David Hyatt  <hyatt@apple.com>
2855
2856         Reviewed by Sam Weinig.
2857
2858         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
2859
2860         Patch computePositionedLogicalHeightUsing to be writing-mode-aware. 
2861
2862         * rendering/RenderBox.cpp:
2863         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2864         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
2865         * rendering/RenderBox.h:
2866
2867 2011-02-23  Martin Robinson  <mrobinson@igalia.com>
2868
2869         Reviewed by Xan Lopez.
2870
2871         [Gtk] Flash item placed on wrong location right after load
2872         https://bugs.webkit.org/show_bug.cgi?id=37769
2873
2874         If a plugin is GtkSocket based, do not set the widget allocation until the
2875         window is actually embedded in the parent. When the window is embedded, use
2876         any pending allocation for the call to gtk_widget_size_allocate. This bug
2877         seems to only appear with Flash movies loaded as the src of an iframe.
2878
2879         * manual-tests/plugins/windowed-in-iframe.html: Added.
2880         * plugins/PluginView.h: Add a few new members to track window embedding state.
2881         * plugins/gtk/PluginViewGtk.cpp:
2882         (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
2883         wait until the plug-added signal fires to set the widget allocation.
2884         (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
2885         we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
2886         with it.
2887         (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
2888         call gtk_widget_size_allocate if the window isn't embedded.
2889
2890 2011-02-18  Enrica Casucci  <enrica@apple.com>
2891
2892         Reviewed by Adam Roben.
2893
2894         Mac OS X Services are not available for selected text in WebKit2 windows.
2895         https://bugs.webkit.org/show_bug.cgi?id=54777
2896         <rdar://problem/8666428>
2897
2898         The changes to WebCore for this bug are limited to exposing a new
2899         entry point in the Editor class to write to the pasteboard and
2900         changes to the Pasteboard class to write the selection with
2901         a given set of pasteboard types. The majority of the work
2902         is done in WebKit2.
2903         
2904         * WebCore.exp.in:
2905         * editing/Editor.h:
2906         * editing/mac/EditorMac.mm: Added entrypoint to write the
2907         selection to the pasteboard.
2908         (WebCore::Editor::writeSelectionToPasteboard):
2909         * platform/Pasteboard.h:
2910         * platform/mac/ClipboardMac.mm:
2911         (WebCore::ClipboardMac::writeRange):
2912         * platform/mac/PasteboardMac.mm:
2913         (WebCore::Pasteboard::writeSelection):
2914
2915 2011-02-23  David Hyatt  <hyatt@apple.com>
2916
2917         Reviewed by Simon Fraser.
2918
2919         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
2920
2921         Patch computePositionedLogicalHeight to be writing-mode-aware.  Functions it calls have not been
2922         patched yet, so still not testable in a vertical text environment.
2923
2924         * rendering/RenderBox.cpp:
2925         (WebCore::RenderBox::computePositionedLogicalHeight):
2926
2927 2011-02-23  David Hyatt  <hyatt@apple.com>
2928
2929         Reviewed by Sam Weinig.
2930
2931         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
2932
2933         Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
2934         environment, since height computations will overwrite all values computed here until they are patched as well.
2935
2936         * rendering/RenderBox.cpp:
2937         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2938         * rendering/RenderBox.h:
2939
2940 2011-02-23  Renata Hodovan  <reni@webkit.org>
2941
2942         Reviewed by Nikolas Zimmermann.
2943
2944         FEColorMatrixElement changes doesn't require relayout
2945         https://bugs.webkit.org/show_bug.cgi?id=54880
2946
2947         When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
2948         to relayout the filter.
2949
2950         No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
2951
2952         * platform/graphics/filters/FEColorMatrix.cpp:
2953         (WebCore::FEColorMatrix::setType):
2954         (WebCore::FEColorMatrix::setValues):
2955         * platform/graphics/filters/FEColorMatrix.h:
2956         * svg/SVGFEColorMatrixElement.cpp:
2957         (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
2958         (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
2959         * svg/SVGFEColorMatrixElement.h:
2960
2961 2011-02-23  James Robinson  <jamesr@chromium.org>
2962
2963         REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
2964
2965         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.
2966
2967         * platform/text/TextCodecUTF16.cpp:
2968         (WebCore::newStreamingTextDecoderUTF16LE):
2969         (WebCore::newStreamingTextDecoderUTF16BE):
2970         (WebCore::TextCodecUTF16::decode):
2971         (WebCore::TextCodecUTF16::encode):
2972
2973 2011-02-23  David Hyatt  <hyatt@apple.com>
2974
2975         Reviewed by Sam Weinig.
2976
2977         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
2978
2979         Patch computePositionedLogicalWidth to be writing-mode-aware.  Functions it calls have not been
2980         patched yet, so still not testable in a vertical text environment.
2981
2982         * rendering/RenderBox.cpp:
2983         (WebCore::RenderBox::computePositionedLogicalWidth):
2984
2985 2011-02-23  James Robinson  <jamesr@chromium.org>
2986
2987         Unreviewed, rolling out r79428.
2988         http://trac.webkit.org/changeset/79428
2989         https://bugs.webkit.org/show_bug.cgi?id=54714
2990
2991         Does not work in the Chromium sandbox
2992
2993         * websockets/WebSocketHandshake.cpp:
2994         (WebCore::generateSecWebSocketKey):
2995         (WebCore::generateKey3):
2996
2997 2011-02-23  David Hyatt  <hyatt@apple.com>
2998
2999         Reviewed by Sam Weinig.
3000
3001         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
3002         
3003         Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
3004
3005         * rendering/style/RenderStyle.h:
3006         (WebCore::InheritedFlags::logicalLeft):
3007         (WebCore::InheritedFlags::logicalRight):
3008         (WebCore::InheritedFlags::logicalTop):
3009         (WebCore::InheritedFlags::logicalBottom):
3010
3011 2011-02-23  Darin Adler  <darin@apple.com>
3012
3013         Reviewed by Alexey Proskuryakov.
3014
3015         Fix crash seen in one of the regression tests.
3016
3017         * platform/text/TextCodecUTF16.cpp:
3018         (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
3019         we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
3020         and the correct thing to do is nothing.
3021
3022 2011-02-23  Sergey Glazunov  <serg.glazunov@gmail.com>
3023
3024         Reviewed by James Robinson.
3025
3026         SVGCursorElement::removeClient() should verify that its argument is connected with
3027         the proper cursor element.
3028         https://bugs.webkit.org/show_bug.cgi?id=54979
3029
3030         Test: svg/css/multiple-cursors-crash.html
3031
3032         * svg/SVGCursorElement.cpp:
3033         (WebCore::SVGCursorElement::removeClient):
3034
3035 2011-02-23  Renata Hodovan  <reni@webkit.org>
3036
3037         Reviewed by Darin Adler.
3038
3039         FEConvolveMatrixElement changes doesn't require relayout
3040         https://bugs.webkit.org/show_bug.cgi?id=55067
3041
3042         When the FEConvolveMatrixElement receives an update message but the
3043         given value remains the same we don't need to relayout the filter.
3044
3045         No new tests are needed because this modificiation is covered by the
3046         dynamic update tests of FEConvolveMatrix.
3047
3048         * platform/graphics/filters/FEConvolveMatrix.cpp:
3049         (WebCore::FEConvolveMatrix::setDivisor):
3050         (WebCore::FEConvolveMatrix::setBias):
3051         (WebCore::FEConvolveMatrix::setTargetOffset):
3052         (WebCore::FEConvolveMatrix::edgeMode):
3053         (WebCore::FEConvolveMatrix::setEdgeMode):
3054         (WebCore::FEConvolveMatrix::setPreserveAlpha):
3055         * platform/graphics/filters/FEConvolveMatrix.h:
3056         * svg/SVGFEConvolveMatrixElement.cpp:
3057         (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
3058         (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
3059         * svg/SVGFEConvolveMatrixElement.h:
3060
3061 2011-02-23  Geoffrey Garen  <ggaren@apple.com>
3062
3063         Reviewed by Darin Adler.
3064
3065         Rolled back in r79367 with SnowLeopard Release bot crash fixed.
3066         https://bugs.webkit.org/show_bug.cgi?id=54999
3067
3068         * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
3069
3070 2011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
3071
3072         Reviewed by Darin Adler.
3073
3074         Add more thorough manual test coverage for media controls
3075         https://bugs.webkit.org/show_bug.cgi?id=55006
3076
3077         * manual-tests/media-controls.html: Added.
3078
3079 2011-02-23  Darin Adler  <darin@apple.com>
3080
3081         Fix build.
3082
3083         * platform/text/TextCodecUTF16.cpp:
3084         (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
3085
3086 2011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
3087
3088         Reviewed by Darin Adler.
3089
3090         Setting shadow host should also attach and set inDocument, just like
3091         appending/inserting a child.
3092         https://bugs.webkit.org/show_bug.cgi?id=55065
3093
3094         No new tests, because functionality is not yet used.
3095
3096         * dom/Element.cpp:
3097         (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
3098             for the shadow DOM subtree, like the host.
3099
3100 2011-02-23  David Hyatt  <hyatt@apple.com>
3101
3102         Reviewed by Darin Adler and Simon Fraser.
3103
3104         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
3105         
3106         - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
3107         writing-mode.
3108         - Patch clientLogicalBottom to use clientLogicalHeight.
3109         - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
3110         clientLogicalHeight/Width.  Also make them able to handle perpendicular writing mode containining blocks.
3111         - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
3112         
3113         * rendering/RenderBox.cpp:
3114         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
3115         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3116         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3117         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
3118         (WebCore::RenderBox::computePositionedLogicalWidth):
3119         (WebCore::RenderBox::computePositionedLogicalHeight):
3120         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3121         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
3122         * rendering/RenderBox.h:
3123         (WebCore::RenderBox::clientLogicalWidth):
3124         (WebCore::RenderBox::clientLogicalHeight):
3125         (WebCore::RenderBox::clientLogicalBottom):
3126
3127 2011-02-23  Darin Adler  <darin@apple.com>
3128
3129         Reviewed by Alexey Proskuryakov.
3130
3131         REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
3132         https://bugs.webkit.org/show_bug.cgi?id=54862
3133
3134         Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
3135         https://bugs.webkit.org/show_bug.cgi?id=54444
3136
3137         No new tests at this time. I will add some tests later, but since multiple
3138         people are hitting this I wanted to get it in as quickly as possible.
3139
3140         * platform/text/TextCodecUTF16.cpp:
3141         (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
3142         Removed special case for zero length now that main code handles it
3143         correctly. Used words instead of abbreviations for local variable names.
3144         Added error handling for a trailing byte.
3145
3146         * platform/text/TextCodecUTF8.cpp:
3147         (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
3148         to make the handleError and handlePartialSequence functions clearer.
3149         (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
3150         handlePartialSequence clearer.
3151         (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
3152         the partial sequence case. Making this a separate function probably helps make
3153         the fast case a little faster. This new version handles more cases correctly,
3154         which is what fixes the crashes we were seeing. In particular, it no longer
3155         assumes that the partial sequence is truly partial, because there are cases
3156         where we end up handling complete sequences here, such as when a complete
3157         sequence is inside a malformed partial sequence.
3158         (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
3159         call handlePartialSequence instead. Could be streamlined if we double checked
3160         that passing a reference to "destination" and "source" doesn't harm code
3161         generation too much, so perhaps someone can do that research on a few compilers
3162         later and clean this up. Removed special case for zero length now that the
3163         main code handles that correctly.
3164
3165         * platform/text/TextCodecUTF8.h: Added declarations for new functions.
3166         Made partial sequence buffer large enough to hold a whole sequence so we can
3167         use it to complete and decode a sequence in place.
3168
3169 2011-02-23  Abhishek Arya  <inferno@chromium.org>
3170
3171         Reviewed by Dave Hyatt.
3172
3173         Make clear float lineboxes resilient against overflows.        
3174         https://bugs.webkit.org/show_bug.cgi?id=54995
3175
3176         We try to dirty everthing in block range if we have a negative
3177         logical bottom, or if our logical bottom is less than our logical
3178         top, or if our logical top is equal to INT_MAX. Plus, we also dirty
3179         a linebox if its block logical height is less than zero.
3180         Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
3181                fast/overflow/overflow-height-float-not-removed-crash3.html
3182
3183         * rendering/RenderBlock.cpp:
3184         (WebCore::RenderBlock::removeFloatingObject):
3185         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
3186         * rendering/RootInlineBox.cpp:
3187         (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
3188         added in r69735. we don't need this anymore since we are making the
3189         underlying float dirty logic resilient.
3190
3191 2011-02-22  Kenneth Russell  <kbr@google.com>
3192
3193         Reviewed by Darin Fisher.
3194
3195         Per-page minimum DOMTimer interval broken for repeating timers
3196         https://bugs.webkit.org/show_bug.cgi?id=55014
3197
3198         When the minimum timer interval is adjusted, if the timer is
3199         repeating, cause its repeat interval to be set to its original
3200         timeout clamped to the new minimum interval.
3201
3202         Tests: fast/dom/timer-increase-min-interval-repeating.html
3203                fast/dom/timer-increase-then-decrease-min-interval-repeating.html
3204
3205         * page/DOMTimer.cpp:
3206         (WebCore::DOMTimer::adjustMinimumTimerInterval):
3207
3208 2011-02-23  Dan Bernstein  <mitz@apple.com>
3209
3210         Reviewed by Maciej Stachowiak.
3211
3212         Fix two issues seen in WebKit2 views on Mac:
3213         - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
3214         - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
3215
3216         * page/EventHandler.cpp:
3217         (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
3218         to -1. Since WebKit2 doesn�t support non-activating clicks yet (<http://webkit.org/b/55053>
3219         <rdar://problem/9042197>) and doesn�t send event numbers, all events were considered to be
3220         window-activating events. This in turn prevented them from clearing the selection and resuming
3221         caret blinking on mouse up.
3222
3223 2011-02-23  Jacob Dinu  <dinu.jacob@nokia.com>
3224
3225         Reviewed by Pavel Feldman.
3226
3227         Web Inspector: Linking error for some InspectorController symbols
3228         https://bugs.webkit.org/show_bug.cgi?id=54953
3229
3230         Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag 
3231
3232         * inspector/InspectorController.cpp:
3233         (WebCore::InspectorController::hideHighlight):
3234         (WebCore::InspectorController::resume):
3235
3236 2011-02-23  Hans Wennborg  <hans@chromium.org>
3237
3238         IndexedDB: Move some SQL code into IDBBackingStore
3239         https://bugs.webkit.org/show_bug.cgi?id=54889
3240
3241         The idea is to gather all the SQL logic into IDBBackingStore.
3242
3243         No new functionality, so no new tests.
3244
3245         * storage/IDBBackingStore.cpp:
3246         (WebCore::IDBBackingStore::IDBBackingStore):
3247         (WebCore::runCommands):
3248         (WebCore::createTables):
3249         (WebCore::createMetaDataTable):
3250         (WebCore::getDatabaseSchemaVersion):
3251         (WebCore::migrateDatabase):
3252         (WebCore::IDBBackingStore::open):
3253         (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
3254         (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
3255         (WebCore::IDBBackingStore::getObjectStores):
3256         (WebCore::IDBBackingStore::createObjectStore):
3257         (WebCore::doDelete):
3258         (WebCore::IDBBackingStore::deleteObjectStore):
3259         (WebCore::whereSyntaxForKey):
3260         (WebCore::bindKeyToQuery):
3261         (WebCore::IDBBackingStore::getObjectStoreRecord):
3262         (WebCore::bindKeyToQueryWithNulls):
3263         (WebCore::IDBBackingStore::putObjectStoreRecord):
3264         (WebCore::IDBBackingStore::deleteIndexDataForRecord):
3265         (WebCore::IDBBackingStore::putIndexDataForRecord):
3266         (WebCore::IDBBackingStore::createIndex):
3267         (WebCore::IDBBackingStore::deleteIndex):
3268         (WebCore::IDBBackingStore::clearObjectStore):
3269         * storage/IDBBackingStore.h:
3270         * storage/IDBDatabaseBackendImpl.cpp:
3271         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
3272         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
3273         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
3274         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
3275         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
3276         * storage/IDBFactoryBackendImpl.cpp:
3277         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
3278         (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
3279         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
3280         (WebCore::IDBFactoryBackendImpl::open):
3281         * storage/IDBFactoryBackendImpl.h:
3282         * storage/IDBObjectStoreBackendImpl.cpp:
3283         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3284         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3285         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
3286         (WebCore::populateIndex):
3287         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3288         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
3289
3290 2011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
3291
3292         Reviewed by Laszlo Gombos.
3293
3294         [Qt] Fix the Symbian build after r79334
3295         https://bugs.webkit.org/show_bug.cgi?id=55044
3296
3297         No new tests as there is no new functionality.
3298
3299         * WebCore.pri: Reorder symbian blocks to make sure that
3300         system-sqlite is set before it is tested.
3301
3302         Copy the rules from JavaScriptCore.pri for defineTest().
3303
3304 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
3305
3306         Reviewed by Alexey Proskuryakov.
3307
3308         Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
3309         https://bugs.webkit.org/show_bug.cgi?id=54992
3310
3311         * websockets/WebSocketHandshake.cpp:
3312         (WebCore::WebSocketHandshake::readHTTPHeaders):
3313
3314 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
3315
3316         Reviewed by Andreas Kling.
3317
3318         [CMake] Move platform dependent files out of main CMakeLists.txt
3319         https://bugs.webkit.org/show_bug.cgi?id=53891
3320
3321         Apple Windows port does not use the image decoders,
3322         so move them into the platform specific CMake files.
3323
3324         * CMakeLists.txt:
3325         * CMakeListsEfl.txt:
3326         * CMakeListsWinCE.txt:
3327
3328 2011-02-21  Stephen White  <senorblanco@chromium.org>
3329
3330         Reviewed by Kenneth Russell.
3331
3332         Jittering when animating a rotated image
3333         https://bugs.webkit.org/show_bug.cgi?id=50775
3334
3335         Since Skia does not seem to suffer from pixel cracks when scaling to
3336         non-integral sizes the way CG does, no-op roundToDevicePixels on the
3337         Skia implementation.
3338
3339         * platform/graphics/skia/GraphicsContextSkia.cpp:
3340         (WebCore::GraphicsContext::roundToDevicePixels):
3341
3342 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
3343
3344         Reviewed by Andreas Kling.
3345
3346         [WINCE] Get rid of TemporaryLinkStubs.cpp
3347         https://bugs.webkit.org/show_bug.cgi?id=54825
3348
3349         * CMakeListsWinCE.txt:
3350         * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
3351         * platform/wince/TemporaryLinkStubs.cpp: Removed.
3352
3353 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
3354
3355         Reviewed by Darin Adler.
3356
3357         Rename PLATFORM(CF) to USE(CF)
3358         https://bugs.webkit.org/show_bug.cgi?id=53540
3359
3360         * WebCore.gyp/WebCore.gyp:
3361         * editing/SmartReplace.cpp:
3362         * editing/SmartReplaceICU.cpp:
3363         * loader/MainResourceLoader.cpp:
3364         (WebCore::MainResourceLoader::didReceiveResponse):
3365         (WebCore::MainResourceLoader::didReceiveData):
3366         (WebCore::MainResourceLoader::didFinishLoading):
3367         (WebCore::MainResourceLoader::didFail):
3368         * loader/archive/ArchiveFactory.cpp:
3369         (WebCore::archiveMIMETypes):
3370         * platform/FileSystem.h:
3371         * platform/KURL.h:
3372         * platform/KURLGoogle.cpp:
3373         * platform/RunLoopTimer.h:
3374         * platform/SharedBuffer.cpp:
3375         * platform/SharedBuffer.h:
3376         * platform/UUID.cpp:
3377         (WebCore::createCanonicalUUIDString):
3378         * platform/network/ResourceHandle.h:
3379         * platform/network/ResourceRequestBase.h:
3380         * platform/network/curl/ResourceHandleCurl.cpp:
3381         * platform/network/curl/ResourceHandleManager.cpp:
3382         (WebCore::certificatePath):
3383         * platform/text/cf/StringCF.cpp:
3384         * platform/text/cf/StringImplCF.cpp:
3385         * platform/win/BString.cpp:
3386         * platform/win/BString.h:
3387         * platform/win/ClipboardUtilitiesWin.cpp:
3388         (WebCore::getWebLocData):
3389         (WebCore::getURL):
3390         (WebCore::getClipboardData):
3391         * platform/win/ClipboardWin.cpp:
3392         (WebCore::writeFileToDataObject):
3393         * platform/win/SearchPopupMenuWin.cpp:
3394         (WebCore::SearchPopupMenuWin::enabled):
3395         (WebCore::SearchPopupMenuWin::saveRecentSearches):
3396         (WebCore::SearchPopupMenuWin::loadRecentSearches):
3397
3398 2011-02-23  Benjamin Kalman  <kalman@chromium.org>
3399
3400         Reviewed by Ojan Vafai.
3401
3402         Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
3403         https://bugs.webkit.org/show_bug.cgi?id=51001
3404
3405         Test: editing/selection/extend-backward-by-word-over-non-editable.html
3406
3407         Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
3408         bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
3409
3410         The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
3411         selection (webkit.org/b/36360).  This was caused by upstream/downstream VisbiblePosition complications.  To fix,
3412         refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
3413         causes this bug).
3414
3415         To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
3416         been slightly restructured to express the invariant that the iterator will never advance past the start node.
3417
3418         * editing/TextIterator.cpp:
3419         (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
3420         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
3421         mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
3422         (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
3423         m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
3424         (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
3425         which updates m_havePassedStartNode and refuses to continue when it becomes true.
3426         * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
3427         member variables.
3428         * editing/visible_units.cpp:
3429         (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
3430
3431 2011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
3432
3433         Reviewed by Adam Barth.
3434
3435         WebSocket uses insecure random numbers
3436         https://bugs.webkit.org/show_bug.cgi?id=54714
3437
3438         * websockets/WebSocketHandshake.cpp:
3439         (WebCore::randomNumberLessThan):
3440         (WebCore::generateSecWebSocketKey):
3441         (WebCore::generateKey3):
3442
3443 2011-02-21  Hans Wennborg  <hans@chromium.org>
3444
3445         Reviewed by Jeremy Orlow.
3446
3447         IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
3448         https://bugs.webkit.org/show_bug.cgi?id=54864
3449
3450         No new functionality, so no new tests.
3451
3452         * GNUmakefile.am:
3453         * WebCore.gypi:
3454         * storage/IDBBackingStore.cpp:
3455         (WebCore::IDBBackingStore::IDBBackingStore):
3456         (WebCore::IDBBackingStore::~IDBBackingStore):
3457         * storage/IDBBackingStore.h:
3458         (WebCore::IDBBackingStore::create):
3459         (WebCore::IDBBackingStore::db):
3460         * storage/IDBCursorBackendImpl.cpp:
3461         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
3462         (WebCore::IDBCursorBackendImpl::currentRowExists):
3463         (WebCore::IDBCursorBackendImpl::database):
3464         * storage/IDBCursorBackendImpl.h:
3465         (WebCore::IDBCursorBackendImpl::create):
3466         * storage/IDBDatabaseBackendImpl.cpp:
3467         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
3468         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
3469         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
3470         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
3471         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
3472         * storage/IDBDatabaseBackendImpl.h:
3473         (WebCore::IDBDatabaseBackendImpl::create):
3474         * storage/IDBFactoryBackendImpl.cpp:
3475         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
3476         (WebCore::openSQLiteDatabase):
3477         (WebCore::IDBFactoryBackendImpl::open):
3478         * storage/IDBFactoryBackendImpl.h:
3479         * storage/IDBIndexBackendImpl.cpp:
3480         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
3481         (WebCore::IDBIndexBackendImpl::openCursorInternal):
3482         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
3483         * storage/IDBIndexBackendImpl.h:
3484         (WebCore::IDBIndexBackendImpl::create):
3485         * storage/IDBObjectStoreBackendImpl.cpp:
3486         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
3487         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3488         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
3489         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
3490         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
3491         * storage/IDBObjectStoreBackendImpl.h:
3492         (WebCore::IDBObjectStoreBackendImpl::create):
3493
3494 2011-02-23  Dominic Mazzoni  <dmazzoni@google.com>
3495
3496         Reviewed by Kenneth Russell.
3497
3498         Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
3499         https://bugs.webkit.org/show_bug.cgi?id=54697
3500
3501         New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
3502
3503         * rendering/RenderHTMLCanvas.cpp:
3504         (WebCore::RenderHTMLCanvas::nodeAtPoint):
3505
3506 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
3507
3508         Reviewed by Darin Adler.
3509
3510         Remove obsolete focusRingColor functions
3511         https://bugs.webkit.org/show_bug.cgi?id=54824
3512
3513         * CMakeListsWinCE.txt:
3514         * platform/graphics/haiku/ColorHaiku.cpp:
3515         * platform/graphics/wince/ColorWinCE.cpp: Removed.
3516
3517 2011-02-22  Jia Pu  <jpu@apple.com>
3518
3519         Reviewed by Dan Bernstein.
3520
3521         On Mac OS X, English contractions are marked misspelled with certain user preference setting.
3522         https://bugs.webkit.org/show_bug.cgi?id=54975
3523
3524         manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
3525
3526         Without this patch, we check for contraction only when autocorrection or other type of auto-
3527         substituation is on. And we failed to check for contraction if only spellchecking is turned on.
3528         This patch implements the desired behavior, checking for contraction when either correction/substitution,
3529         or spellchecking, is on.
3530
3531         * editing/Editor.cpp:
3532         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3533         * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
3534
3535 2011-02-22  Charlie Reis  <creis@chromium.org>
3536
3537         Reviewed by Darin Fisher.
3538
3539         Remove DatabasePolicy from FrameLoaderTypes
3540         https://bugs.webkit.org/show_bug.cgi?id=54968
3541
3542         The DatabasePolicy enum is no longer needed now that we avoid stopping
3543         loaders on same-document navigations.
3544
3545         Existing test: storage/hash-change-with-xhr.html
3546
3547         * WebCore.exp.in:
3548         * loader/DocumentLoader.cpp:
3549         * loader/DocumentLoader.h:
3550         * loader/FrameLoader.cpp:
3551         * loader/FrameLoader.h:
3552         * loader/FrameLoaderTypes.h:
3553         * workers/WorkerThread.cpp:
3554
3555 2011-02-22  Alexis Menard  <alexis.menard@openbossa.org>
3556
3557         Reviewed by Andreas Kling.
3558
3559         [Qt] QWebView ignores a palette set with QWebView::setPalette()
3560         https://bugs.webkit.org/show_bug.cgi?id=31742
3561
3562         Use custom QWebView palette if the view provides one.
3563         Modified version of a patch made by Fabrizio Machado.
3564
3565         * platform/qt/RenderThemeQt.cpp:
3566         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
3567         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
3568         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
3569         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
3570         (WebCore::RenderThemeQt::platformFocusRingColor):
3571
3572 2011-02-22  Brian Salomon  <bsalomon@google.com>
3573
3574         Reviewed by Kenneth Russell.
3575
3576         Don't disable accelerated canvas when using the skia gpu backend.
3577
3578         No new tests are required.
3579
3580         * html/canvas/CanvasRenderingContext2D.cpp:
3581         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
3582
3583 2011-02-22  Luiz Agostini  <luiz.agostini@openbossa.org>
3584
3585         Reviewed by Kenneth Rohde Christiansen.
3586
3587         [Qt] <select>s on http://www.ryanair.com render wrong
3588         https://bugs.webkit.org/show_bug.cgi?id=29647
3589
3590         Reducing padding in <select> elements to improve its rendering and introducing a
3591         rendering adjustment specific to QMacStyle.
3592
3593         * platform/qt/RenderThemeQt.cpp:
3594         (WebCore::RenderThemeQt::setPopupPadding):
3595         (WebCore::RenderThemeQt::paintMenuList):
3596
3597 2011-02-22  Andreas Kling  <kling@webkit.org>
3598
3599         Reviewed by Dan Bernstein.
3600
3601         FontCache: Make cTargetInactiveFontData an int instead of float.
3602         https://bugs.webkit.org/show_bug.cgi?id=54963
3603
3604         * platform/graphics/FontCache.cpp:
3605
3606 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
3607
3608         Reviewed by Darin Adler.
3609
3610         Make Editor::selectionComputedStyle return EditingStyle
3611         https://bugs.webkit.org/show_bug.cgi?id=54933
3612
3613         Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
3614         It also no longer takes a boolean shouldUseFixedFontDefaultSize.
3615
3616         Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
3617         doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
3618         by an existing layout test only after the code was shared with selectionStartStyle.
3619
3620         No tests are added since this is a refactoring.
3621
3622         * editing/CompositeEditCommand.cpp:
3623         (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
3624         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
3625         * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
3626         (WebCore::EditingStyle::mergeTypingStyle): Added.
3627         * editing/EditingStyle.h:
3628         (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
3629         * editing/Editor.cpp:
3630         (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
3631         (WebCore::Editor::selectionHasStyle): Ditto.
3632         (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
3633         (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
3634         * editing/Editor.h:
3635         * editing/EditorCommand.cpp:
3636         (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
3637         * editing/InsertLineBreakCommand.cpp:
3638         * editing/InsertParagraphSeparatorCommand.cpp:
3639         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
3640         EditingStyle::mergeTypingStyle.
3641         * editing/ReplaceSelectionCommand.cpp:
3642         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
3643
3644 2011-02-22  Robert Hogan  <robert@webkit.org>
3645
3646         Reviewed by Andreas Kling.
3647
3648         [Qt] painting of windowed plugins faulty on certain scroll events
3649
3650         https://bugs.webkit.org/show_bug.cgi?id=52735
3651
3652         Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
3653         imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
3654         to the frame again) before passing it to FrameView.
3655
3656         * plugins/qt/PluginViewQt.cpp:
3657         (WebCore::PluginView::updatePluginWidget):
3658
3659 2011-02-22  Philippe Normand  <pnormand@igalia.com>
3660
3661         Reviewed by Martin Robinson.
3662
3663         Minimal build broken
3664         https://bugs.webkit.org/show_bug.cgi?id=54743
3665
3666         Moved the code of setInspectorExtensionAPI and
3667         dispatchMessageFromFrontend out of #if
3668         ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
3669
3670         * inspector/InspectorController.cpp:
3671         (WebCore::InspectorController::setInspectorExtensionAPI):
3672         (WebCore::InspectorController::dispatchMessageFromFrontend):
3673
3674 2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3675
3676         Unreviewed, rolling out r79367.
3677         http://trac.webkit.org/changeset/79367
3678         https://bugs.webkit.org/show_bug.cgi?id=55012
3679
3680         all layout tests are crashing on Snow Leopard (Requested by
3681         rniwa on #webkit).
3682
3683         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
3684
3685 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
3686
3687         Reviewed by Darin Adler.
3688
3689         Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
3690         https://bugs.webkit.org/show_bug.cgi?id=54944
3691
3692         Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
3693
3694         Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
3695         which returns true iff the specified element has inline style that conflicts or matches the editing style.
3696         It also appends conflicting property IDs to the vector of property IDs if one is specified.
3697
3698         * editing/ApplyStyleCommand.cpp:
3699         (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
3700         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
3701         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
3702         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
3703         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
3704         conflictsWithInlineStyleOfElement.
3705         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
3706         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
3707         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
3708         (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
3709         * editing/ApplyStyleCommand.h:
3710         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
3711         * editing/EditingStyle.cpp:
3712         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
3713         * editing/EditingStyle.h:
3714         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
3715
3716 2011-02-22  Chang Shu  <cshu@webkit.org>
3717
3718         Reviewed by Csaba Osztrogonác.
3719
3720         [Qt] editing/deleting/5408255.html fails
3721         https://bugs.webkit.org/show_bug.cgi?id=54964
3722
3723         Move WebCore resource file to QtWebKit since they are referred in WebKit.
3724
3725         * WebCore.pro:
3726
3727 2011-02-22  Brady Eidson  <beidson@apple.com>
3728
3729         Reviewed by Anders Carlsson.
3730
3731         <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
3732         API to view and delete Application Cache data by origin.
3733
3734         Implement these to be used by WK2 API:
3735         * loader/appcache/ApplicationCacheStorage.cpp:
3736         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
3737         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
3738
3739 2011-02-22  Geoffrey Garen  <ggaren@apple.com>
3740
3741         Reviewed by Oliver Hunt.
3742
3743         Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
3744         https://bugs.webkit.org/show_bug.cgi?id=54999
3745         
3746         New WTF header.
3747
3748         * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
3749
3750 2011-02-22  Beth Dakin  <bdakin@apple.com>
3751
3752         Reviewed by Sam Weinig.
3753
3754         Fix for https://bugs.webkit.org/show_bug.cgi?id=54991 
3755         Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS 
3756         Scrollbars
3757         -and corresponding-
3758         <rdar://problem/9034318>
3759
3760         Instead of consulting the theme directly, callers should ask the Scrollbar or 
3761         ScrollableArea if the scrollbars are overlay or not. 
3762
3763         * platform/ScrollView.cpp:
3764         (WebCore::ScrollView::visibleContentRect):
3765         (WebCore::ScrollView::scrollContents):
3766         (WebCore::ScrollView::wheelEvent):
3767         * platform/ScrollableArea.cpp:
3768         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
3769         (WebCore::ScrollableArea::hasOverlayScrollbars):
3770         * platform/ScrollableArea.h:
3771         * platform/Scrollbar.cpp:
3772         (WebCore::Scrollbar::isOverlayScrollbar):
3773         * platform/Scrollbar.h:
3774         * rendering/RenderBox.cpp:
3775         (WebCore::RenderBox::includeVerticalScrollbarSize):
3776         (WebCore::RenderBox::includeHorizontalScrollbarSize):
3777         * rendering/RenderLayer.cpp:
3778         (WebCore::RenderLayer::verticalScrollbarWidth):
3779         (WebCore::RenderLayer::horizontalScrollbarHeight):
3780         * rendering/RenderListBox.cpp:
3781         (WebCore::RenderListBox::verticalScrollbarWidth):
3782         * rendering/RenderScrollbar.h:
3783         (WebCore::RenderScrollbar::isOverlayScrollbar):
3784
3785 2011-02-22  Andras Becsi  <abecsi@webkit.org>
3786
3787         Reviewed by Csaba Osztrogonác.
3788
3789         [Qt] Redesign the build system
3790         https://bugs.webkit.org/show_bug.cgi?id=51339
3791
3792         Move inspector's resource files into the final build step to fix the layout test regression.
3793
3794         No new tests needed.
3795
3796         * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
3797
3798 2011-02-22  Martin Robinson  <mrobinson@igalia.com>
3799
3800         Reviewed by Xan Lopez.
3801
3802         [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
3803         https://bugs.webkit.org/show_bug.cgi?id=54990
3804
3805         No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
3806         to start passing again.
3807
3808         * platform/gtk/ScrollViewGtk.cpp:
3809         (WebCore::ScrollView::visibleContentRect): Update this method to match the original
3810         in the parent class.
3811
3812 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
3813
3814         Reviewed by Xan Lopez.
3815
3816         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
3817         https://bugs.webkit.org/show_bug.cgi?id=49177
3818
3819         * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
3820         of platformAddChild and platformRemoveChild. This code can be shared.
3821         * platform/gtk/MainFrameScrollbarGtk.cpp:
3822         (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
3823         adjustment. Connect the adjustment value-changed signal handler after resetting the
3824         adjustment. This prevents the rest from stomping on pre-existing WebCore values.
3825         (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
3826         a scrollview do not listing for value changes. These scrollbars are defunct.
3827         * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
3828
3829 2011-02-22  Pavel Feldman  <pfeldman@chromium.org>
3830
3831         Reviewed by Yury Semikhatsky.
3832
3833         Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
3834         https://bugs.webkit.org/show_bug.cgi?id=54954
3835
3836         * bindings/js/JSInjectedScriptHostCustom.cpp:
3837         (WebCore::InjectedScriptHost::toNode):
3838         (WebCore::JSInjectedScriptHost::inspect):
3839         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3840         (WebCore::InjectedScriptHost::toNode):
3841         (WebCore::V8InjectedScriptHost::inspectCallback):
3842         * inspector/CodeGeneratorInspector.pm:
3843         * inspector/InjectedScript.cpp:
3844         (WebCore::InjectedScript::nodeForObjectId):
3845         * inspector/InjectedScript.h:
3846         * inspector/InjectedScriptHost.cpp:
3847         (WebCore::InjectedScriptHost::inspect):
3848         * inspector/InjectedScriptHost.h:
3849         * inspector/InjectedScriptHost.idl:
3850         * inspector/InjectedScriptSource.js:
3851         (.):
3852         * inspector/Inspector.idl:
3853         * inspector/InspectorAgent.cpp:
3854         (WebCore::InspectorAgent::focusNode):
3855         * inspector/InspectorAgent.h:
3856         * inspector/InspectorDOMAgent.cpp:
3857         (WebCore::InspectorDOMAgent::inspect):
3858         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
3859         * inspector/InspectorDOMAgent.h:
3860         * inspector/front-end/AuditRules.js:
3861         (WebInspector.AuditRules.evaluateInTargetWindow):
3862         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
3863         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
3864         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
3865         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
3866         * inspector/front-end/ConsoleView.js:
3867         (WebInspector.ConsoleView.prototype.completions):
3868         * inspector/front-end/DOMAgent.js:
3869         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
3870         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
3871         * inspector/front-end/RemoteObject.js:
3872         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
3873
3874 2011-02-22  Brady Eidson  <beidson@apple.com>
3875
3876         Reviewed by Anders Carlsson.
3877
3878         Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
3879         API to view and delete Application Cache data by origin.
3880
3881         Stub these out for now:
3882         * loader/appcache/ApplicationCacheStorage.cpp:
3883         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
3884         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
3885         (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
3886         * loader/appcache/ApplicationCacheStorage.h:
3887
3888         Export the new symbols:
3889         * WebCore.exp.in:
3890
3891 2011-02-22  Anders Carlsson  <andersca@apple.com>
3892
3893         Fix debug build.
3894
3895         * WebCore.exp.in:
3896
3897 2011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
3898
3899         Reviewed by Anders Carlsson.
3900
3901         notImplemented() should behave identical in WebCore and WebKit2
3902         https://bugs.webkit.org/show_bug.cgi?id=54449
3903
3904         No functional change so no new tests.
3905
3906         * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
3907         to be able to use it in WebKit2.
3908
3909 2011-02-22  Andras Becsi  <abecsi@webkit.org>
3910
3911         Reviewed by Laszlo Gombos.
3912         Rubber-stamped by Csaba Osztrogonác.
3913
3914         [Qt] Redesign the build system
3915         https://bugs.webkit.org/show_bug.cgi?id=51339
3916
3917         The patch landed in r79320 didn't contain the cleanup
3918         which was already addressed in the last attachment.
3919
3920         No new tests needed.
3921
3922         * WebCore.pri: Add common LIB and CONFIG options.
3923         * WebCore.pro: Add accidentally moved sections.
3924
3925 2011-02-22  Philippe Normand  <pnormand@igalia.com>
3926
3927         Unreviewed, rolling out r79321.
3928         http://trac.webkit.org/changeset/79321
3929         https://bugs.webkit.org/show_bug.cgi?id=53146
3930
3931         Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
3932         /spatial-navigation/snav-single-select.html on GTK
3933
3934         * accessibility/gtk/AXObjectCacheAtk.cpp:
3935         (WebCore::notifyChildrenSelectionChange):
3936         (WebCore::AXObjectCache::postPlatformNotification):
3937
3938 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
3939
3940         Reviewed by Yury Semikhatsky.
3941
3942         Web Inspector: Inspector.IDL change. rename attribute notify -> event.
3943         https://bugs.webkit.org/show_bug.cgi?id=54958
3944
3945         * inspector/CodeGeneratorInspector.pm:
3946         * inspector/Inspector.idl:
3947
3948 2011-02-22  Yury Semikhatsky  <yurys@chromium.org>
3949
3950         Reviewed by Pavel Feldman.
3951
3952         Web Inspector: Timeline agent should have same lifetime as InspectorAgent
3953         https://bugs.webkit.org/show_bug.cgi?id=54951
3954
3955         * inspector/CodeGeneratorInspector.pm:
3956         * inspector/Inspector.idl:
3957         * inspector/InspectorAgent.cpp:
3958         (WebCore::InspectorAgent::InspectorAgent):
3959         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3960         (WebCore::InspectorAgent::setFrontend):
3961         (WebCore::InspectorAgent::disconnectFrontend):
3962         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
3963         (WebCore::InspectorAgent::didCommitLoad):
3964         (WebCore::InspectorAgent::domContentLoadedEventFired):
3965         (WebCore::InspectorAgent::loadEventFired):
3966         * inspector/InspectorAgent.h:
3967         * inspector/InspectorController.cpp:
3968         (WebCore::InspectorController::startTimelineProfiler):
3969         (WebCore::InspectorController::stopTimelineProfiler):
3970         (WebCore::InspectorController::timelineProfilerEnabled):
3971         * inspector/InspectorInstrumentation.cpp:
3972         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3973         * inspector/InspectorTimelineAgent.cpp:
3974         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
3975         (WebCore::InspectorTimelineAgent::setFrontend):
3976         (WebCore::InspectorTimelineAgent::clearFrontend):
3977         (WebCore::InspectorTimelineAgent::restore):
3978         (WebCore::InspectorTimelineAgent::startTimelineProfiler):
3979         (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
3980         (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
3981         (WebCore::InspectorTimelineAgent::didCommitLoad):
3982         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3983         (WebCore::InspectorTimelineAgent::clearRecordStack):
3984         * inspector/InspectorTimelineAgent.h:
3985         (WebCore::InspectorTimelineAgent::create):
3986         * inspector/front-end/TimelinePanel.js:
3987         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3988
3989 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
3990
3991         Reviewed by Pavel Feldman.
3992
3993         Web Inspector: flakyness of inspector tests.
3994         https://bugs.webkit.org/show_bug.cgi?id=54729
3995
3996         As far as we have the protocol with sequence numbers we can simplify test harness support
3997         and drop out chomium specific methods.
3998
3999         * inspector/CodeGeneratorInspector.pm:
4000         * inspector/front-end/TestController.js:
4001         (WebInspector.TestController):
4002         (WebInspector.TestController.prototype.notifyDone):
4003         (WebInspector.TestController.prototype.runAfterPendingDispatches):
4004         (WebInspector.TestController.prototype._evaluateForTestInFrontend):
4005         * inspector/front-end/inspector.js:
4006         (WebInspector.dispatch):
4007
4008 2011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
4009
4010         Reviewed by Martin Robinson.
4011
4012         [GTK] Combo boxes should emit object:selection-changed even when collapsed
4013         https://bugs.webkit.org/show_bug.cgi?id=53146
4014
4015         Emit the selection-changed signals when the menu list value has changed
4016
4017         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
4018
4019         * accessibility/gtk/AXObjectCacheAtk.cpp:
4020         (WebCore::getListObject): New, return the right list object for
4021         menu lists and list boxes.
4022         (WebCore::notifyChildrenSelectionChange): Support menu lists.
4023         (WebCore::AXObjectCache::postPlatformNotification): Call function
4024         notifyChildrenSelectionChange for AXMenuListValueChanged.
4025
4026 2011-02-22  Andras Becsi  <abecsi@webkit.org>
4027
4028         Reviewed by Laszlo Gombos.
4029
4030         [Qt] Redesign the build system
4031         https://bugs.webkit.org/show_bug.cgi?id=51339
4032
4033         Part 2.
4034
4035         Build WebCore as a static library, compile the WebKit API and WebKit2 API
4036         in a final step and link to WebKit2, WebCore and JSC libraries to fix
4037         linking issues resulting from stripped away symbols.
4038
4039         No new tests needed.
4040
4041         * WebCore.pri: Add needed rules for handling the static library.
4042         * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
4043
4044 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
4045
4046         Reviewed by Pavel Feldman.
4047
4048         Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
4049         https://bugs.webkit.org/show_bug.cgi?id=54947
4050
4051         * inspector/InspectorAgent.cpp:
4052         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
4053         * inspector/InspectorState.cpp:
4054         (WebCore::InspectorState::loadFromCookie):
4055         * inspector/InspectorState.h:
4056
4057 2011-02-15  Jer Noble  <jer.noble@apple.com>
4058
4059         Reviewed by Darin Adler.
4060
4061         Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
4062         https://bugs.webkit.org/show_bug.cgi?id=46142
4063
4064         Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
4065         container elements.  This is necessary because, during layout(), the child renderers
4066         query the current LayoutState to determine where they will be repainting.  If a new
4067         LayoutState is not pushed here, child renderers will attempt to repaint relative to
4068         their grandparent's origin instead of their parents', and repaint operations will fail.
4069
4070         * rendering/RenderMedia.cpp:
4071         (WebCore::RenderMedia::layout):
4072
4073 2011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
4074
4075         Reviewed by Kenneth Rohde Christiansen.
4076
4077         Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
4078         https://bugs.webkit.org/show_bug.cgi?id=54952
4079
4080         Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
4081         a valid reference for the input type FileInputType. 
4082
4083         * page/Chrome.cpp:
4084         (WebCore::Chrome::setToolTip):
4085
4086 2011-02-21  Pavel Podivilov  <podivilov@chromium.org>
4087
4088         Reviewed by Pavel Feldman.
4089
4090         Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
4091         https://bugs.webkit.org/show_bug.cgi?id=54645
4092
4093         This is needed to map one script to several source files.
4094
4095         Test: inspector/debugger/source-frame.html
4096
4097         * WebCore.gypi:
4098         * WebCore.vcproj/WebCore.vcproj:
4099         * inspector/front-end/DebuggerPresentationModel.js: Added.
4100         (WebInspector.DebuggerPresentationModel):
4101         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
4102         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
4103         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
4104         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
4105         (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
4106         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
4107         * inspector/front-end/ScriptsPanel.js:
4108         (WebInspector.ScriptsPanel):
4109         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
4110         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
4111         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):