2011-06-27 Alexis Menard <alexis.menard@openbossa.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>
2
3         Reviewed by Kenneth Rohde Christiansen.
4
5         [Qt] Remove Phonon MediaPlayer from the tree.
6         https://bugs.webkit.org/show_bug.cgi?id=63448
7
8         Remove Phonon mediaplayer as it is unused, not finished and
9         unmaintained.
10
11         * WebCore.gypi:
12         * WebCore.pri:
13         * WebCore.pro:
14         * features.pri:
15         * platform/graphics/MediaPlayer.cpp:
16         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
17         * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.
18
19 2011-06-27  Ryosuke Niwa  <rniwa@webkit.org>
20
21         Reviewed by Kent Tamura.
22
23         Crash in TextIterator
24         https://bugs.webkit.org/show_bug.cgi?id=63334
25
26         Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
27         and check !m_offset when handling first letter.
28
29         Also add more assertions to help detecting similar bugs.
30
31         Test: editing/text-iterator/first-letter-rtl-crash.html
32
33         * editing/TextIterator.cpp:
34         (WebCore::TextIterator::handleTextNode):
35         (WebCore::TextIterator::emitText):
36
37 2011-06-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
38
39         Reviewed by Andreas Kling.
40
41         [Qt] tst_QWebFrame::overloadedSlots() fails
42         https://bugs.webkit.org/show_bug.cgi?id=37319
43
44         This patch is based on Noam Rosenthal original patch in the same bug.
45
46         When hinted with QWebElement metatype, we qualify the conversion
47         from JSElement as a "perfect match".
48
49         The test was failing because the wrong slot was called, since the QWebElement
50         match was taken as equal to the others and not chosen when the metacall happened.
51
52         * bridge/qt/qt_runtime.cpp:
53         (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
54         to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
55         why we have the implicit conversion.
56
57 2011-06-27  ChangSeok Oh  <shivamidow@gmail.com>
58
59         Reviewed by Martin Robinson.
60
61         [GTK] Fix build break to support webgl
62         https://bugs.webkit.org/show_bug.cgi?id=63425
63
64         Some missing files in ANGLE are just added to fix build-break.
65
66         No test reqired
67
68         * GNUmakefile.list.am:
69
70 2011-06-27  Hyowon Kim  <hw1008.kim@samsung.com>
71
72         Reviewed by Martin Robinson.
73
74         [EFL] Add some PLATFORM(EFL) ifdefs to GraphicsContext3D.h
75         https://bugs.webkit.org/show_bug.cgi?id=62959
76
77         Add PLATFORM(EFL) ifdefs to use GraphicsContextInternal.
78
79         * platform/graphics/GraphicsContext3D.h:
80
81 2011-06-27  Alexandru Chiculita  <achicu@adobe.com>
82
83         Reviewed by Ojan Vafai.
84
85         css combinator "+" in combination with NAV tag is buggy
86         https://bugs.webkit.org/show_bug.cgi?id=47971
87
88         Added a new state in css/tokenizer.flex for the "nth" rule. The state begins
89         at nth-*( functions and ends at the first ")". It avoids parsing selectors 
90         like "#div+nav" as: "#div" "+n" "av".
91
92         Test: fast/css/div_plus_nav_bug47971.html
93
94         * css/maketokenizer:
95         * css/tokenizer.flex:
96
97 2011-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>
98
99         Unreviewed, rolling out r89822.
100         http://trac.webkit.org/changeset/89822
101         https://bugs.webkit.org/show_bug.cgi?id=63461
102
103         Broken builds (Requested by apavlov on #webkit).
104
105         * inspector/Inspector.json:
106         * inspector/InspectorCSSAgent.cpp:
107         (WebCore::InspectorCSSAgent::getStylesForNode):
108         * inspector/InspectorCSSAgent.h:
109         * inspector/front-end/AuditRules.js:
110         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
111         * inspector/front-end/CSSStyleModel.js:
112         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
113         * inspector/front-end/StylesSidebarPane.js:
114         (WebInspector.StylesSidebarPane.prototype.update):
115
116 2011-06-27  Noel Gordon  <noel.gordon@gmail.com>
117
118         Reviewed by Adam Roben.
119
120         Send keypress events to windowless plugins on the windows port.
121         https://bugs.webkit.org/show_bug.cgi?id=63144
122
123         No new tests.  Covered by existing windowless plugin tests plugins/mouse-events.html
124         and plugins/keyboard-events.html.  Both are not yet working as desired because focus
125         events are not being fowarded to windowed plugins on the win port (bug 62375).  Test
126         plugin logging on the win port was added in bug 61721.  New failing expectations for
127         plugins/keyboard-events.html were subsequently added in bug 33973 so there's no need
128         to update test expectations in this patch.
129
130          * plugins/win/PluginViewWin.cpp:
131         (WebCore::PluginView::handleKeyboardEvent): Add an ASSERT(m_plugin && !m_isWindowed)
132         to indicate that the routine is for windowless plugins.  Remove trailing whitespace.
133         Add handling for keyPress events (map to WM_CHAR).
134         (WebCore::PluginView::handleMouseEvent): Add the ASSERT to indicate that the routine
135         is for windowless plugins.  Add FIXME note.  Remove trailing whitespace.
136
137 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
138
139         Reviewed by Pavel Feldman.
140
141         Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
142         https://bugs.webkit.org/show_bug.cgi?id=63446
143
144         * inspector/Inspector.json:
145         * inspector/InspectorCSSAgent.cpp:
146         (WebCore::computePseudoClassMask):
147         (WebCore::InspectorCSSAgent::getStylesForNode):
148         * inspector/InspectorCSSAgent.h:
149         * inspector/front-end/AuditRules.js:
150         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
151         * inspector/front-end/CSSStyleModel.js:
152         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
153         * inspector/front-end/StylesSidebarPane.js:
154         (WebInspector.StylesSidebarPane.prototype.update):
155
156 2011-06-27  Pavel Feldman  <pfeldman@google.com>
157
158         Reviewed by Yury Semikhatsky.
159
160         Web Inspector: [REGRESSION r84481] updateLayout called from DrawNodeHighlight
161         https://bugs.webkit.org/show_bug.cgi?id=63405
162
163         We should not call layout from paint.
164
165         * inspector/DOMNodeHighlighter.cpp:
166         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
167         * inspector/DOMNodeHighlighter.h:
168         * inspector/InspectorDOMAgent.cpp:
169         (WebCore::InspectorDOMAgent::drawNodeHighlight):
170
171 2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
172
173         Unreviewed. Fix style error in EFL port.
174
175         * platform/efl/PlatformKeyboardEventEfl.cpp:
176         * platform/efl/PlatformScreenEfl.cpp:
177         * platform/efl/SharedBufferEfl.cpp:
178
179 2011-06-27  Pavel Feldman  <pfeldman@google.com>
180
181         Reviewed by Yury Semikhatsky.
182
183         Web Inspector: node selection is slow in the Elements panel.
184         https://bugs.webkit.org/show_bug.cgi?id=60813
185
186         * inspector/front-end/StylesSidebarPane.js:
187         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
188         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
189         (WebInspector.StylesSidebarPane.prototype.update):
190
191 2011-06-26  Pavel Feldman  <pfeldman@chromium.org>
192
193         Reviewed by Yury Semikhatsky.
194
195         Web Inspector: roll out r88337 for making tests flaky.
196         https://bugs.webkit.org/show_bug.cgi?id=63422
197
198         * inspector/front-end/ElementsPanel.js:
199         (WebInspector.ElementsPanel):
200         (WebInspector.ElementsPanel.prototype.updateStyles):
201         (WebInspector.ElementsPanel.prototype._stylesUpdated):
202         * inspector/front-end/StylesSidebarPane.js:
203         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
204         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
205         (WebInspector.StylesSidebarPane.prototype.update):
206
207 2011-06-27  Huang Dongsung  <luxtella@company100.net>
208
209         Reviewed by Kenneth Rohde Christiansen.
210
211         TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
212         error.
213         https://bugs.webkit.org/show_bug.cgi?id=62422
214
215         REGRESSION(r77286): Remove bottomRight().
216         REGRESSION(r77312): Change the logic to get the bottom right point.
217         REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
218         REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
219         REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
220
221         If the viewport width equals the contents width, especially in the mobile
222         device, TiledBackingStore endlessly creates and deletes the rightmost
223         column and bottom row of tiles.
224         In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
225         deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
226         tiles infinitely.
227         Modified TiledDrawingAreaProxy also.
228
229         * platform/graphics/TiledBackingStore.cpp:
230         (WebCore::innerBottomRight):
231         (WebCore::TiledBackingStore::invalidate):
232         (WebCore::TiledBackingStore::paint):
233         (WebCore::TiledBackingStore::createTiles):
234
235 2011-06-26  Adam Barth  <abarth@webkit.org>
236
237         Reviewed by Eric Seidel.
238
239         Remove LegacyDefaultOptionalArguments from WebAudio IDL files
240         https://bugs.webkit.org/show_bug.cgi?id=63416
241
242         WebAudio isn't that widely used, so it's seems somewhat safe to remove
243         legacy code generation hacks.  I'm not an expert on WebAudio, but the
244         API doesn't appear to need many optional arguments.
245
246         There are a bunch of APIs that have custom bindings that look like they
247         could be autogenerated.  I've added FIXME comments where appropriate.
248
249         * webaudio/AudioBuffer.idl:
250         * webaudio/AudioContext.idl:
251         * webaudio/AudioListener.idl:
252         * webaudio/AudioNode.idl:
253         * webaudio/AudioPannerNode.idl:
254         * webaudio/AudioParam.idl:
255         * webaudio/RealtimeAnalyserNode.idl:
256
257 2011-06-26  Yury Semikhatsky  <yurys@chromium.org>
258
259         Reviewed by Pavel Feldman.
260
261         Web Inspector: REGRESSION Scripts panel sidebar pane context menu has no "Remove breakpoint" item
262         https://bugs.webkit.org/show_bug.cgi?id=63421
263
264         Show generic sidebar menu only if no pane-specific menu has been shown.
265
266         * inspector/front-end/ScriptsPanel.js:
267         (WebInspector.ScriptsPanel):
268
269 2011-06-26  Adam Barth  <abarth@webkit.org>
270
271         Build fix for clang.  Apparently clang doesn't want us to use the std
272         namespace in headers, which makes sense.
273
274         * svg/SVGAnimatedType.h:
275
276 2011-06-26  Adam Barth  <abarth@webkit.org>
277
278         Reviewed by Eric Seidel.
279
280         Remove LegacyDefaultOptionalArguments from XMLHttpRequest.idl and XMLHttpRequestUpload.idl
281         https://bugs.webkit.org/show_bug.cgi?id=63418
282
283         The XMLHttpRequest.idl interface used to implement the new behavior
284         manually using the RequiresAllArguments attribute.  Now that we have
285         that behavior by default, we can simply remove the
286         LegacyDefaultOptionalArguments attribute.
287
288         * xml/XMLHttpRequest.idl:
289         * xml/XMLHttpRequestUpload.idl:
290
291 2011-06-26  Dirk Schulze  <krit@webkit.org>
292
293         Reviewed by Nikolas Zimmermann.
294
295         SVGAnimatedType should support SVGLengthList animation
296         https://bugs.webkit.org/show_bug.cgi?id=63399
297
298         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
299         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList.
300         
301         Interpolated animations of glyph positions are possible now.
302
303         Tests: svg/animations/svglengthlist-animation-1.html
304                svg/animations/svglengthlist-animation-2.html
305                svg/animations/svglengthlist-animation-3.html
306                svg/animations/svglengthlist-animation-4.html
307
308         * CMakeLists.txt: Add new file to build system.
309         * GNUmakefile.list.am: Ditto.
310         * WebCore.gypi: Ditto.
311         * WebCore.pro: Ditto.
312         * WebCore.xcodeproj/project.pbxproj: Ditto.
313         * svg/SVGAllInOne.cpp: Ditto.
314         * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList.
315         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
316         (WebCore::SVGAnimateElement::calculateAnimatedValue):
317         (WebCore::SVGAnimateElement::calculateFromAndToValues):
318         (WebCore::SVGAnimateElement::calculateFromAndByValues):
319         (WebCore::SVGAnimateElement::resetToBaseValue):
320         (WebCore::SVGAnimateElement::applyResultsToTarget):
321         (WebCore::SVGAnimateElement::calculateDistance):
322         * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList.
323         (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator):
324         (WebCore::SVGAnimatedLengthListAnimator::constructFromString):
325         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues):
326         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
327         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
328         (WebCore::SVGAnimatedLengthListAnimator::calculateDistance):
329         * svg/SVGAnimatedLengthList.h:
330         (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator):
331         * svg/SVGAnimatedType.cpp: Add SVGLengthList.
332         (WebCore::SVGAnimatedType::~SVGAnimatedType):
333         (WebCore::SVGAnimatedType::createLengthList):
334         (WebCore::SVGAnimatedType::lengthList):
335         (WebCore::SVGAnimatedType::valueAsString):
336         (WebCore::SVGAnimatedType::setValueAsString):
337         * svg/SVGAnimatedType.h:
338         * svg/SVGAnimatorFactory.h:
339         (WebCore::SVGAnimatorFactory::create):
340         * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value.
341         (WebCore::SVGLength::SVGLength):
342         * svg/SVGLength.h:
343
344 2011-06-26  Adam Barth  <abarth@webkit.org>
345
346         Reviewed by Eric Seidel.
347
348         window.location should use the holder's prototype chain
349         https://bugs.webkit.org/show_bug.cgi?id=63411
350
351         This patch corrects the prototype chain for Location, but we really
352         should do a complete cleanup of the prototype chain generation, like we
353         did for JavaScriptCore.
354
355         Test: http/tests/security/location-prototype.html
356
357         * bindings/scripts/CodeGeneratorV8.pm:
358
359 2011-06-26  Adam Barth  <abarth@webkit.org>
360
361         Reviewed by Eric Seidel.
362
363         Add [Optional] attributes where appropriate for addEventListener and removeEventListener
364         https://bugs.webkit.org/show_bug.cgi?id=63417
365
366         This patch doesn't actually change behavior because these interfaces
367         have the LegacyDefaultOptionalArguments attribute.  This patch paves
368         the way to removing LegacyDefaultOptionalArguments from some of these
369         interfaces as well as making the project safer for copy-and-pasting
370         these methods into new IDL files that don't have the
371         LegacyDefaultOptionalArguments attribute.
372
373         * bindings/scripts/test/TestObj.idl:
374         * dom/EventTarget.idl:
375         * dom/MediaStream.idl:
376         * dom/MessagePort.idl:
377         * dom/Node.idl:
378         * loader/appcache/DOMApplicationCache.idl:
379         * notifications/Notification.idl:
380         * page/DOMWindow.idl:
381         * page/EventSource.idl:
382         * storage/IDBRequest.idl:
383         * storage/IDBTransaction.idl:
384         * svg/SVGElementInstance.idl:
385         * websockets/WebSocket.idl:
386         * workers/AbstractWorker.idl:
387         * workers/WorkerContext.idl:
388         * xml/XMLHttpRequest.idl:
389         * xml/XMLHttpRequestUpload.idl:
390
391 2011-06-26  Adam Barth  <abarth@webkit.org>
392
393         Reviewed by Kent Tamura.
394
395         m_formElementsWithFormAttribute doesn't ref the objects it holds
396         https://bugs.webkit.org/show_bug.cgi?id=62956
397
398         Test: fast/forms/form-associated-element-crash3.html
399
400         * dom/Document.h:
401
402 2011-06-26  Dimitri Glazkov  <dglazkov@chromium.org>
403
404         Reviewed by Adam Barth.
405
406         FileList::filenames should be FileList::paths, because it's more accurate.
407         https://bugs.webkit.org/show_bug.cgi?id=63414
408
409         Refactoring, no change in behavior.
410
411         * fileapi/FileList.cpp:
412         (WebCore::FileList::paths): Renamed from filenames.
413         * fileapi/FileList.h:
414         * html/FileInputType.cpp:
415         (WebCore::FileInputType::handleDOMActivateEvent): Changed to use filenames, also fixed a reach-unto-thyself whoopsie.
416         (WebCore::FileInputType::requestIcon): Ditto.
417         (WebCore::FileInputType::filesChosen): Ditto.
418         * rendering/RenderFileUploadControl.cpp:
419         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
420
421 2011-06-26  Young Han Lee  <joybro@company100.net>
422
423         Reviewed by Dirk Schulze.
424
425         SVGAnimation - keyTime value 1 never get animated
426         https://bugs.webkit.org/show_bug.cgi?id=63230
427
428         According to the SMIL 3.0 specification, the index of the keyTimes should be 
429         determined under the end-point-exclusive rule (e.g. Given keyTimes(0;0.5;1) 
430         and t=0.5, the current index of the keyTimes have to be 1 not 0).
431         http://www.w3.org/TR/SMIL3/smil-animation.html#animationNS-InterpolationExamplesAdvanced
432
433         Test: svg/animations/animate-number-calcMode-discrete-keyTimes.html
434
435         * svg/SVGAnimationElement.cpp:
436         (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
437
438 2011-06-26  Dan Bernstein  <mitz@apple.com>
439
440         Reviewed by Darin Adler.
441
442         With word-break: break-all, words do not break correctly before a surrogate pair
443         https://bugs.webkit.org/show_bug.cgi?id=63401
444
445         The code to check for mid-word breaks accumulates width one character at a time. It was actually
446         measuring the two parts of the surrogate pair individually, so they appeared to have zero width.
447         Fixed by checking for surrogate pairs and measuring the pair as one unit.
448
449         Test: fast/text/midword-break-before-surrogate-pair.html
450
451         * rendering/RenderBlockLineLayout.cpp:
452         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
453
454 2011-06-26  Dirk Schulze  <krit@webkit.org>
455
456         Reviewed by Nikolas Zimmermann.
457
458         SVGAnimatedType should support SVGNumberOptionalNumber animation
459         https://bugs.webkit.org/show_bug.cgi?id=63397
460         
461         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
462         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedNumberOptionalNumber.
463         
464         Animations of attributes with type SVGAnimatedNumberOptionalNumber can be interpolated now. This can be used for smooth
465         growing shadows with feGaussianBlur, feDropShadow or other filter effects.
466
467         Tests: svg/animations/svgnumberoptionalnumber-animation-1.html
468                svg/animations/svgnumberoptionalnumber-animation-2.html
469                svg/animations/svgnumberoptionalnumber-animation-3.html
470                svg/animations/svgnumberoptionalnumber-animation-4.html
471
472         * CMakeLists.txt: Added new files to build system.
473         * GNUmakefile.list.am: Ditto.
474         * WebCore.gypi: Ditto.
475         * WebCore.pro: Ditto.
476         * WebCore.vcproj/WebCore.vcproj: Ditto.
477         * WebCore.xcodeproj/project.pbxproj: Ditto.
478         * svg/SVGAllInOne.cpp: Ditto.
479         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberOptionalNumber.
480         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
481         (WebCore::SVGAnimateElement::calculateAnimatedValue):
482         (WebCore::SVGAnimateElement::calculateFromAndToValues):
483         (WebCore::SVGAnimateElement::calculateFromAndByValues):
484         (WebCore::SVGAnimateElement::resetToBaseValue):
485         (WebCore::SVGAnimateElement::applyResultsToTarget):
486         (WebCore::SVGAnimateElement::calculateDistance):
487         * svg/SVGAnimatedNumberOptionalNumber.cpp: Added. New animator for SVGAnimatedNumberOptionalNumber.
488         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::SVGAnimatedNumberOptionalNumberAnimator):
489         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
490         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndToValues):
491         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndByValues):
492         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
493         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateDistance):
494         * svg/SVGAnimatedNumberOptionalNumber.h: Added.
495         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::~SVGAnimatedNumberOptionalNumberAnimator):
496         * svg/SVGAnimatedType.cpp: Added new type: pair<float, float>.
497         (WebCore::SVGAnimatedType::~SVGAnimatedType):
498         (WebCore::SVGAnimatedType::createNumberOptionalNumber):
499         (WebCore::SVGAnimatedType::numberOptionalNumber):
500         (WebCore::SVGAnimatedType::valueAsString):
501         (WebCore::SVGAnimatedType::setValueAsString):
502         * svg/SVGAnimatedType.h:
503         * svg/SVGAnimatorFactory.h: Add new animator to factory.
504         (WebCore::SVGAnimatorFactory::create):
505
506 2011-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
507
508         Reviewed by Adam Barth.
509
510         Crash in frameless document with media element.
511         https://bugs.webkit.org/show_bug.cgi?id=63393
512
513         Since MediaControls::create can return 0 (and does for frameless documents), we must anticipate it
514         in the calling code.
515
516         Test: fast/dom/shadow/frameless-media-element-crash.html
517
518         * html/HTMLMediaElement.cpp:
519         (WebCore::HTMLMediaElement::attributeChanged): Changed to bail out if controls weren't successfully created.
520         (WebCore::HTMLMediaElement::createMediaControls): Renamed to better reflect the purpose, changed to handle failure of creation.
521         (WebCore::HTMLMediaElement::preDispatchEventHandler): Changed to bail out if controls weren't successfully created.
522         * html/HTMLMediaElement.h: Adjusted def.
523
524 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
525
526         Reviewed by Darin Adler.
527
528         Fix some minor style issues
529         https://bugs.webkit.org/show_bug.cgi?id=63391
530
531         * inspector/DOMNodeHighlighter.cpp:
532         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
533         The explicit WebCore namespace usage can be dropped.
534
535         * rendering/RenderView.cpp:
536         (WebCore::RenderView::mapLocalToContainer):
537         Use ASSERT_UNUSED for a parameter that we want to ASSERT
538         on for a debug build, but is UNUSED in a release build.
539
540 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
541
542         Unreviewed build fix.
543
544         Use UNUSED_PARAM on the correct param!
545
546         * rendering/RenderView.cpp:
547         (WebCore::RenderView::mapLocalToContainer):
548
549 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
550
551         Reviewed by Simon Fraser.
552
553         Inspector highlight rect is wrong for contents of transformed iframes
554         https://bugs.webkit.org/show_bug.cgi?id=53627
555
556         Part 2: Only adjust for the FrameView's scroll position when
557         the localToAbsolute mapping did not end with fixed content.
558         Content that is inside of a fixed position container is already
559         adjusted for the FrameView's scrollPosition when RenderView
560         maps local to container.
561
562         This patch uses a "wasFixed" out parameter to determine if
563         the localToAbsolute transformation ended inside a fixed block,
564         and if so does not apply the scroll position.
565
566         * page/FrameView.cpp:
567         (WebCore::FrameView::convertFromRenderer):
568         Respect wasFixed as described above.
569
570         * rendering/RenderBox.h:
571         * rendering/RenderBox.cpp:
572         (WebCore::RenderBox::mapLocalToContainer):
573         This is the only time that "fixed" ever changed. So when
574         fixed changes, update the optional wasFixed out parameter.
575
576         * rendering/RenderObject.cpp:
577         (WebCore::RenderObject::localToAbsolute):
578         (WebCore::RenderObject::mapLocalToContainer):
579         (WebCore::RenderObject::localToContainerQuad):
580         * rendering/RenderObject.h:
581         (WebCore::RenderObject::localToAbsoluteQuad):
582         Ignore wasFixed by default, but pipe it though where needed.
583
584         * rendering/RenderView.h:
585         * rendering/RenderView.cpp:
586         (WebCore::RenderView::mapLocalToContainer):
587         This is the final recursive call, so wasFixed goes no
588         further. We sanity check its value in debug builds.
589
590         * rendering/RenderBlock.cpp:
591         (WebCore::RenderBlock::selectionGapRectsForRepaint):
592         * rendering/RenderInline.cpp:
593         (WebCore::RenderInline::mapLocalToContainer):
594         * rendering/RenderInline.h:
595         * rendering/svg/RenderSVGForeignObject.cpp:
596         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
597         * rendering/svg/RenderSVGForeignObject.h:
598         * rendering/svg/RenderSVGInline.cpp:
599         (WebCore::RenderSVGInline::mapLocalToContainer):
600         * rendering/svg/RenderSVGInline.h:
601         * rendering/svg/RenderSVGModelObject.cpp:
602         (WebCore::RenderSVGModelObject::mapLocalToContainer):
603         * rendering/svg/RenderSVGModelObject.h:
604         * rendering/svg/RenderSVGRoot.cpp:
605         (WebCore::RenderSVGRoot::mapLocalToContainer):
606         * rendering/svg/RenderSVGRoot.h:
607         * rendering/svg/RenderSVGText.cpp:
608         (WebCore::RenderSVGText::mapLocalToContainer):
609         * rendering/svg/RenderSVGText.h:
610         * rendering/svg/SVGRenderSupport.cpp:
611         (WebCore::SVGRenderSupport::mapLocalToContainer):
612         * rendering/svg/SVGRenderSupport.h:
613         Pipe wasFixed through where needed.
614
615 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
616
617         Reviewed by Simon Fraser.
618
619         Inspector highlight rect is wrong for contents of transformed iframes
620         https://bugs.webkit.org/show_bug.cgi?id=53627
621
622         Part 1: Provide FloatQuad versions of convertFromRenderer,
623         convertToContainingView, and convertChildToSelf, so that we
624         can get the fully transformed quad of a renderer all the
625         way up to the root widget.
626
627         * page/FrameView.cpp:
628         (WebCore::FrameView::convertFromRenderer):
629         (WebCore::FrameView::convertToContainingView):
630         * page/FrameView.h:
631         * platform/ScrollView.h:
632         (WebCore::ScrollView::convertChildToSelf):
633         * platform/Widget.h:
634         * platform/Widget.cpp:
635         (WebCore::Widget::convertToContainingView):
636         Provide FloatQuad versions of these already existing functions.
637
638         (WebCore::Widget::convertToRootContainingView):
639         Provide a helper conversion function to recursively
640         convert a given FloatQuad up to the root widget.
641
642         * inspector/DOMNodeHighlighter.cpp:
643         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
644         Use the new methods to convert the FloatQuad for the highlighted
645         node to the root container, without losing transformation
646         information. Add a FIXME for SVG, which is still broken.
647
648         * WebCore.exp.in:
649         Export the new Widget functions so WebKit can link properly.
650
651 2011-06-25  Dirk Schulze  <krit@webkit.org>
652
653         Unreviewed build fix.
654
655         SVGAnimatedType should support SVGNumberList animation
656         https://bugs.webkit.org/show_bug.cgi?id=63387
657
658         * svg/SVGAnimatedNumberList.cpp:
659         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
660
661 2011-06-25  Dirk Schulze  <krit@webkit.org>
662
663         Reviewed by Nikolas Zimmermann.
664
665         SVGAnimatedType should support SVGNumberList animation
666         https://bugs.webkit.org/show_bug.cgi?id=63387
667         
668         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
669         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumberList.
670         
671         Animations of attributes with type SVGNumberList can be interpolated now.
672
673         Tests: svg/animations/svgnumberlist-animation-1.html
674                svg/animations/svgnumberlist-animation-2.html
675
676         * CMakeLists.txt: Added new file to build system.
677         * GNUmakefile.list.am: Ditto.
678         * WebCore.gypi: Ditto.
679         * WebCore.pro: Ditto.
680         * WebCore.xcodeproj/project.pbxproj: Ditto.
681         * svg/SVGAllInOne.cpp: Ditto.
682         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberList.
683         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
684         (WebCore::SVGAnimateElement::calculateAnimatedValue):
685         (WebCore::SVGAnimateElement::calculateFromAndToValues):
686         (WebCore::SVGAnimateElement::calculateFromAndByValues):
687         (WebCore::SVGAnimateElement::resetToBaseValue):
688         (WebCore::SVGAnimateElement::applyResultsToTarget):
689         (WebCore::SVGAnimateElement::calculateDistance):
690         * svg/SVGAnimatedNumber.cpp:
691         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedNumber): Made method static for reuse in SVGAnimatedNumberList (and SVGAnimatedNumberOptionalNumber later).
692         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): Use new static function.
693         * svg/SVGAnimatedNumber.h:
694         * svg/SVGAnimatedNumberList.cpp: Added. New animator for SVGNumberList.
695         (WebCore::SVGAnimatedNumberListAnimator::SVGAnimatedNumberListAnimator):
696         (WebCore::SVGAnimatedNumberListAnimator::constructFromString):
697         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndToValues):
698         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndByValues):
699         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
700         (WebCore::SVGAnimatedNumberListAnimator::calculateDistance):
701         * svg/SVGAnimatedNumberList.h:
702         (WebCore::SVGAnimatedNumberListAnimator::~SVGAnimatedNumberListAnimator):
703         * svg/SVGAnimatedType.cpp: Use new Animator.
704         (WebCore::SVGAnimatedType::~SVGAnimatedType):
705         (WebCore::SVGAnimatedType::createNumberList):
706         (WebCore::SVGAnimatedType::numberList):
707         (WebCore::SVGAnimatedType::valueAsString):
708         (WebCore::SVGAnimatedType::setValueAsString):
709         * svg/SVGAnimatedType.h:
710         * svg/SVGAnimatorFactory.h:
711         (WebCore::SVGAnimatorFactory::create):
712
713 2011-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
714
715         Reviewed by Dirk Schulze.
716
717         Convert SVGPath to SVGAnimatorFactory concept
718         https://bugs.webkit.org/show_bug.cgi?id=63336
719
720         Convert <animate attributeName="d"> parsing to the new SVGAnimatorFactory concept, removing
721         the last special data types from SVGAnimateElement: SVGPathByteStream m_fromPath/m_toPath/m_animatedPath.
722         All existing non-string primitives have been converted to the new concept.
723
724         Doesn't change any functionality.
725
726         * CMakeLists.txt: Added SVGAnimatedPath.*.
727         * GNUmakefile.list.am: Ditto.
728         * WebCore.gypi: Ditto.
729         * WebCore.pro: Ditto.
730         * WebCore.vcproj/WebCore.vcproj: Ditto.
731         * WebCore.xcodeproj/project.pbxproj: Ditto.
732         * svg/SVGAllInOne.cpp: Ditto.
733         * svg/SVGAnimateElement.cpp:
734         (WebCore::SVGAnimateElement::SVGAnimateElement):
735         (WebCore::SVGAnimateElement::calculateAnimatedValue):
736         (WebCore::SVGAnimateElement::calculateFromAndToValues):
737         (WebCore::SVGAnimateElement::calculateFromAndByValues):
738         (WebCore::SVGAnimateElement::resetToBaseValue):
739         (WebCore::SVGAnimateElement::applyResultsToTarget):
740         * svg/SVGAnimateElement.h:
741         * svg/SVGAnimatedPath.cpp: Added.
742         (WebCore::SVGAnimatedPathAnimator::SVGAnimatedPathAnimator):
743         (WebCore::SVGAnimatedPathAnimator::constructFromString):
744         (WebCore::SVGAnimatedPathAnimator::calculateFromAndToValues):
745         (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
746         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
747         (WebCore::SVGAnimatedPathAnimator::calculateDistance):
748         * svg/SVGAnimatedPath.h: Added.
749         (WebCore::SVGAnimatedPathAnimator::~SVGAnimatedPathAnimator):
750         * svg/SVGAnimatedType.cpp:
751         (WebCore::SVGAnimatedType::~SVGAnimatedType):
752         (WebCore::SVGAnimatedType::createPath):
753         (WebCore::SVGAnimatedType::path):
754         (WebCore::SVGAnimatedType::valueAsString):
755         (WebCore::SVGAnimatedType::setValueAsString):
756         * svg/SVGAnimatedType.h:
757         * svg/SVGAnimatorFactory.h:
758         (WebCore::SVGAnimatorFactory::create):
759         * svg/SVGPathByteStream.h:
760         (WebCore::SVGPathByteStream::initializeFrom):
761         * svg/SVGPathParserFactory.cpp:
762         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
763         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
764         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
765
766 2011-06-25  Jer Noble  <jer.noble@apple.com>
767
768         Reviewed by Maciej Stachowiak.
769
770         SOFT_LINK_POINTER_OPTIONAL isn't optional.
771         https://bugs.webkit.org/show_bug.cgi?id=63378
772
773         Continuation of r89718.  SOFT_LINK_POINTER_OPTIONAL should check the value returned by dlsym before dereferencing it.
774
775         * platform/mac/SoftLinking.h:
776
777 2011-06-25  Rob Buis  <rbuis@rim.com>
778
779         Reviewed by Nikolas Zimmermann.
780
781         SVG1.1SE test linking-uri-01-b.svg fails
782         https://bugs.webkit.org/show_bug.cgi?id=63322
783
784         Allow navigating to internal <view> targets. When choosing Back ensure
785         the <svg> current view is initialized correctly.
786
787         Tests: svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg
788                svg/custom/linking-uri-01-b.svg
789
790         * page/FrameView.cpp: Delegate to setupInitialView.
791         (WebCore::FrameView::scrollToAnchor):
792         * svg/SVGAElement.cpp: Allow navigating to internal <view> targets.
793         (WebCore::SVGAElement::defaultEventHandler):
794         * svg/SVGSVGElement.cpp:
795         (WebCore::SVGSVGElement::setupInitialView): Initialize current view depending on fragment identifier.
796         (WebCore::SVGSVGElement::inheritViewAttributes):
797         * svg/SVGSVGElement.h:
798
799 2011-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
800
801         Reviewed by Darin Adler.
802
803         REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
804         https://bugs.webkit.org/show_bug.cgi?id=63373
805
806         * css/CSSStyleSelector.cpp:
807         (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
808         (WebCore::CSSStyleSelector::pushParent): Ditto.
809         * dom/Node.cpp:
810         (WebCore::Node::parentOrHostElement): Added.
811         * dom/Node.h:
812
813 2011-06-24  Dan Bernstein  <mitz@apple.com>
814
815         Reviewed by Anders Carlsson.
816
817         Add an option to enable legacy rounding hacks
818         https://bugs.webkit.org/show_bug.cgi?id=63363
819
820         Restored most of text rounding hacks which were removed in r78846, with a global flag to control
821         whether rounding hacks are allowed, which defaults to false.
822
823         Test: platform/mac/fast/text/rounding-hacks.html
824
825         * CMakeLists.txt: Added TextRun.cpp.
826         * GNUmakefile.list.am: Ditto.
827         * WebCore.exp.in: Export new TextRun function and global and updated StringTruncator functions.
828         * WebCore.gypi: Added TextRun.cpp.
829         * WebCore.pro: Ditto.
830         * WebCore.vcproj/WebCore.vcproj: Ditto.
831         * WebCore.xcodeproj/project.pbxproj: Ditto.
832         * html/canvas/CanvasRenderingContext2D.cpp:
833         (WebCore::CanvasRenderingContext2D::drawTextInternal): Disable rounding hacks in the one place
834         they used to be disabled.
835         * platform/graphics/Font.cpp: Re-added the rounding character table.
836         * platform/graphics/Font.h:
837         (WebCore::Font::isRoundingHackCharacter): Re-added.
838         * platform/graphics/FontFastPath.cpp:
839         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Account for final rounding width.
840         * platform/graphics/SimpleFontData.cpp:
841         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
842         * platform/graphics/SimpleFontData.h:
843         (WebCore::SimpleFontData::adjustedSpaceWidth): Re-added.
844         * platform/graphics/StringTruncator.cpp:
845         (WebCore::stringWidth): Re-added disableRoundingHacks parameter.
846         (WebCore::truncateString): Ditto.
847         (WebCore::StringTruncator::centerTruncate): Added EnableRoundingHacksOrNot parameter.
848         (WebCore::StringTruncator::rightTruncate): Ditto.
849         (WebCore::StringTruncator::width): Ditto.
850         * platform/graphics/StringTruncator.h:
851         * platform/graphics/TextRun.cpp: Added.
852         (WebCore::TextRun::setAllowsRoundingHacks): Added.
853         * platform/graphics/TextRun.h:
854         (WebCore::TextRun::TextRun): Added RoundingHacks parameter to the constructors, used to initialize
855         the m_applyRunRounding and m_applyWordRounding member variables, subject to rounding hacks being allowed.
856         (WebCore::TextRun::applyRunRounding): Re-added this accessor.
857         (WebCore::TextRun::applyWordRounding): Ditto.
858         (WebCore::TextRun::disableRoundingHacks): Re-added.
859         * platform/graphics/WidthIterator.cpp:
860         (WebCore::WidthIterator::WidthIterator): Re-added code to apply rounding hacks.
861         (WebCore::WidthIterator::advance): Ditto.
862         * platform/graphics/WidthIterator.h:
863         * platform/graphics/mac/ComplexTextController.cpp:
864         (WebCore::ceilCGFloat): Re-added.
865         (WebCore::ComplexTextController::ComplexTextController): Re-added code to apply rounding hacks.
866         (WebCore::ComplexTextController::advance): Ditto.
867         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
868         * platform/graphics/mac/ComplexTextController.h:
869         (WebCore::ComplexTextController::finalRoundingWidth): Re-added this accessor.
870         * platform/graphics/mac/FontComplexTextMac.cpp:
871         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Accound for final rounding width.
872         * platform/graphics/qt/SimpleFontDataQt.cpp:
873         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
874         * platform/gtk/RenderThemeGtk.cpp:
875         (WebCore::RenderThemeGtk::fileListNameForWidth): Enabled rounding hacks in the string truncator.
876         * platform/mac/DragImageMac.mm:
877         (WebCore::widthWithFont): Disable rounding hacks when measuring.
878         (WebCore::drawAtPoint): Disable rounding hacks when drawing.
879         * platform/win/DragImageWin.cpp:
880         (WebCore::createDragImageForLink): Enable rounding hacks in the string truncator.
881         * platform/win/WebCoreTextRenderer.cpp:
882         (WebCore::WebCoreTextFloatWidth): Ditto.
883         * rendering/RenderFileUploadControl.cpp:
884         (WebCore::RenderFileUploadControl::paintObject): Disable rounding hacks.
885         * rendering/RenderListBox.cpp:
886         (WebCore::RenderListBox::updateFromElement): Ditto.
887         (WebCore::RenderListBox::paintItemForeground): Ditto.
888         * rendering/RenderTextControl.cpp:
889         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
890         * rendering/RenderTheme.cpp:
891         (WebCore::RenderTheme::fileListNameForWidth): Enabled rounding hacks in the string truncator.
892         * rendering/RenderThemeMac.mm:
893         (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
894         * rendering/svg/SVGInlineTextBox.cpp:
895         (WebCore::SVGInlineTextBox::constructTextRun): Disabled rounding hacks.
896         * rendering/svg/SVGTextMetrics.cpp:
897         (WebCore::constructTextRun): Ditto.
898
899 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
900
901         Reviewed by Rob Buis.
902
903         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
904         https://bugs.webkit.org/show_bug.cgi?id=59085
905
906         font substitution doesn't work for HTML text using SVG fonts
907         https://bugs.webkit.org/show_bug.cgi?id=17608
908
909         Selection rects are wrong for text with SVG fonts
910         https://bugs.webkit.org/show_bug.cgi?id=25460
911
912         With @font-face, SVG fonts only work as primary, non-segmented
913         https://bugs.webkit.org/show_bug.cgi?id=32227
914
915         When using SVG fonts with @font-face word-spacing and text-align: justify are not being honored
916         https://bugs.webkit.org/show_bug.cgi?id=34236
917
918         SVG @font-face breaks text-overflow: ellipsis
919         https://bugs.webkit.org/show_bug.cgi?id=36840
920
921         REGRESSION: SVG Font selection problems
922         https://bugs.webkit.org/show_bug.cgi?id=41934
923
924         Tests: svg/custom/svg-fonts-fallback.xhtml (for bug 17608, extended the original test from Mark Ambachtsheer)
925                svg/custom/svg-fonts-segmented.xhtml (for bug 32227)
926                svg/custom/svg-fonts-word-spacing.html (for bug 34236, from Michael Lewis)
927                svg/text/select-text-svgfont.html (for bug 25460/41934, from Emil Schutte)
928                svg/text/text-overflow-ellipsis-svgfont.html (for 36840, from Emil Schutte)
929
930         Rewrite the SVG Fonts support to fully integrate within the GlyphPage concept and the "simple" code path used to render platform fonts.
931         That means the special logic for measuring text using SVG Fonts, calculating offset for positions, computing selection rects etc. is all gone now.
932         There's no difference anymore between using a native font or a SVG Font, in terms of these operations.
933
934         This makes text selection using SVG Fonts possible again.
935
936         * features.pri: Temporarily turn of SVG Fonts for Qt, as long as QRawFont support is not available and the fast path is disabled.
937         * page/DOMWindow.idl: Touched file to force Qt regenerating the bindings.
938         * platform/graphics/Font.cpp: Remove SVG Font special cases, the simple code path now handles SVG Fonts as well.
939         (WebCore::Font::drawText):
940         (WebCore::Font::drawEmphasisMarks):
941         (WebCore::Font::width):
942         (WebCore::Font::selectionRectForText):
943         (WebCore::Font::offsetForPosition):
944         (WebCore::Font::codePath):
945         * platform/graphics/Font.h: Pass TextRun to drawGlyphBuffer/drawEmphasisMarks. Add new glyphDataAndPageForCharacter() method which returns a pair
946                                     std::pair<GlyphData, GlyphPage*>, so we know the associated GlyphPage for a certain GlyphData object, which is needed to properly
947                                     handle font fallback glyph matching for SVG Fonts..
948         (WebCore::Font::fontList): Add FontFallbackList accessor.
949         * platform/graphics/FontFallbackList.h: Add getters/setters for glyphPageZero -- SVG Fonts support needs access to these objects from SVGTextRunRenderingContext.
950         (WebCore::FontFallbackList::glyphPageZero):
951         (WebCore::FontFallbackList::glyphPages):
952         (WebCore::FontFallbackList::setGlyphPageZero):
953         (WebCore::FontFallbackList::setGlyphPages):
954         * platform/graphics/FontFastPath.cpp:
955         (WebCore::Font::glyphDataForCharacter): Move implementation to glyphDataAndPageForCharacter(), and use that method from here.
956         (WebCore::Font::glyphDataAndPageForCharacter): Does the same as before, just returns an additional GlyphPage* pointer.
957         (WebCore::Font::getEmphasisMarkGlyphData): Remove SVG Fonts special case.
958         (WebCore::Font::drawGlyphBuffer): Ditto.
959         * platform/graphics/FontMetrics.h:
960         (WebCore::scaleEmToUnits): Refactored scaleEmToUnits free function from SimpleFontDataMac/CGWin to share with SVGFontData/SVGTextRunRenderingContext.
961         * platform/graphics/GlyphPageTreeNode.cpp:
962         (WebCore::fill): Stop skipping SVG Fonts, they now also fill the GlyphPage using the glyphs defined in the SVG Font.
963         * platform/graphics/SVGGlyph.h: s/isValid/isPartOfLigature/. Its usage has been changed.
964         (WebCore::SVGGlyph::SVGGlyph):
965         (WebCore::SVGGlyph::operator==):
966         * platform/graphics/SimpleFontData.cpp: Change font size to be a float, not an int.
967         (WebCore::SimpleFontData::SimpleFontData):
968         * platform/graphics/SimpleFontData.h: Add new pure virtual methods to the AdditionalFontData interface, to be implemented in SVGFontData.
969         (WebCore::SimpleFontData::widthForGlyph): Call widthForSVGGlyph, if we encounter a SVG glyph.
970         * platform/graphics/TextRun.h: 
971         * platform/graphics/WidthIterator.cpp:
972         (WebCore::WidthIterator::glyphDataForCharacter):
973         (WebCore::WidthIterator::advance):
974         * platform/graphics/WidthIterator.h: Store several new members needed for SVG Fonts support (last processed glyph name used for kerning pair lookup)
975                                              and a map mapping each character of a text to its arabic-form (if needed, to perform SVG glyph selection for Arabic text).
976         (WebCore::WidthIterator::run):
977         (WebCore::WidthIterator::runWidthSoFar):
978         (WebCore::WidthIterator::lastGlyphName):
979         (WebCore::WidthIterator::setLastGlyphName):
980         (WebCore::WidthIterator::arabicForms):
981         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Use new scaleEmToUnits free function from FontMetrics.h.
982         * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
983         * platform/graphics/win/SimpleFontDataCGWin.cpp: Ditto.
984         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
985         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Handle UTF-16 surrogate pairs correctly, fixes the previous Acid3 regression.
986         * rendering/svg/SVGTextMetrics.cpp:
987         (WebCore::SVGTextMetrics::SVGTextMetrics):
988         (WebCore::constructTextRun):
989         (WebCore::SVGTextMetrics::measureCharacterRange):
990         * rendering/svg/SVGTextMetrics.h:
991         * rendering/svg/SVGTextRunRenderingContext.cpp: Remove drawTextUsingSVGFont/floatWidthUsingSVGFont/selectionRectForTextUsingSVGFont/offsetForPositionForTextUsingSVGFont.
992         (WebCore::firstParentRendererForNonTextNode): Don't assert node() exists, doesn't hold true for generated render objects.
993         (WebCore::renderObjectFromRun): Renamed from referencingRenderObjectFromRun.
994         (WebCore::SVGTextRunRenderingContext::floatWidthUsingSVGFont): Remove extra "extraCharsAvailable" parameter, now solves via TextRun::charactersLength().
995         (WebCore::calculateEmUnitToPixelScaleFactor): Add helper method.
996         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Main drawing method, this actually creates/renders Paths.
997         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Part 1/2 of SVG Glyph selection code.
998         * rendering/svg/SVGTextRunRenderingContext.h:
999         * svg/SVGAltGlyphElement.cpp:
1000         (WebCore::SVGAltGlyphElement::hasValidGlyphElement):
1001         * svg/SVGAltGlyphElement.h:
1002         * svg/SVGFontData.cpp:
1003         (WebCore::SVGFontData::initializeFontData): Changed font size from int to float.
1004         (WebCore::SVGFontData::widthForSVGGlyph): Lookup a SVGGlyph from a Glyph using the glyph table in SVGFontElement and calculate its width.
1005         (WebCore::SVGFontData::applySVGGlyphSelection): Part 2/2 of SVG Glyph selection code.
1006         (WebCore::SVGFontData::fillSVGGlyphPage): Fill GlyphPage using glyphs defined in the SVG Font.
1007         (WebCore::SVGFontData::fillBMPGlyphs): Moved from the previous fillSVGGlyphPage implementation.
1008         (WebCore::SVGFontData::fillNonBMPGlyphs): Add non-bmp glyph handling, fixing the Acid3 regression (support using SVGGlyphs for UTF-16 surrogate pairs).
1009         * svg/SVGFontData.h:
1010         * svg/SVGFontElement.cpp:
1011         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Enable ligature registration for the use within GlyphPage.
1012         (WebCore::SVGFontElement::ensureGlyphCache):
1013         * svg/SVGGlyphMap.h: Switch to use SurrogatePairTextIterator, and switch glyph table from UChar to UChar32, just like GlyphPage, to handle glyphs from non-BMP correctly.
1014         (WebCore::SVGGlyphMap::addGlyph): Remove setting isValid, it's not needed anymore and gone.
1015         (WebCore::SVGGlyphMap::collectGlyphsForString):
1016         * svg/svgtags.in: Surround vkern in ENABLE_SVG_FONTS block.
1017
1018 2011-06-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1019
1020         Reviewed by Antonio Gomes.
1021
1022         [CMAKE] Replace ";" with space in FEATURE_DEFINES macro
1023         https://bugs.webkit.org/show_bug.cgi?id=62211
1024
1025         html.css file doesn't recognize ENABLE_XXX macro because FEATURE_DEFINES macro has ";"
1026         as separator. So, let the html.css to use new feature macro with space separator.
1027
1028         * CMakeLists.txt:
1029
1030 2011-06-24  Gavin Peters  <gavinp@chromium.org>
1031
1032         Reviewed by Darin Adler.
1033
1034         fix possible race in LinkLoader
1035         https://bugs.webkit.org/show_bug.cgi?id=63360
1036
1037         In chromium bug 80729
1038         http://code.google.com/p/chromium/issues/detail?id=80729 I am
1039         seeing some kind of double triggering of the timer; I am concerned
1040         that it is possible that a Link element errors out or succeeds,
1041         sets a timer, and shortly before the timer is triggered it is
1042         editted, launches another request.  After that, the first timer
1043         triggers, zeroing out m_cachedResource.  Then, the second load
1044         finishes, and *crash*.  If this is the case, this fix should stop
1045         it.
1046
1047         No new tests; I haven't reproduced this.  I hope chrome's crash
1048         telemetry will give good feedback; this crash is occuring many times a
1049         day so the difference should be obvious.
1050
1051         * loader/LinkLoader.cpp:
1052         (WebCore::LinkLoader::LinkLoader):
1053         (WebCore::LinkLoader::linkLoadTimerFired):
1054         (WebCore::LinkLoader::linkLoadingErrorTimerFired):
1055         (WebCore::LinkLoader::notifyFinished):
1056         * loader/LinkLoader.h:
1057
1058 2011-06-24  Jer Noble  <jer.noble@apple.com>
1059
1060         Reviewed by Eric Carlson.
1061
1062         Safari will quit unexpectedly when launching Safari in the first time (crash in initQTSecurityPolicyNoLocalToRemoteSiteAttribute)
1063         https://bugs.webkit.org/show_bug.cgi?id=63332
1064         <rdar://problem/9661650>
1065
1066         No new tests; Only affects machines with QTKit < 7.6.3 installed.
1067
1068         Check to see if QTSecurityPolicyNoRemoteToLocalSiteAttribute is non-NULL before passing it into -[QTMovie initWithAttributes:],
1069         as it is only defined in QTKit >= 7.6.3.  If it is NULL, pass QTSecurityPolicyNoCrossSiteAttribute=YES instead, which has
1070         the same effect in earlier versions of QTKit as the NoLocalToRemote and NoRemoteToLocal keys.  To avoid ASSERTs when running
1071         debug builds with earlier versions of QTKit, add a SOFT_LINK_POINTER_OPTIONAL macro to SoftLinking.h and make these keys optional.
1072
1073         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1074         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
1075         * platform/mac/SoftLinking.h: Add SOFT_LINK_POINTER_OPTIONAL macro.
1076
1077 2011-06-24  Darin Adler  <darin@apple.com>
1078
1079         Try to fix Windows build failure.
1080
1081         * platform/win/ClipboardUtilitiesWin.cpp:
1082         (WebCore::setFileDescriptorData): Copy string into a local so we
1083         can call charactersWithNullTermination on it.
1084
1085 2011-06-23  Darin Adler  <darin@apple.com>
1086
1087         Reviewed by Adam Barth.
1088
1089         Remove some unneeded functions from FrameLoader
1090         https://bugs.webkit.org/show_bug.cgi?id=63295
1091
1092         Removing 7 of the functions in FrameLoader.h is probably a step
1093         in the right direction.
1094
1095         * loader/DocumentLoader.cpp:
1096         (WebCore::DocumentLoader::handledOnloadEvents):
1097         Moved the call to stopDeferringEvents in here from FrameLoader.
1098         * loader/DocumentLoader.h: Ditto.
1099
1100         * loader/DocumentWriter.h: Fixed a typo.
1101
1102         * loader/FrameLoader.cpp:
1103         (WebCore::FrameLoader::setFirstPartyForCookies): Changed this to
1104         use a non-recursive tree walk instead of recursion.
1105         (WebCore::FrameLoader::stopAllLoaders): Moved the code from
1106         stopLoadingSubframes inline, since it's only two lines of code.
1107         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Moved
1108         the code from markLoadComplete inline, since it's only one line.
1109         (WebCore::FrameLoader::checkLoadComplete): Changed this to use a
1110         non-recursive tree walk instead of recursion, eliminating the
1111         recursiveCheckLoadComplete function completely.
1112         (WebCore::FrameLoader::handledOnloadEvents): Moved the call to
1113         stopDeferringEvents into DocumentLoader.
1114
1115         * loader/FrameLoader.h: Removed unneeded forward declarations,
1116         and now-unneeded functions setupForReplaceByMIMEType,
1117         isStopping, isLoadingFromCachedPage, stopLoadingSubframes,
1118         markLoadComplete, mainReceivedError, and recursiveCheckLoadComplete.
1119         Also made allChildrenAreComplete private.
1120
1121         * loader/MainResourceLoader.cpp:
1122         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1123         Call DocumentLoader::isStopping so we can remove the function
1124         from FrameLoader that just calls through. Other call sites were
1125         using DocumentLoader::isStopping directly.
1126         (WebCore::MainResourceLoader::didReceiveResponse): Call
1127         DocumentLoader::setupForReplaceByMIMEType so we can remove the
1128         function from FrameLoader that just calls through. This was
1129         the only call site.
1130
1131         * loader/ResourceLoader.cpp:
1132         (WebCore::ResourceLoader::init): Call the
1133         ResourceLoader::cancelledError function instead of calling
1134         directly to FrameLoader.
1135
1136         * loader/ResourceLoader.h: Made response an inline function.
1137
1138 2011-06-24  Alexey Proskuryakov  <ap@apple.com>
1139
1140         Rubber-stamped by Maciej Stachowiak.
1141
1142         REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading
1143
1144         No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
1145         the rollout will re-introduce the older less frequent crash).
1146
1147         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
1148         for bug 62764.
1149
1150 2011-06-24  Tony Chang  <tony@chromium.org>
1151
1152         Reviewed by Ojan Vafai.
1153
1154         add flexbox and inline-flexbox as possible CSS display values
1155         https://bugs.webkit.org/show_bug.cgi?id=63361
1156
1157         Test: css3/flexbox/display-property.html
1158
1159         * css/CSSParser.cpp:
1160         (WebCore::CSSParser::parseValue):
1161         * css/CSSValueKeywords.in:
1162
1163 2011-06-24  Anna Cavender  <annacc@chromium.org>
1164
1165         Reviewed by Eric Carlson.
1166
1167         Loading out-of-band text track files from <track>.
1168         https://bugs.webkit.org/show_bug.cgi?id=62881
1169
1170         Uses the src attribute of <track> urls to load out-of-band text track
1171         files using ThreadableLoader.  Also removes TextTrackPrivateInterface
1172         (as well as LoadableTextTrackImpl and MutableTextTrackImpl) classes.
1173
1174         No new tests because feature is hidden behind VIDEO_TRACK feature
1175         define, which is turned off.
1176
1177         * CMakeLists.txt:
1178         * GNUmakefile.am:
1179         * GNUmakefile.list.am:
1180         * WebCore.gypi:
1181         * WebCore.pro:
1182         * WebCore.xcodeproj/project.pbxproj:
1183         * html/HTMLMediaElement.cpp:
1184         * html/HTMLMediaElement.h:
1185         * html/HTMLTrackElement.cpp:
1186         * html/HTMLTrackElement.h:
1187         * html/LoadableTextTrack.cpp:
1188         * html/LoadableTextTrack.h:
1189         * html/LoadableTextTrackImpl.cpp: Removed.
1190         * html/LoadableTextTrackImpl.h: Removed.
1191         * html/MutableTextTrack.cpp:
1192         * html/MutableTextTrack.h:
1193         * html/MutableTextTrackImpl.cpp: Removed.
1194         * html/MutableTextTrackImpl.h: Removed.
1195         * html/TextTrack.cpp:
1196         * html/TextTrack.h:
1197         * html/TextTrackPrivate.h: Removed.
1198         * platform/track/CueParser.cpp:
1199         * platform/track/CueParser.h:
1200
1201 2011-06-24  Rob Buis  <rbuis@rim.com>
1202
1203         Rubber-stamped by Nikolas Zimmermann.
1204
1205         All pointer-events fail if text has visibility="hidden"
1206         https://bugs.webkit.org/show_bug.cgi?id=62209
1207
1208         Do not use writing mode aware code for SVG Text.
1209
1210         No new tests needed.
1211
1212         * rendering/svg/SVGInlineTextBox.cpp:
1213         (WebCore::SVGInlineTextBox::nodeAtPoint):
1214
1215 2011-06-24  Lukasz Slachciak  <l.slachciak@samsung.com>
1216
1217         Reviewed by Darin Adler.
1218
1219         Change NDEBUG to !LOG_DISABLED macro in databases for logging.
1220         https://bugs.webkit.org/show_bug.cgi?id=63346
1221
1222         Changed NDEBUG to !LOG_DISABLED in databases code which involves logging.
1223         This change resolves also build break in Release build when logging enabled.
1224
1225         No new tests because there is no new behavior or feature exposed.
1226
1227         * loader/icon/IconDatabase.cpp: Macro fixes.
1228         (WebCore::IconDatabase::iconDatabaseSyncThread):
1229         (WebCore::IconDatabase::syncThreadMainLoop):
1230         (WebCore::IconDatabase::readFromDatabase):
1231         (WebCore::IconDatabase::writeToDatabase):
1232         (WebCore::IconDatabase::cleanupSyncThread):
1233         * storage/AbstractDatabase.h: Macro fixes.
1234         * storage/DatabaseTask.cpp: Macro fixes.
1235         * storage/DatabaseTask.h: Macro fixes.
1236         * storage/SQLTransaction.cpp: Macro fixes.
1237         * storage/SQLTransaction.h: Macro fixes.
1238
1239 2011-06-24  Tony Chang  <tony@chromium.org>
1240
1241         Reviewed by Adam Barth.
1242
1243         Pass Strings by const reference to functions
1244         https://bugs.webkit.org/show_bug.cgi?id=63341
1245
1246         Note that since Strings hold a RefPtr to StringImpl, passing Strings
1247         by value isn't horrible, but it does cause ref count churn and using
1248         const references is more consistent with the rest of the code base.
1249
1250         * loader/FrameLoader.cpp:
1251         (WebCore::FrameLoader::addHTTPOriginIfNeeded): Rework the code to not
1252             change the value of the passed in String.
1253         * loader/FrameLoader.h:
1254         * platform/win/ClipboardUtilitiesWin.cpp:
1255         (WebCore::setFileDescriptorData):
1256         * platform/win/ClipboardUtilitiesWin.h:
1257         * storage/DatabaseTracker.h:
1258         * storage/IDBLevelDBBackingStore.cpp:
1259         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
1260         * storage/IDBLevelDBBackingStore.h:
1261         * storage/IDBSQLiteBackingStore.cpp:
1262         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
1263         * storage/IDBSQLiteBackingStore.h:
1264         * storage/chromium/DatabaseTrackerChromium.cpp:
1265         (WebCore::DatabaseTracker::getOpenDatabases):
1266         * svg/SVGPaint.cpp:
1267         (WebCore::SVGPaint::SVGPaint):
1268         * svg/SVGPaint.h:
1269         * svg/animation/SMILTimeContainer.cpp:
1270         (WebCore::SMILTimeContainer::updateAnimations):
1271         * svg/animation/SMILTimeContainer.h:
1272         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1273         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
1274         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1275
1276 2011-06-24  Abhishek Arya  <inferno@chromium.org>
1277
1278         Reviewed by Darin Adler.
1279
1280         Add clamping for CSSPrimitiveValues and SVGInlineText font size.
1281         https://bugs.webkit.org/show_bug.cgi?id=53449        
1282
1283         Test: svg/text/svg-zoom-large-value.xhtml
1284
1285         * css/CSSPrimitiveValue.cpp:
1286         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add asserts to detect if the
1287         number created is valid.
1288         * css/CSSPrimitiveValue.h: add clamping checks to prevent overflows.
1289         (WebCore::CSSPrimitiveValue::getFloatValue):
1290         (WebCore::CSSPrimitiveValue::getIntValue):
1291         * css/CSSStyleSelector.cpp:
1292         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): split into two
1293         static functions, one specific to CSSStyleSelector and other generic to help
1294         in clamping font size for other callers like svg text, etc.
1295         * css/CSSStyleSelector.h:
1296         * platform/graphics/FontDescription.h: add asserts to detect if the new font
1297         size is valid.
1298         (WebCore::FontDescription::setComputedSize):
1299         (WebCore::FontDescription::setSpecifiedSize):
1300         * rendering/svg/RenderSVGInlineText.cpp:
1301         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle): use the new helper
1302         from CSSStyleSelector to help in clamping new scaled font size. do not use
1303         "smart minimum" since svg allows really small unreadable fonts (tested by existing
1304         layout tests). Document's minimum font size clamp (0 in my case) and harmless epsilon
1305         check in CSSStyleSelector function should still hold for svg.
1306
1307 2011-06-24  Julien Chaffraix  <jchaffraix@webkit.org>
1308
1309         Reviewed by Darin Adler.
1310
1311         Remove unsafe static_cast inside the InlineBox hierarchy
1312         https://bugs.webkit.org/show_bug.cgi?id=63077
1313
1314         Refactoring only, no new test.
1315
1316         * rendering/InlineFlowBox.h:
1317         (WebCore::toInlineFlowBox):
1318         * rendering/InlineTextBox.h:
1319         (WebCore::toInlineTextBox):
1320         Added the proper cast methods to those 2 classes from an InlineBox.
1321
1322         * rendering/InlineBox.cpp:
1323         (WebCore::InlineBox::nextLeafChild):
1324         (WebCore::InlineBox::prevLeafChild):
1325         * rendering/InlineFlowBox.cpp:
1326         (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth):
1327         (WebCore::InlineFlowBox::addToLine):
1328         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1329         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
1330         (WebCore::InlineFlowBox::requiresIdeographicBaseline):
1331         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1332         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1333         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1334         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
1335         (WebCore::InlineFlowBox::computeOverflow):
1336         (WebCore::InlineFlowBox::firstLeafChild):
1337         (WebCore::InlineFlowBox::lastLeafChild):
1338         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1339         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1340         * rendering/RenderBlock.cpp:
1341         (WebCore::RenderBlock::positionForBox):
1342         * rendering/RenderBlockLineLayout.cpp:
1343         (WebCore::RenderBlock::createLineBoxes):
1344         (WebCore::RenderBlock::constructLine):
1345         (WebCore::setLogicalWidthForTextRun):
1346         (WebCore::computeExpansionForJustifiedText):
1347         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1348         * rendering/RenderText.cpp:
1349         (WebCore::RenderText::localCaretRect):
1350         (WebCore::RenderText::positionLineBox):
1351         * rendering/RootInlineBox.cpp:
1352         (WebCore::RootInlineBox::ascentAndDescentForBox):
1353         (WebCore::RootInlineBox::includeFontForBox):
1354         (WebCore::RootInlineBox::includeGlyphsForBox):
1355         Replaced the static_cast in those previous call sites with the new cast methods.
1356
1357 2011-06-24  Alexis Menard  <alexis.menard@openbossa.org>
1358
1359         Unreviewed build fix.
1360
1361         Build fix on Linux when using the GStreamer backend.
1362
1363         No new tests, just a build fix.
1364
1365         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
1366         (FullScreenVideoWindow::keyPressEvent):
1367
1368 2011-06-24  Nat Duca  <nduca@chromium.org>
1369
1370         Unreviewed, rolling out r89694.
1371         http://trac.webkit.org/changeset/89694
1372         https://bugs.webkit.org/show_bug.cgi?id=58408
1373
1374         Test shell still not ready for animate changes.
1375
1376         * WebCore.gypi:
1377         * platform/graphics/chromium/LayerRendererChromium.cpp:
1378         (WebCore::LayerRendererChromium::create):
1379         (WebCore::LayerRendererChromium::LayerRendererChromium):
1380         (WebCore::LayerRendererChromium::setViewport):
1381         (WebCore::LayerRendererChromium::updateAndDrawLayers):
1382         * platform/graphics/chromium/LayerRendererChromium.h:
1383         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1384         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1385         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
1386         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
1387         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Removed.
1388         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Removed.
1389         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Removed.
1390         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Removed.
1391         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Removed.
1392         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Removed.
1393         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Removed.
1394         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Removed.
1395         * platform/graphics/chromium/cc/CCMainThreadTask.h:
1396         * platform/graphics/chromium/cc/CCThread.cpp:
1397         (WebCore::CCThread::runLoop):
1398         * platform/graphics/chromium/cc/CCThreadTask.h:
1399
1400 2011-06-24  Chris Rogers  <crogers@google.com>
1401
1402         Unreviewed build fix.
1403
1404         Fix Chromium Linux Build
1405         https://bugs.webkit.org/show_bug.cgi?id=63349
1406
1407         * WebCore.gyp/WebCore.gyp:
1408
1409 2011-06-24  Henry Song  <hsong@sisa.samsung.com>
1410
1411         Reviewed by Martin Robinson.
1412
1413         Correct _sharedTimer value in SharedTimerEfl.cpp
1414         https://bugs.webkit.org/show_bug.cgi?id=62380
1415
1416         SharedTimerEfl.cpp set _sharedTimer = 0 is incorrect in 
1417         timerEvent(), we have observed addNewTimer() can be triggered 
1418         by either inside timerFunction() or others that are not within
1419         timerFunction().  We have observed the following case:
1420         1. add a new Timer within timerFunction()
1421         2. timerFunction returns, set _sharedTimer = 0
1422         3. addNewTimer() is triggered again within webkit, don't know
1423            it triggers this.
1424         4. because at this moment, _sharedTimer == 0, the previous
1425            registered timer (in step 1) did not get removed.
1426         5. Now in ecore_timer, there are two timers with same callbacks
1427         6. From now on, timerFunction() will be called twice back-to-back
1428            in each ecore_timer loop.
1429         To correct this, we should set _sharedTimer = 0 before
1430         timerFunction() so that when addNewTimer() triggered within,
1431         we have a valid timer object.
1432
1433         * platform/efl/SharedTimerEfl.cpp:
1434         (WebCore::timerEvent):
1435
1436 2011-05-17  Nat Duca  <nduca@chromium.org>
1437
1438         Reviewed by James Robinson.
1439
1440         [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
1441         https://bugs.webkit.org/show_bug.cgi?id=58408
1442
1443         Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
1444         thread and compositor thread halves of a composited view. Communication
1445         between the two is based on the design used in FileStreamProxy.
1446
1447         * WebCore.gypi:
1448         * platform/chromium/TraceEvent.h:
1449         * platform/graphics/chromium/LayerRendererChromium.cpp:
1450         (WebCore::LayerRendererChromium::create):
1451         (WebCore::LayerRendererChromium::LayerRendererChromium):
1452         (WebCore::LayerRendererChromium::setViewport):
1453         (WebCore::LayerRendererChromium::updateLayers):
1454         (WebCore::LayerRendererChromium::drawLayers):
1455         (WebCore::LayerRendererChromiumImpl::create):
1456         (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
1457         (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
1458         (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
1459         (WebCore::LayerRendererChromiumImplProxy::create):
1460         (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
1461         (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
1462         (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
1463         * platform/graphics/chromium/LayerRendererChromium.h:
1464         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1465         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
1466         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
1467         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
1468         (WebCore::CCHeadsUpDisplay::currentFrameNumber):
1469         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
1470         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1471         (WebCore::CCLayerTreeHost::init):
1472         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1473         (WebCore::CCLayerTreeHost::beginCommit):
1474         (WebCore::CCLayerTreeHost::commitComplete):
1475         (WebCore::CCLayerTreeHost::animateAndLayout):
1476         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
1477         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
1478         (WebCore::CCLayerTreeHost::setNeedsRedraw):
1479         (WebCore::CCLayerTreeHost::updateLayers):
1480         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
1481         (WebCore::CCLayerTreeHost::frameNumber):
1482         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
1483         (WebCore::CCLayerTreeHostCommitter::create):
1484         (WebCore::CCLayerTreeHostCommitter::commit):
1485         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
1486         (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
1487         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
1488         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1489         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
1490         (WebCore::CCLayerTreeHostImpl::beginCommit):
1491         (WebCore::CCLayerTreeHostImpl::commitComplete):
1492         (WebCore::CCLayerTreeHostImpl::drawLayers):
1493         (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
1494         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
1495         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
1496         (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
1497         (WebCore::CCLayerTreeHostImpl::frameNumber):
1498         (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
1499         (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
1500         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
1501         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
1502         (WebCore::CCLayerTreeHostImplProxy::start):
1503         (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
1504         (WebCore::CCLayerTreeHostImplProxy::isStarted):
1505         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
1506         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
1507         (WebCore::CCLayerTreeHostImplProxy::stop):
1508         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
1509         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
1510         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
1511         (WebCore::CCLayerTreeHostImplProxy::isCCThread):
1512         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
1513         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
1514         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
1515         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
1516         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
1517         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
1518         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
1519         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
1520         (WebCore::CCLayerTreeHostImplProxy::host):
1521         * platform/graphics/chromium/cc/CCMainThreadTask.h:
1522         * platform/graphics/chromium/cc/CCThread.cpp:
1523         (WebCore::CCThread::runLoop):
1524         * platform/graphics/chromium/cc/CCThreadTask.h:
1525
1526 2011-06-24  Adrienne Walker  <enne@google.com>
1527
1528         Unreviewed, remove assertion about root layers in RenderLayerBacking.
1529         https://bugs.webkit.org/show_bug.cgi?id=60741
1530
1531         This was added in r89687, but somehow is not true on Safari Leopard.
1532         However, as the tests that were added with that revision are passing
1533         correctly, the assertion is most likely not correct.
1534
1535         * rendering/RenderLayerBacking.cpp:
1536         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1537
1538 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
1539
1540         Reviewed by Dirk Schulze.
1541
1542         Refactor text iterator code respecting surrogate pairs from WidthIterator
1543         https://bugs.webkit.org/show_bug.cgi?id=63319
1544
1545         WidthIterator contains a surrogate pair aware text iterator that is needed in other parts of WebCore.
1546         Refactor the code into its own SurrogatePairAwareTextIterator class. It can be used like this:
1547
1548         UChar32 character = 0;
1549         unsigned clusterLength = 0;
1550
1551         SurrogatePairAwareTextIterator textIterator(myString.characters(), 0, myString.length(), myString.length());
1552         while (textIterator.consume(character, clusterLength)) {
1553             // Either clusterLength is 1 and UChar32 fits into a single UChar.
1554             // Or     clusterLength is 2 and the UChar32 has been computed by combining the high & low surrogate pairs
1555             ...
1556         
1557             textIterator.advance(clusterLength);
1558         }
1559
1560         SVGGlyphMap is the next candidate that wants to make use of SurrogatePairAwareTextIterator.
1561         Doesn't affect any tests, just refactoring.
1562
1563         * CMakeLists.txt: Add SurrogatePairAwareTextIterator.* to build.
1564         * GNUmakefile.list.am: Ditto.
1565         * WebCore.gypi: Ditto.
1566         * WebCore.pro: Ditto.
1567         * WebCore.vcproj/WebCore.vcproj: Ditto.
1568         * WebCore.xcodeproj/project.pbxproj: Ditto.
1569         * platform/graphics/SurrogatePairAwareTextIterator.cpp: Copied from platform/graphics/WidthIterator.cpp.
1570         * platform/graphics/SurrogatePairAwareTextIterator.h: Added.
1571         (WebCore::SurrogatePairAwareTextIterator::currentCharacter):
1572         * platform/graphics/WidthIterator.cpp:
1573         (WebCore::WidthIterator::advance):
1574         * platform/graphics/WidthIterator.h:
1575
1576 2011-06-24  Adrienne Walker  <enne@google.com>
1577
1578         Reviewed by Simon Fraser.
1579
1580         Incorrect RenderLayer transforms on overflow RTL pages
1581         https://bugs.webkit.org/show_bug.cgi?id=60741
1582
1583         Fix positioning of the root graphics layer for RTL pages.  The fact
1584         that the left side of the page is negative for pages with overflow is
1585         not taken into account when calculating the position.  This negative
1586         value ends up being double-counted for the root graphics layer (once
1587         in the position and once in the offset) and it shifts child layers
1588         into the wrong place.
1589
1590         Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
1591                compositing/rtl/rtl-absolute-overflow.html
1592                compositing/rtl/rtl-absolute.html
1593                compositing/rtl/rtl-fixed-overflow-scrolled.html
1594                compositing/rtl/rtl-fixed-overflow.html
1595                compositing/rtl/rtl-fixed.html
1596                compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
1597                compositing/rtl/rtl-iframe-absolute-overflow.html
1598                compositing/rtl/rtl-iframe-absolute.html
1599                compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
1600                compositing/rtl/rtl-iframe-fixed-overflow.html
1601                compositing/rtl/rtl-iframe-fixed.html
1602                compositing/rtl/rtl-iframe-relative.html
1603                compositing/rtl/rtl-relative.html
1604
1605         * rendering/RenderLayerBacking.cpp:
1606         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1607
1608 2011-06-24  Ryosuke Niwa  <rniwa@webkit.org>
1609
1610         Reviewed by Enrica Casucci.
1611
1612         Add BeforeChildren and AfterChildren to the Position's anchor types
1613         https://bugs.webkit.org/show_bug.cgi?id=63100
1614
1615         Added PositionIsBeforeChildren and PositionIsAfterChildren to Position::AnchorType and deployed them in
1616         firstPositionInNode and lastPositionInNode.
1617
1618         These new types of positions will let us express the first and the last positions in a non-text node in O(1).
1619
1620         No new tests because there is no new behavior or feature exposed.
1621
1622         * dom/Position.cpp:
1623         (WebCore::Position::Position): Assert that the anchor type is not BeforeChildren and AfterChildren for text nodes.
1624         (WebCore::Position::containerNode): For BeforeChildren and AfterChildren, the anchor node is the container node.
1625         (WebCore::Position::computeOffsetInContainerNode): The offset in the container node is 0 for BeforeChildren and
1626         the offset in the anchor node for AfterChildren.
1627         (WebCore::Position::offsetForPositionAfterAnchor): Called by deprecatedNode; the anchor type could be AfterChildren.
1628         (WebCore::Position::parentAnchoredEquivalent): If the anchor node is before or after children, then do the trick
1629         for table and ignored contents like before or after anchor.
1630         (WebCore::Position::computeNodeBeforePosition): Returns null for BeforeChildren and returns the last child of
1631         the anchor node for AfterChildren.
1632         (WebCore::Position::computeNodeAfterPosition): Returns the first child of the anchor node for BeforeChildren
1633         (WebCore::Position::atFirstEditingPositionForNode): A position is at the last editing position if the anchor type
1634         is BeforeChildren, or the anchor type is AfterChildren or AfterAnchor and the anchor doesn't have any children.
1635         (WebCore::Position::atLastEditingPositionForNode): A position is at the last editing position if the anchor type
1636         is AfterChildren.
1637         (WebCore::Position::showAnchorTypeAndOffset): Supports BeforeChildren and AfterChildren.
1638         * dom/Position.h:
1639         (WebCore::Position::deprecatedEditingOffset): Returns m_offset if the anchor type is BeforeChildren.
1640         (WebCore::firstPositionInNode): Returns a position in offset for a text node. Otherwise returns BeforeChildren.
1641         (WebCore::lastPositionInNode): Returns a position in offset for a text node. Otherwise returns AfterChildren.
1642         * editing/CompositeEditCommand.cpp:
1643         (WebCore::CompositeEditCommand::positionOutsideTabSpan): Since the anchor node was a text node,
1644         the anchor type shouldn't be BeforeChildren or AfterChildren.
1645         * editing/DeleteSelectionCommand.cpp:
1646         (WebCore::updatePositionForNodeRemoval): Supports BeforeChildren and AfterChildren.
1647         (WebCore::DeleteSelectionCommand::handleGeneralDelete): Calls updatePositionForNodeRemoval on m_downstremEnd
1648         when its anchor node is removed instead of manually updating the offset; also avoid calling moveToOffset
1649         on BeforeChildren or AfterChildren position.
1650         * editing/FormatBlockCommand.cpp:
1651         (WebCore::FormatBlockCommand::formatRange): Since lastParagraphInBlockNode is used to insert a placeholder
1652         after paragraphs below the block is moved into, it needs to be the position after the current last child in
1653         the block instead of after children in the block; otherwise the position will move to the end of block.
1654         * editing/VisiblePosition.cpp:
1655         (WebCore::VisiblePosition::characterAfter): Since the container node is never a text for position before/after
1656         children or before/after anchor, just return null for these anchor types.
1657
1658 2011-06-24  Dominic Cooney  <dominicc@chromium.org>
1659
1660         Reviewed by Dimitri Glazkov.
1661
1662         Convert shadow DOM-related tests to use window.internals
1663         https://bugs.webkit.org/show_bug.cgi?id=61671
1664
1665         * WebCore.exp.in: Exports for symbols used by WebCoreTestSupport.
1666         * testing/Internals.cpp: The new home of shadowRoot and friends.
1667         (WebCore::Internals::ensureShadowRoot):
1668         (WebCore::Internals::shadowRoot):
1669         (WebCore::Internals::removeShadowRoot):
1670         (WebCore::Internals::shadowPseudoId):
1671         * testing/Internals.h:
1672         * testing/Internals.idl:
1673
1674 2011-06-24  Tony Chang  <tony@chromium.org>
1675
1676         Reviewed by Darin Adler.
1677
1678         Refactor creation of primitive values in CSSParser
1679         https://bugs.webkit.org/show_bug.cgi?id=63270
1680
1681         Covered by existing tests.
1682
1683         * css/CSSParser.cpp:
1684         (WebCore::CSSParser::createPrimitiveNumericValue): Helper method for creating numeric values
1685             to keep the cast in one place.
1686         (WebCore::CSSParser::createPrimitiveStringValue): Helper method for creating string values.
1687         (WebCore::CSSParser::parseValidPrimitive):
1688         (WebCore::CSSParser::parseValue):
1689         (WebCore::CSSParser::parseWCSSInputProperty):
1690         (WebCore::CSSParser::parsePage):
1691         (WebCore::CSSParser::parseSizeParameter):
1692         (WebCore::CSSParser::parseContent):
1693         (WebCore::CSSParser::parseFillPositionX):
1694         (WebCore::CSSParser::parseFillPositionY):
1695         (WebCore::CSSParser::parseFillPositionComponent):
1696         (WebCore::CSSParser::parseFillSize):
1697         (WebCore::CSSParser::parseAnimationDelay):
1698         (WebCore::CSSParser::parseAnimationDuration):
1699         (WebCore::CSSParser::parseAnimationIterationCount):
1700         (WebCore::CSSParser::parseAnimationName):
1701         (WebCore::CSSParser::parseTransformOriginShorthand):
1702         (WebCore::CSSParser::parseDashboardRegions):
1703         (WebCore::CSSParser::parseCounterContent):
1704         (WebCore::CSSParser::parseShape):
1705         (WebCore::CSSParser::parseFont):
1706         (WebCore::CSSParser::parseReflect):
1707         (WebCore::CSSParser::parseBorderRadius):
1708         (WebCore::CSSParser::parseCounter):
1709         (WebCore::CSSParser::parseDeprecatedGradient):
1710         (WebCore::CSSParser::parseLinearGradient):
1711         (WebCore::CSSParser::parseRadialGradient):
1712         (WebCore::CSSParser::parseGradientColorStops):
1713         (WebCore::CSSParser::parseTransform):
1714         (WebCore::CSSParser::parseTransformOrigin):
1715         (WebCore::CSSParser::parseTextEmphasisStyle):
1716         * css/CSSParser.h:
1717         * css/CSSPrimitiveValueCache.h:
1718         (WebCore::CSSPrimitiveValueCache::createValue): pass String by const reference
1719
1720 2011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1721
1722         Reviewed by Martin Robinson.
1723
1724         [GTK] Fix runtime critical warnings in WebKit2
1725         https://bugs.webkit.org/show_bug.cgi?id=63256
1726
1727         Check whether there's a view widget before trying to use it in
1728         PlatformScreenGtk. If there isn't a view widget, which is the case
1729         in WebKit2, try to use the default GdkScreen and monitor.
1730
1731         * platform/gtk/PlatformScreenGtk.cpp:
1732         (WebCore::getToplevel): Helper function to get the toplevel
1733         widget.
1734         (WebCore::getVisual): Use getToplevel().
1735         (WebCore::getScreen): Helper funtion to get the screen of a
1736         widget.
1737         (WebCore::screenRect): Use getToplevel() and getScreen().
1738
1739 2011-06-24  Yuta Kitamura  <yutak@chromium.org>
1740
1741         Reviewed by Adam Barth.
1742
1743         WebSocket: Add run-time flag for new HyBi protocol
1744         https://bugs.webkit.org/show_bug.cgi?id=60348
1745
1746         Add a flag in Setting so that WebSocket protocols can be switched
1747         dynamically. The protocol we have implemented so far is based on
1748         older Hixie-76 specification. A new protocol is being discussed in
1749         IETF HyBi working group, and I'm planning to implement the new protocol
1750         behind this Settings flag.
1751
1752         I will add a method to LayoutTestController which flips this flag in
1753         a later patch. In this way, we can put tests for both protocols in
1754         the same place and test implementation for both protocols at the same time.
1755
1756         This patch only adds a flag. The flag is not used yet, thus there is
1757         no change in functionality. Therefore, no tests were added.
1758
1759         * page/Settings.cpp:
1760         (WebCore::Settings::Settings):
1761         * page/Settings.h:
1762         (WebCore::Settings::setUseHixie76WebSocketProtocol):
1763         (WebCore::Settings::useHixie76WebSocketProtocol):
1764
1765 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
1766
1767         Reviewed by Pavel Feldman.
1768
1769         Web Inspector: [Chromium] Shorten DOMWindow URLs in heap profiles.
1770         https://bugs.webkit.org/show_bug.cgi?id=63238
1771
1772         * inspector/front-end/DetailedHeapshotGridNodes.js:
1773         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
1774         (WebInspector.HeapSnapshotGenericObjectNode):
1775         (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
1776         (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
1777         (WebInspector.HeapSnapshotGenericObjectNode.prototype.isDOMWindow):
1778         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
1779         * inspector/front-end/DetailedHeapshotView.js:
1780         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
1781         (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
1782         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
1783         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
1784         * inspector/front-end/utilities.js:
1785         ():
1786
1787 2011-06-24  Vsevolod Vlasov  <vsevik@chromium.org>
1788
1789         Reviewed by Pavel Feldman.
1790
1791         Web Inspector: HTML preview should delete old iframe on show().
1792         https://bugs.webkit.org/show_bug.cgi?id=63170
1793
1794         * inspector/front-end/ResourceHTMLView.js:
1795         (WebInspector.ResourceHTMLView.prototype._createIFrame):
1796         * inspector/front-end/ResourcePreviewView.js:
1797         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
1798
1799 2011-06-24  Dirk Schulze  <krit@webkit.org>
1800
1801         Reviewed by Nikolas Zimmermann.
1802
1803         Convert AnimatedString to SVGAnimatorFactory concept
1804         https://bugs.webkit.org/show_bug.cgi?id=63296
1805
1806         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
1807         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGString.
1808
1809         No new tests added. No change of functionality.
1810
1811         * CMakeLists.txt: Added new file to build system.
1812         * GNUmakefile.list.am: Ditto.
1813         * WebCore.gypi: Ditto.
1814         * WebCore.pro: Ditto.
1815         * WebCore.xcodeproj/project.pbxproj: Ditto.
1816         * svg/SVGAllInOne.cpp: Ditto.
1817         * svg/SVGAnimateElement.cpp:
1818         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1819         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1820         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1821         (WebCore::SVGAnimateElement::resetToBaseValue):
1822         (WebCore::SVGAnimateElement::applyResultsToTarget):
1823         (WebCore::SVGAnimateElement::calculateDistance):
1824         * svg/SVGAnimateElement.h:
1825         * svg/SVGAnimatedString.cpp: Added. Animator for SVGString.
1826         (WebCore::SVGAnimatedStringAnimator::SVGAnimatedStringAnimator):
1827         (WebCore::SVGAnimatedStringAnimator::constructFromString):
1828         (WebCore::SVGAnimatedStringAnimator::calculateFromAndToValues):
1829         (WebCore::SVGAnimatedStringAnimator::calculateFromAndByValues):
1830         (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
1831         (WebCore::SVGAnimatedStringAnimator::calculateDistance):
1832         * svg/SVGAnimatedString.h:
1833         (WebCore::SVGAnimatedStringAnimator::~SVGAnimatedStringAnimator):
1834         * svg/SVGAnimatedType.cpp:
1835         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1836         (WebCore::SVGAnimatedType::createString):
1837         (WebCore::SVGAnimatedType::string):
1838         (WebCore::SVGAnimatedType::valueAsString):
1839         (WebCore::SVGAnimatedType::setValueAsString):
1840         * svg/SVGAnimatedType.h:
1841         * svg/SVGAnimatorFactory.h:
1842         (WebCore::SVGAnimatorFactory::create):
1843
1844 2011-06-24  Mario Sanchez Prada  <msanchez@igalia.com>
1845
1846         Reviewed by Chris Fleizach.
1847
1848         [GTK] Consider rows being ignored when adding children to tables
1849         https://bugs.webkit.org/show_bug.cgi?id=62718
1850
1851         Hide row objects in tables in GTK's accessibility wrapper.
1852
1853         This is a different approach in the way WebCore's accessible
1854         rows are exposed to assistive technologies in the GTK port,
1855         since from now on those objects are kept in WebCore (they do not
1856         declare to ignore accessibility) and just bypassed in the mapping
1857         to ATK, allowing to hide them in the ATK hierarchy while, at the
1858         same time, keeping them internally to be able to provide enough
1859         information to determine tables related information, such as rows
1860         counting or finding an cell for specific coordinates.
1861
1862         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1863         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1864         Do not ignore accessibility for table rows here.
1865
1866         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1867         (webkit_accessible_get_parent): Bypass rows when needed.
1868         (getNChildrenForTable): New, find the number of children for a
1869         table, which will be the addition of all cells for its rows.
1870         (webkit_accessible_get_n_children): Call to getNChildrenForTable
1871         for accessibility tables if needed.
1872         (getChildForTable): New, bypass rows when needed, retrieving
1873         cells as if they were direct children for tables.
1874         (webkit_accessible_ref_child): Call to refChildForTable if needed.
1875         (getIndexInParentForCellInRow): New, get the index for a given
1876         cell in its parent table, considering other rows' cells.
1877         (webkit_accessible_get_index_in_parent): Call to
1878         getIndexInParentForCellInRow if needed.
1879
1880 2011-06-24  Andrey Kosyakov  <caseq@chromium.org>
1881
1882         Reviewed by Yury Semikhatsky.
1883
1884         Web Inspector: extension panel iframes do not span entire panel client area
1885         https://bugs.webkit.org/show_bug.cgi?id=63165
1886
1887         * inspector/front-end/ExtensionServer.js:
1888         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1889         (WebInspector.ExtensionServer.prototype.createClientIframe):
1890         * inspector/front-end/inspector.css:
1891         (iframe.extension):
1892         (iframe.panel.extension):
1893
1894 2011-06-24  David Grogan  <dgrogan@chromium.org>
1895
1896         Reviewed by Pavel Feldman.
1897
1898         Web Inspector: [REGRESSION r86838] line numbers do not scroll when script paused
1899         https://bugs.webkit.org/show_bug.cgi?id=61653
1900
1901         roll out r86838
1902
1903         No new tests - refactoring.
1904
1905         * dom/Document.h:
1906         * dom/EventQueue.cpp:
1907         (WebCore::EventQueueTimer::EventQueueTimer):
1908         (WebCore::EventQueueTimer::fired):
1909         (WebCore::EventQueue::create):
1910         (WebCore::EventQueue::EventQueue):
1911         (WebCore::EventQueue::~EventQueue):
1912         (WebCore::EventQueue::enqueueEvent):
1913         (WebCore::EventQueue::cancelEvent):
1914         (WebCore::EventQueue::cancelQueuedEvents):
1915         (WebCore::EventQueue::pendingEventTimerFired):
1916         (WebCore::EventQueue::dispatchEvent):
1917         * dom/EventQueue.h:
1918
1919 2011-06-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1920
1921         Unreviewed, rolling out r89594.
1922         http://trac.webkit.org/changeset/89594
1923         https://bugs.webkit.org/show_bug.cgi?id=63316
1924
1925         It broke 5 tests on the Qt bot (Requested by Ossy_DC on
1926         #webkit).
1927
1928         * WebCore.exp.in:
1929         * icu/unicode/uscript.h:
1930         * page/Settings.cpp:
1931         (WebCore::Settings::setStandardFontFamily):
1932         (WebCore::Settings::setFixedFontFamily):
1933         (WebCore::Settings::setSerifFontFamily):
1934         (WebCore::Settings::setSansSerifFontFamily):
1935         (WebCore::Settings::setCursiveFontFamily):
1936         (WebCore::Settings::setFantasyFontFamily):
1937         * page/Settings.h:
1938         (WebCore::Settings::standardFontFamily):
1939         (WebCore::Settings::fixedFontFamily):
1940         (WebCore::Settings::serifFontFamily):
1941         (WebCore::Settings::sansSerifFontFamily):
1942         (WebCore::Settings::cursiveFontFamily):
1943         (WebCore::Settings::fantasyFontFamily):
1944
1945 2011-06-23  Tony Chang  <tony@chromium.org>
1946
1947         Reviewed by Kent Tamura.
1948
1949         Pass Strings by const reference in bindings code
1950         https://bugs.webkit.org/show_bug.cgi?id=63302
1951
1952         Note that since Strings hold a RefPtr to StringImpl, passing Strings
1953         by value isn't horrible, but it does cause ref count churn and using
1954         const references is more consistent with the rest of the code base.
1955
1956         * bindings/generic/BindingSecurity.h:
1957         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
1958         (WebCore::::allowSettingSrcToJavascriptURL):
1959         * bindings/js/SerializedScriptValue.cpp:
1960         (WebCore::CloneSerializer::serialize):
1961         (WebCore::SerializedScriptValue::create):
1962         * bindings/js/SerializedScriptValue.h:
1963         * bindings/v8/SerializedScriptValue.cpp:
1964         (WebCore::SerializedScriptValue::createFromWire):
1965         (WebCore::SerializedScriptValue::create):
1966         (WebCore::SerializedScriptValue::SerializedScriptValue):
1967         * bindings/v8/SerializedScriptValue.h:
1968         * bindings/v8/V8Binding.h:
1969         (WebCore::V8ParameterBase::setString):
1970
1971 2011-06-23  Yury Semikhatsky  <yurys@chromium.org>
1972
1973         Reviewed by Pavel Feldman.
1974
1975         [Chromium] Web Inspector: provide context menu item for enabling native worker inspection
1976         https://bugs.webkit.org/show_bug.cgi?id=63258
1977
1978         Added context menu checkbox item that allows to enable inspection of
1979         native workers. The value will be persisted as other inspector settings
1980         and will be restored after frontend/breowser reopening.
1981
1982         * inspector/Inspector.json:
1983         * inspector/InspectorController.cpp:
1984         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1985         * inspector/InspectorInstrumentation.h:
1986         (WebCore::InspectorInstrumentation::didStartWorkerContext):
1987         * inspector/InspectorWorkerAgent.cpp:
1988         (WebCore::InspectorWorkerAgent::setFrontend):
1989         (WebCore::InspectorWorkerAgent::restore):
1990         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
1991         * inspector/InspectorWorkerAgent.h:
1992         * inspector/front-end/ScriptsPanel.js:
1993         (WebInspector.ScriptsPanel):
1994         (WebInspector.ScriptsPanel.prototype.reset):
1995         (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
1996         (WebInspector.ScriptsPanel.prototype._contextMenu.enableWorkerInspection):
1997         (WebInspector.ScriptsPanel.prototype._contextMenu):
1998         * inspector/front-end/Settings.js:
1999         (WebInspector.Settings):
2000         * inspector/front-end/inspector.js:
2001         (WebInspector.didCreateWorker):
2002         (WebInspector.didDestroyWorker):
2003         * workers/Worker.cpp:
2004         (WebCore::Worker::notifyFinished):
2005
2006 2011-06-23  Simon Fraser  <simon.fraser@apple.com>
2007
2008         Reviewed by Dan Bernstein.
2009
2010         Need to turn off default animations for anchorPointZ in PlatformCALayer
2011         https://bugs.webkit.org/show_bug.cgi?id=63159
2012         
2013         When the z-component of transform-origin changed, we ran an implicit
2014         animation of anchorPointZ on the CALayer. Turn this off.
2015
2016         Test: transforms/3d/general/transform-origin-z-change.html
2017
2018         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2019         (nullActionsDictionary):
2020
2021 2011-06-23  Zhenyao Mo  <zmo@google.com>
2022
2023         Reviewed by Kenneth Russell.
2024
2025         Limit WebGL internal drawingBuffer size to 4k x 4k
2026         https://bugs.webkit.org/show_bug.cgi?id=63304
2027
2028         * html/canvas/WebGLRenderingContext.cpp:
2029         (WebCore::WebGLRenderingContext::reshape): Limit drawing buffer size to 4k x 4k.
2030
2031 2011-06-20  MORITA Hajime  <morrita@google.com>
2032
2033         Reviewed by Dimitri Glazkov.
2034
2035         [ShadowContentElement] should layout child whitespace between span.
2036         https://bugs.webkit.org/show_bug.cgi?id=62202
2037
2038         NodeRenderingContext::nextRenderer() and previousRenderer()
2039         ignored forwarded content tree hierarchies and used render-object
2040         hierarchies instead, that caused some wrong Text node rendering.
2041         
2042         This change uses ShadowContentElement::m_inclusions for the lookup.
2043         In this way, these methods can reflect hierarchies of forward light tree.
2044         
2045         * dom/NodeRenderingContext.cpp:
2046         (WebCore::NodeRenderingContext::NodeRenderingContext):
2047         (WebCore::nextRendererOf): Added. This traverses content element's children for searching neighboring renderer.
2048         (WebCore::previousRendererOf): Added. This traverses content element's children for searching neighboring renderer.
2049         (WebCore::NodeRenderingContext::nextRenderer):
2050         (WebCore::NodeRenderingContext::previousRenderer):
2051         * dom/NodeRenderingContext.h:
2052         * dom/ShadowContentElement.h:
2053         (ShadowContentElement::inclusionIndexOf): Added.
2054         * dom/ShadowContentSelector.cpp:
2055         (WebCore::ShadowContentSelector::activeElement):
2056         * dom/ShadowContentSelector.h:
2057         * dom/ShadowRoot.cpp:
2058         (WebCore::ShadowRoot::activeContentElement):
2059         * dom/ShadowRoot.h:
2060         * rendering/RenderTreeAsText.cpp: 
2061         (WebCore::externalRepresentation): Fixed an apparent bug introduced at r89230.
2062
2063 2011-05-25  James Robinson  <jamesr@chromium.org>
2064
2065         Reviewed by Kenneth Russell.
2066
2067         [chromium] Fix ownership of PlatformImage for ImageLayerChromiums
2068         https://bugs.webkit.org/show_bug.cgi?id=61099
2069
2070         For a composited image, both the ImageLayerChromium and its associated LayerTilerChromium need access to a
2071         PlatformImage - the ImageLayerChromium has to update the PlatformImage's contents and the LayerTilerChromium has
2072         to upload pixels from it.  This patch makes the ImageLayerTextureUpdater have exclusive ownership of the
2073         PlatformImage and moves ownership of the LayerTextureUpdater from the LayerTilerChromium to the owner of the
2074         tiler.  The updater is passed in as a parameter to the relevant tiler calls.
2075
2076         Patch also fixes a number of minor style issues (missing explicit keyword on constructor, etc).
2077
2078         Refactor only, no new tests.
2079
2080         * platform/graphics/chromium/ContentLayerChromium.cpp:
2081         (WebCore::ContentLayerPainter::create):
2082         (WebCore::ContentLayerPainter::ContentLayerPainter):
2083         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2084         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
2085         (WebCore::ContentLayerChromium::draw):
2086         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2087         (WebCore::ContentLayerChromium::updateCompositorResources):
2088         * platform/graphics/chromium/ContentLayerChromium.h:
2089         * platform/graphics/chromium/ImageLayerChromium.cpp:
2090         (WebCore::ImageLayerTextureUpdater::create):
2091         (WebCore::ImageLayerTextureUpdater::updateFromImage):
2092         (WebCore::ImageLayerTextureUpdater::imageSize):
2093         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
2094         (WebCore::ImageLayerChromium::~ImageLayerChromium):
2095         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2096         (WebCore::ImageLayerChromium::updateCompositorResources):
2097         (WebCore::ImageLayerChromium::setLayerRenderer):
2098         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
2099         (WebCore::ImageLayerChromium::layerBounds):
2100         * platform/graphics/chromium/ImageLayerChromium.h:
2101         * platform/graphics/chromium/LayerRendererChromium.cpp:
2102         (WebCore::LayerRendererChromium::LayerRendererChromium):
2103         (WebCore::LayerRendererChromium::updateRootLayerContents):
2104         (WebCore::LayerRendererChromium::drawRootLayer):
2105         (WebCore::LayerRendererChromium::updateLayers):
2106         * platform/graphics/chromium/LayerRendererChromium.h:
2107         * platform/graphics/chromium/LayerTextureUpdater.h:
2108         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
2109         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2110         (WebCore::LayerTextureUpdaterBitmap::create):
2111         (WebCore::LayerTextureUpdaterSkPicture::create):
2112         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2113         * platform/graphics/chromium/LayerTilerChromium.cpp:
2114         (WebCore::LayerTilerChromium::create):
2115         (WebCore::LayerTilerChromium::LayerTilerChromium):
2116         (WebCore::LayerTilerChromium::prepareToUpdate):
2117         (WebCore::LayerTilerChromium::updateRect):
2118         (WebCore::LayerTilerChromium::draw):
2119         * platform/graphics/chromium/LayerTilerChromium.h:
2120
2121 2011-06-23  Adrienne Walker  <enne@google.com>
2122
2123         Unreviewed, rolling out r89632 and r89640.
2124         http://trac.webkit.org/changeset/89632
2125         http://trac.webkit.org/changeset/89640
2126         https://bugs.webkit.org/show_bug.cgi?id=60741
2127
2128         Breaks ancestor-overflow-change unexpectedly
2129
2130         * rendering/RenderLayerBacking.cpp:
2131         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2132
2133 2011-06-23  John Bates  <jbates@google.com>
2134
2135         Reviewed by James Robinson.
2136
2137         Fix latch deadlock when GPU process crashes or context is lost.
2138         https://bugs.webkit.org/show_bug.cgi?id=63189
2139         The main bug fix is to only set/wait latches if the child context has no errors.
2140         Additionally, the LayerChromium classes needed to be modified to not continue drawing when
2141         their corresponding contexts have errors. Otherwise, they would draw with invalid texture ids.
2142
2143         Test: open particles WebGL demo in chrome, kill GPU process from Task Manager; observe no deadlock.
2144
2145         * platform/graphics/chromium/LayerRendererChromium.cpp:
2146         (WebCore::LayerRendererChromium::LayerRendererChromium):
2147         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2148         (WebCore::LayerRendererChromium::updateLayers):
2149         (WebCore::LayerRendererChromium::isCompositorContextLost):
2150         * platform/graphics/chromium/LayerRendererChromium.h:
2151         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2152         (WebCore::WebGLLayerChromium::drawsContent):
2153         (WebCore::WebGLLayerChromium::updateCompositorResources):
2154         (WebCore::WebGLLayerChromium::setContext):
2155         * platform/graphics/chromium/WebGLLayerChromium.h:
2156         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2157         (WebCore::Canvas2DLayerChromium::drawsContent):
2158         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2159
2160 2011-06-23  Alok Priyadarshi  <alokp@chromium.org>
2161
2162         Reviewed by James Robinson.
2163
2164         [chromium] Red and Blue channels are swapped in images with accelerated drawing
2165         https://bugs.webkit.org/show_bug.cgi?id=61442
2166
2167         We were uploading BGRA pixels into RGBA textures and swapping the components in the pixel shader.
2168         This strategy does not work with accelerated drawing because we are directly rendering to the texture, not uploading pixels.
2169         This patch uses BGRA textures if available. If not it falls back to the original scheme of swapping the components in the pixel shader. 
2170
2171         Tests: compositing/color-matching/image-color-matching.html (existing)
2172
2173         * WebCore.gypi:
2174         * platform/graphics/chromium/ImageLayerChromium.cpp:
2175         (WebCore::ImageLayerTextureUpdater::sampledTexelFormat):
2176         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2177         * platform/graphics/chromium/LayerRendererChromium.cpp:
2178         (WebCore::LayerRendererChromium::LayerRendererChromium):
2179         (WebCore::LayerRendererChromium::skiaContext):
2180         (WebCore::LayerRendererChromium::tilerProgram):
2181         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
2182         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2183         * platform/graphics/chromium/LayerRendererChromium.h:
2184         * platform/graphics/chromium/LayerTexture.h:
2185         (WebCore::LayerTexture::format):
2186         * platform/graphics/chromium/LayerTextureSubImage.cpp:
2187         (WebCore::LayerTextureSubImage::upload):
2188         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
2189         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
2190         * platform/graphics/chromium/LayerTextureSubImage.h:
2191         * platform/graphics/chromium/LayerTextureUpdater.h:
2192         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
2193         (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
2194         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2195         (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
2196         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
2197         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
2198         * platform/graphics/chromium/LayerTilerChromium.cpp:
2199         (WebCore::LayerTilerChromium::LayerTilerChromium):
2200         (WebCore::LayerTilerChromium::prepareToUpdate):
2201         (WebCore::LayerTilerChromium::updateRect):
2202         (WebCore::LayerTilerChromium::draw):
2203         (WebCore::LayerTilerChromium::growLayerToContain):
2204         (WebCore::LayerTilerChromium::drawTiles):
2205         (WebCore::LayerTilerChromium::drawTexturedQuad):
2206         * platform/graphics/chromium/LayerTilerChromium.h:
2207         * platform/graphics/chromium/PlatformColor.h: Added.
2208         (WebCore::PlatformColor::format):
2209         (WebCore::PlatformColor::bestTextureFormat):
2210         (WebCore::PlatformColor::sameComponentOrder):
2211         * platform/graphics/chromium/ShaderChromium.cpp:
2212         (WebCore::FragmentShaderRGBATexSwizzleAlpha::getShaderString):
2213         * platform/graphics/chromium/ShaderChromium.h:
2214         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2215
2216 2011-06-23  Adrienne Walker  <enne@google.com>
2217
2218         Reviewed by Simon Fraser.
2219
2220         Incorrect RenderLayer transforms on overflow RTL pages
2221         https://bugs.webkit.org/show_bug.cgi?id=60741
2222
2223         Fix positioning of the root graphics layer for RTL pages.  The fact
2224         that the left side of the page is negative for pages with overflow is
2225         not taken into account when calculating the position.  This negative
2226         value ends up being double-counted for the root graphics layer (once
2227         in the position and once in the offset) and it shifts child layers
2228         into the wrong place.
2229
2230         Tests: compositing/rtl/rtl-absolute-overflow-scrolled.html
2231                compositing/rtl/rtl-absolute-overflow.html
2232                compositing/rtl/rtl-absolute.html
2233                compositing/rtl/rtl-fixed-overflow-scrolled.html
2234                compositing/rtl/rtl-fixed-overflow.html
2235                compositing/rtl/rtl-fixed.html
2236                compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html
2237                compositing/rtl/rtl-iframe-absolute-overflow.html
2238                compositing/rtl/rtl-iframe-absolute.html
2239                compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html
2240                compositing/rtl/rtl-iframe-fixed-overflow.html
2241                compositing/rtl/rtl-iframe-fixed.html
2242                compositing/rtl/rtl-iframe-relative.html
2243                compositing/rtl/rtl-relative.html
2244
2245         * rendering/RenderLayerBacking.cpp:
2246         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2247
2248 2011-06-23  Emil A Eklund  <eae@chromium.org>
2249
2250         Reviewed by Eric Seidel.
2251
2252         FloatRect should implement the same methods as IntRect
2253         https://bugs.webkit.org/show_bug.cgi?id=63273
2254         
2255         Add missing methods from IntRect to FloatRect in preparation for moving
2256         the rendering tree over to floats.
2257
2258         * platform/graphics/FloatPoint.h:
2259         (WebCore::FloatPoint::expandedTo):
2260         (WebCore::FloatPoint::transposedPoint):
2261         * platform/graphics/FloatRect.h:
2262         (WebCore::FloatRect::move):
2263         (WebCore::FloatRect::expand):
2264         (WebCore::FloatRect::contract):
2265         (WebCore::FloatRect::shiftXEdgeTo):
2266         (WebCore::FloatRect::shiftMaxXEdgeTo):
2267         (WebCore::FloatRect::shiftYEdgeTo):
2268         (WebCore::FloatRect::shiftMaxYEdgeTo):
2269         (WebCore::FloatRect::minXMinYCorner):
2270         (WebCore::FloatRect::maxXMinYCorner):
2271         (WebCore::FloatRect::minXMaxYCorner):
2272         (WebCore::FloatRect::maxXMaxYCorner):
2273         (WebCore::FloatRect::transposedRect):
2274         * platform/graphics/FloatSize.h:
2275         (WebCore::FloatSize::expand):
2276         (WebCore::FloatSize::transposedSize):
2277
2278 2011-06-23  Emil A Eklund  <eae@chromium.org>
2279
2280         Reviewed by Darin Adler.
2281
2282         input/textarea onchange doesn't fire if value is set in key listener
2283         https://bugs.webkit.org/show_bug.cgi?id=63092
2284
2285         Change setValue implementation of HTMLInputElement and HTMLTextAreaElement to
2286         not call setTextAsOfLastFormControlChangeEvent unless the value truly changed.
2287         Thus element.value = element.value will no longer reset the state 
2288         m_textAsOfLastFormControlChangeEvent field and suppress the change event.
2289
2290         Test: fast/events/onchange-setvalue.html
2291
2292         * html/HTMLInputElement.cpp:
2293         (WebCore::HTMLInputElement::setValue):
2294         * html/HTMLTextAreaElement.cpp:
2295         (WebCore::HTMLTextAreaElement::setValue):
2296         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
2297         (WebCore::HTMLTextAreaElement::setValueCommon):
2298
2299 2011-06-23  Alexis Menard  <alexis.menard@openbossa.org>
2300
2301         Reviewed by Eric Carlson.
2302
2303         [Qt] Implement fullscreen support on Mac with the QuickTime backend.
2304         https://bugs.webkit.org/show_bug.cgi?id=61728
2305
2306         Implement fullscreen support for Qt when using the QuickTime backend.
2307         We mostly use what is already done for the Mac port.
2308
2309         * DerivedSources.pro: We use the mac files and they have <WebCore/x> type
2310         of includes. We need to generate those headers.
2311         * WebCore.pro:
2312         * platform/mac/WebVideoFullscreenController.h:
2313         * platform/mac/WebVideoFullscreenController.mm:
2314         * platform/mac/WebVideoFullscreenHUDWindowController.h:
2315         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
2316         * platform/qt/WebCoreSystemInterface.h:
2317         * platform/qt/WebCoreSystemInterface.mm:
2318
2319 2011-06-23  Darin Adler  <darin@apple.com>
2320
2321         Reviewed by Ryosuke Niwa.
2322
2323         RefPtr misused as argument type in a few classes
2324         https://bugs.webkit.org/show_bug.cgi?id=62955
2325
2326         * dom/DataTransferItem.cpp:
2327         (WebCore::DataTransferItem::DataTransferItem):
2328         * dom/DataTransferItem.h:
2329         * dom/DataTransferItems.cpp:
2330         (WebCore::DataTransferItems::DataTransferItems):
2331         * dom/DataTransferItems.h:
2332         * editing/CompositeEditCommand.cpp:
2333         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
2334         * editing/CompositeEditCommand.h:
2335         * page/WebKitAnimationList.cpp:
2336         (WebCore::WebKitAnimationList::append):
2337         (WebCore::WebKitAnimationList::insertAnimation):
2338         * page/WebKitAnimationList.h:
2339         * svg/graphics/filters/SVGFEImage.cpp:
2340         (WebCore::FEImage::FEImage):
2341         (WebCore::FEImage::create):
2342         * svg/graphics/filters/SVGFEImage.h:
2343         * svg/graphics/filters/SVGFilterBuilder.cpp:
2344         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
2345         (WebCore::SVGFilterBuilder::add):
2346         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
2347         * svg/graphics/filters/SVGFilterBuilder.h:
2348         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2349         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
2350         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
2351         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
2352         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
2353         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2354         * websockets/WorkerThreadableWebSocketChannel.cpp:
2355         (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
2356         (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
2357         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
2358         * websockets/WorkerThreadableWebSocketChannel.h:
2359         Use PassRefPtr or raw pointer as appropriate for RefPtr arguments.
2360
2361 2011-06-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2362
2363         Unreviewed, rolling out r89591 and r89593.
2364         http://trac.webkit.org/changeset/89591
2365         http://trac.webkit.org/changeset/89593
2366         https://bugs.webkit.org/show_bug.cgi?id=63279
2367
2368         Caused test crashes in SL and Chromium (Requested by dimich_
2369         on #webkit).
2370
2371         * accessibility/AXObjectCache.cpp:
2372         (WebCore::AXObjectCache::AXObjectCache):
2373         (WebCore::AXObjectCache::remove):
2374         (WebCore::AXObjectCache::childrenChanged):
2375         * accessibility/AXObjectCache.h:
2376         * accessibility/AccessibilityMenuList.cpp:
2377         (WebCore::AccessibilityMenuList::childrenChanged):
2378         * accessibility/AccessibilityMenuList.h:
2379         * accessibility/AccessibilityMenuListPopup.cpp:
2380         (WebCore::AccessibilityMenuListPopup::childrenChanged):
2381         * accessibility/AccessibilityMenuListPopup.h:
2382         * accessibility/AccessibilityObject.h:
2383         (WebCore::AccessibilityObject::childrenChanged):
2384         * accessibility/AccessibilityRenderObject.cpp:
2385         (WebCore::startOfContinuations):
2386         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
2387         (WebCore::AccessibilityRenderObject::childrenChanged):
2388         * accessibility/AccessibilityRenderObject.h:
2389
2390 2011-06-23  Andreas Kling  <kling@webkit.org>
2391
2392         Reviewed by Benjamin Poulain.
2393
2394         [Qt] Unbreak simple font fast-path after QRawFont API changes.
2395         https://bugs.webkit.org/show_bug.cgi?id=63272
2396
2397         In the Qt 4.8 branch, the QGlyphs class has been renamed to
2398         QGlyphRun, and some other small things have been tweaked.
2399
2400         * WebCore.pro:
2401         * platform/graphics/qt/FontCacheQt.cpp:
2402         (WebCore::rawFontForCharacters):
2403         * platform/graphics/qt/FontQt.cpp:
2404         (WebCore::Font::drawGlyphs):
2405
2406 2011-06-23  Tony Chang  <tony@chromium.org>
2407
2408         Reviewed by Andreas Kling.
2409
2410         Pass Strings as const references in NetworkResourcesData.h
2411         https://bugs.webkit.org/show_bug.cgi?id=63271
2412
2413         * inspector/NetworkResourcesData.h:
2414         (WebCore::NetworkResourcesData::ResourceData::setFrameId):
2415         (WebCore::NetworkResourcesData::ResourceData::setUrl):
2416         (WebCore::NetworkResourcesData::ResourceData::setTextEncodingName):
2417
2418 2011-06-23  Jay Civelli  <jcivelli@chromium.org>
2419
2420         Reviewed by Adam Barth.
2421
2422         Fixing the SharedBufferChunkReader API so it works correctly with
2423         binary data (non printable characters).
2424         Also adding a method to peek at the data (this is needed for MHTML
2425         with binary parts).
2426         https://bugs.webkit.org/show_bug.cgi?id=63231
2427
2428         * loader/archive/mhtml/MHTMLParser.cpp:
2429         (WebCore::skipLinesUntilBoundaryFound):
2430         (WebCore::MHTMLParser::parseNextPart):
2431         * loader/archive/mhtml/MHTMLParser.h:
2432         * platform/SharedBufferChunkReader.cpp:
2433         (WebCore::SharedBufferChunkReader::SharedBufferChunkReader):
2434         (WebCore::SharedBufferChunkReader::setSeparator):
2435         (WebCore::SharedBufferChunkReader::nextChunk):
2436         (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
2437         (WebCore::SharedBufferChunkReader::peek):
2438         * platform/SharedBufferChunkReader.h:
2439         * platform/network/MIMEHeader.cpp:
2440         (WebCore::retrieveKeyValuePairs):
2441
2442 2011-06-23  Nate Chapin  <japhet@chromium.org>
2443
2444         Unreviewed.
2445
2446         Revert production code part of r89503, since it's causing
2447         crashes on WebKit2/mac and failures on qt.
2448
2449         * dom/Document.cpp:
2450         (WebCore::Document::Document):
2451         (WebCore::Document::dispatchWindowLoadEvent):
2452         * dom/Document.h:
2453         (WebCore::Document::processingLoadEvent):
2454         * loader/DocumentLoader.cpp:
2455         (WebCore::DocumentLoader::isLoadingInAPISense):
2456
2457 2011-06-23  Young Han Lee  <joybro@company100.net>
2458
2459         Reviewed by Simon Fraser.
2460
2461         runAnimationTest always fails if the pause API is enabled and the test target animation has "infinite" iteration count.
2462         https://bugs.webkit.org/show_bug.cgi?id=63152
2463
2464         The pausing conditions are modified. Now it accepts the infinite-iteration-count,
2465         but rejects the zero-iteration-count. There is no reason to consider the zero-count meaning no animation.
2466         
2467         Test: animations/keyframes-infinite-iterations.html
2468
2469         * page/animation/CompositeAnimation.cpp:
2470         (WebCore::CompositeAnimation::pauseAnimationAtTime):
2471
2472 2011-06-23  Abhishek Arya  <inferno@chromium.org>
2473
2474         Reviewed by Adam Barth.
2475
2476         RefPtr m_style in MediaQueryEvaluator in case of callers like
2477         MediaQueryMatcher::prepareEvaluator that do not retain its reference.
2478         https://bugs.webkit.org/show_bug.cgi?id=63264
2479
2480         Test: fast/css/media-query-evaluator-crash.html
2481
2482         * css/MediaQueryEvaluator.cpp:
2483         (WebCore::MediaQueryEvaluator::eval):
2484         * css/MediaQueryEvaluator.h:
2485
2486 2011-06-23  Jungshik Shin  <jshin@chromium.org>
2487
2488         Reviewed by Alexey Proskuryakov.
2489
2490         Allow generic font family settings per script code.
2491         https://bugs.webkit.org/show_bug.cgi?id=20797
2492
2493         Make generic font family getters/setters accept an additional
2494         argument (script code). It has a default value so that if an embedder
2495         does not have/want a per-script font family setting, call-sites
2496         don't have to be changed.
2497         This is to prepare for fixing bug 10874 (font selection is not
2498         language-dependent) and bug 18085.
2499
2500         uscript.h has been updated to that of ICU 3.6 (the version of ICU on
2501         Mac OS 10.5)
2502
2503         There should be no change in layout and no new layout test
2504         is added.
2505
2506         * WebCore.exp.in:
2507         * icu/unicode/uscript.h: updated to ICU 4.6
2508         * page/Settings.cpp:
2509         (WebCore::setGenericFontFamilyMap): helper to set generic family per script
2510         (WebCore::getGenericFontFamilyForScript): helper function used by getters for fooFontFamily.
2511         (WebCore::Settings::standardFontFamily):
2512         (WebCore::Settings::setStandardFontFamily):
2513         (WebCore::Settings::fixedFontFamily):
2514         (WebCore::Settings::setFixedFontFamily):
2515         (WebCore::Settings::serifFontFamily):
2516         (WebCore::Settings::setSerifFontFamily):
2517         (WebCore::Settings::sansSerifFontFamily):
2518         (WebCore::Settings::setSansSerifFontFamily):
2519         (WebCore::Settings::cursiveFontFamily):
2520         (WebCore::Settings::setCursiveFontFamily):
2521         (WebCore::Settings::fantasyFontFamily):
2522         (WebCore::Settings::setFantasyFontFamily):
2523         * page/Settings.h: setter and getter for FooFontFamily have a new optional argument, scriptCode.
2524
2525 2011-06-23  Dan Bernstein  <mitz@apple.com>
2526
2527         Reviewed by Alexey Proskuryakov.
2528
2529         Make line breaking obey the -webkit-locale property
2530         https://bugs.webkit.org/show_bug.cgi?id=63209
2531
2532         Test: platform/mac/fast/text/line-break-locale.html
2533
2534         * platform/text/TextBreakIterator.h:
2535         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Take an optional locale identifier and
2536         initialize the m_locale member.
2537         (WebCore::LazyLineBreakIterator::get): Pass the locale to acquireLineBreakIterator().
2538         (WebCore::LazyLineBreakIterator::reset): Pass the locale to releaseLineBreakIterator() and update
2539         the m_locale member.
2540         * platform/text/TextBreakIteratorICU.cpp:
2541         (WebCore::LineBreakIteratorPool::sharedPool): Return a shared instance.
2542         (WebCore::LineBreakIteratorPool::take): Returns a text iterator for the given locale, either a newly-
2543         created one, or an existing one from the pool.
2544         (WebCore::LineBreakIteratorPool::put): Puts an iterator back into the pool, removing the least-recently used
2545         one if needed.
2546         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
2547         (WebCore::acquireLineBreakIterator): Changed to take an optional local identifier, and to use the pool.
2548         (WebCore::releaseLineBreakIterator): Changed to use the pool.
2549         * platform/text/brew/TextBreakIteratorBrew.cpp:
2550         (WebCore::acquireLineBreakIterator): Updated for new parameter.
2551         * platform/text/gtk/TextBreakIteratorGtk.cpp:
2552         (WebCore::acquireLineBreakIterator): Ditto.
2553         * platform/text/qt/TextBreakIteratorQt.cpp:
2554         (WebCore::acquireLineBreakIterator): Ditto.
2555         * platform/text/wince/TextBreakIteratorWinCE.cpp:
2556         (WebCore::acquireLineBreakIterator): Ditto.
2557         * rendering/RenderBlockLineLayout.cpp:
2558         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use the locale from the style for the line break
2559         iterator.
2560         * rendering/RenderText.cpp:
2561         (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
2562
2563 2011-06-23  Chris Fleizach  <cfleizach@apple.com>
2564
2565         Reviewed by Darin Adler.
2566
2567         ARIA live regions don't trigger notifications for elements that aren't in the AX tree
2568         https://bugs.webkit.org/show_bug.cgi?id=62289
2569
2570         If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
2571         notification is not sent. To fix this, I think the childrenChanged() method needs to actually create
2572         the appropriate objects, but since that method gets called during a render tree update, we've learned 
2573         that it's generally not safe to create objects.
2574  
2575         Instead a one shot timer can be fired that will update and create the necessary objects so that the
2576         correct notification can be sent.
2577
2578         Test: platform/mac/accessibility/aria-liveregion-without-element-access.html
2579
2580         * accessibility/AXObjectCache.cpp:
2581         (WebCore::AXObjectCache::AXObjectCache):
2582         (WebCore::AXObjectCache::remove):
2583         (WebCore::AXObjectCache::childrenUpdateTimerFired):
2584         (WebCore::AXObjectCache::childrenChanged):
2585         * accessibility/AXObjectCache.h:
2586         * accessibility/AccessibilityMenuList.cpp:
2587         (WebCore::AccessibilityMenuList::childrenChanged):
2588         * accessibility/AccessibilityMenuList.h:
2589         * accessibility/AccessibilityMenuListPopup.cpp:
2590         (WebCore::AccessibilityMenuListPopup::childrenChanged):
2591         * accessibility/AccessibilityMenuListPopup.h:
2592         * accessibility/AccessibilityObject.h:
2593         (WebCore::AccessibilityObject::childrenChanged):
2594         * accessibility/AccessibilityRenderObject.cpp:
2595         (WebCore::startOfContinuations):
2596            This changed exposed a case where an object was inlineElementContinuation, but not renderInlined,
2597            which led to an assert.
2598         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
2599         (WebCore::AccessibilityRenderObject::childrenChanged):
2600         * accessibility/AccessibilityRenderObject.h:
2601
2602 2011-06-23  Dirk Schulze  <krit@webkit.org>
2603
2604         Reviewed by Nikolas Zimmermann.
2605
2606         Convert SVGColor to SVGAnimatorFactory concept
2607         https://bugs.webkit.org/show_bug.cgi?id=63246
2608
2609         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
2610         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGColor.
2611
2612         Changed constructors of animators to take the animation element SVGAnimationsElement as new argument. Removed attribute name argument instead.
2613         This information is already exposed by the animation element. The animators store the pointer of the animation element, so that it is not
2614         necessary to pass it as argument to the functions calculateDistance, calculateAnimatedValue.
2615         
2616         Replace all SVGSMILElement references by SVGAnimationsElement - the common base class of all animation elements.
2617
2618         Added a new method in SVGAnimateElement to determine the property value type of CSS properties (regular value type, inherit or currentColor).
2619         The other two new methods fromPropertyValueType() and toPropertyValueType() avoid passing boolean arguments in calculateAnimatedValue().
2620
2621         No new tests added. Current tests cover the changes.
2622
2623         * CMakeLists.txt: Added new files to build system.
2624         * GNUmakefile.list.am: Ditto.
2625         * WebCore.gypi: Ditto.
2626         * WebCore.pro: Ditto.
2627         * WebCore.vcproj/WebCore.vcproj: Ditto.
2628         * WebCore.xcodeproj/project.pbxproj: Ditto.
2629         * svg/SVGAllInOne.cpp:  Ditto.
2630         * svg/SVGAnimateElement.cpp: Use Animator for SVGColor. 
2631         (WebCore::SVGAnimateElement::SVGAnimateElement):
2632         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2633         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2634         (WebCore::SVGAnimateElement::determinePropertyValueTypes):
2635         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2636         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2637         (WebCore::SVGAnimateElement::resetToBaseValue):
2638         (WebCore::SVGAnimateElement::applyResultsToTarget):
2639         (WebCore::SVGAnimateElement::calculateDistance):
2640         (WebCore::SVGAnimateElement::ensureAnimator): Pass the animation element as pointer to animator.
2641         * svg/SVGAnimateElement.h: Removed unnecessary includes. Some cleanup.
2642         (WebCore::SVGAnimateElement::fromPropertyValueType): Get property value type of 'from' property.
2643         (WebCore::SVGAnimateElement::toPropertyValueType): Get property value type of 'to' property.
2644         * svg/SVGAnimatedAngle.cpp:
2645         (WebCore::SVGAnimatedAngleAnimator::SVGAnimatedAngleAnimator): Added SVGSMILElement as new argument, removed attributeName.
2646         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndToValues): Determine property value type.
2647         (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues): Ditto.
2648         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue): Use new functions of SVGAnimateElement for handling of 'inherit'.
2649             And removed unnecessary arguments.
2650         (WebCore::SVGAnimatedAngleAnimator::calculateDistance): Removed animation element argument.
2651         * svg/SVGAnimatedAngle.h:
2652         * svg/SVGAnimatedColor.cpp: Added.
2653         (WebCore::SVGAnimatedColorAnimator::SVGAnimatedColorAnimator): Ditto.
2654         (WebCore::SVGAnimatedColorAnimator::constructFromString):
2655         (WebCore::SVGAnimatedColorAnimator::calculateFromAndToValues):
2656         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
2657         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
2658         (WebCore::SVGAnimatedColorAnimator::calculateDistance):
2659         * svg/SVGAnimatedColor.h: Added.
2660         (WebCore::SVGAnimatedColorAnimator::~SVGAnimatedColorAnimator):
2661         * svg/SVGAnimatedLength.cpp:
2662         (WebCore::SVGAnimatedLengthAnimator::SVGAnimatedLengthAnimator): Ditto.
2663         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndToValues):
2664         (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
2665         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
2666         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
2667         * svg/SVGAnimatedLength.h:
2668         * svg/SVGAnimatedNumber.cpp:
2669         (WebCore::SVGAnimatedNumberAnimator::SVGAnimatedNumberAnimator): Ditto.
2670         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndToValues):
2671         (WebCore::SVGAnimatedNumberAnimator::calculateFromAndByValues):
2672         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
2673         (WebCore::SVGAnimatedNumberAnimator::calculateDistance):
2674         * svg/SVGAnimatedNumber.h:
2675         * svg/SVGAnimatedPointList.cpp:
2676         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator): Ditto.
2677         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
2678         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
2679         * svg/SVGAnimatedPointList.h:
2680         * svg/SVGAnimatedRect.cpp:
2681         (WebCore::SVGAnimatedRectAnimator::SVGAnimatedRectAnimator): Ditto.
2682         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
2683         (WebCore::SVGAnimatedRectAnimator::calculateDistance):
2684         * svg/SVGAnimatedRect.h:
2685         * svg/SVGAnimatedType.cpp: Added handling of Color values.
2686         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2687         (WebCore::SVGAnimatedType::createColor):
2688         (WebCore::SVGAnimatedType::color):
2689         (WebCore::SVGAnimatedType::valueAsString):
2690         (WebCore::SVGAnimatedType::setValueAsString):
2691         * svg/SVGAnimatedType.h:
2692         * svg/SVGAnimatedTypeAnimator.h:
2693         (WebCore::SVGAnimatedTypeAnimator::SVGAnimatedTypeAnimator):
2694         * svg/SVGAnimatorFactory.h:
2695         (WebCore::SVGAnimatorFactory::create):
2696
2697 2011-06-23  Yael Aharon  <yael.aharon@nokia.com>
2698
2699         Reviewed by Andreas Kling.
2700
2701         [Qt] [WK2] Add drag and drop support
2702         https://bugs.webkit.org/show_bug.cgi?id=62838
2703
2704         Add convenience methods to allow encoding/decoding of DragData.
2705         Move the call to dragEnded() to DragClient, to make WebKit1 and WebKit2 
2706         consistent.
2707
2708         * page/qt/DragControllerQt.cpp:
2709         (WebCore::DragController::cleanupAfterSystemDrag):
2710         * platform/DragData.h:
2711         (WebCore::DragData::flags):
2712         (WebCore::DragData::DragData):
2713         (WebCore::DragData::operator =):
2714
2715 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
2716
2717         Reviewed by Yury Semikhatsky.
2718
2719         Web Inspector: Show "no content" message in network panel when resource does not have content available.
2720         https://bugs.webkit.org/show_bug.cgi?id=63007
2721
2722         * English.lproj/localizedStrings.js:
2723         * WebCore.gypi:
2724         * WebCore.vcproj/WebCore.vcproj:
2725         * inspector/front-end/ApplicationCacheItemsView.js:
2726         (WebInspector.ApplicationCacheItemsView):
2727         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2728         * inspector/front-end/CookieItemsView.js:
2729         (WebInspector.CookieItemsView):
2730         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2731         * inspector/front-end/DatabaseTableView.js:
2732         (WebInspector.DatabaseTableView.prototype._queryFinished):
2733         * inspector/front-end/EmptyView.js: Added.
2734         (WebInspector.EmptyView):
2735         (WebInspector.EmptyView.prototype.show):
2736         (WebInspector.EmptyView.prototype.set text):
2737         * inspector/front-end/NetworkItemView.js:
2738         (WebInspector.NetworkItemView):
2739         (WebInspector.ResourceContentView):
2740         (WebInspector.ResourceContentView.prototype.hasContent):
2741         (WebInspector.ResourceContentView.prototype.get sourceView):
2742         (WebInspector.ResourceContentView.prototype.show):
2743         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown.callback):
2744         (WebInspector.ResourceContentView.prototype._ensureInnerViewShown):
2745         (WebInspector.ResourceContentView.prototype.contentLoaded):
2746         * inspector/front-end/ResourceCookiesView.js:
2747         (WebInspector.ResourceCookiesView.prototype.show):
2748         * inspector/front-end/ResourcePreviewView.js:
2749         (WebInspector.ResourcePreviewView):
2750         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
2751         (WebInspector.ResourcePreviewView.prototype._createInnerView):
2752         * inspector/front-end/ResourceResponseView.js: Added.
2753         (WebInspector.ResourceResponseView):
2754         (WebInspector.ResourceResponseView.prototype.get sourceView):
2755         (WebInspector.ResourceResponseView.prototype.contentLoaded):
2756         * inspector/front-end/ResourceTimingView.js:
2757         (WebInspector.ResourceTimingView.prototype.show):
2758         * inspector/front-end/ResourcesPanel.js:
2759         (WebInspector.StorageCategoryView):
2760         (WebInspector.StorageCategoryView.prototype.setText):
2761         * inspector/front-end/WebKit.qrc:
2762         * inspector/front-end/inspector.html:
2763
2764 2011-06-23  Balazs Kelemen  <kbalazs@webkit.org>
2765
2766         Reviewed by Adam Roben.
2767
2768         PluginView::dispatchNPEvent is deceptive
2769         https://bugs.webkit.org/show_bug.cgi?id=63243
2770
2771         Straighten the inverted logic of dispatchNPEvent
2772         and it's callers.
2773
2774         No change in behaviour so no new tests.
2775         Existing plugin tests cover this.
2776
2777         * plugins/gtk/PluginViewGtk.cpp:
2778         (WebCore::PluginView::dispatchNPEvent):
2779         (WebCore::PluginView::handleKeyboardEvent):
2780         (WebCore::PluginView::handleMouseEvent):
2781         * plugins/qt/PluginViewQt.cpp:
2782         (WebCore::PluginView::dispatchNPEvent):
2783         (WebCore::PluginView::handleKeyboardEvent):
2784         (WebCore::PluginView::handleMouseEvent):
2785         * plugins/symbian/PluginViewSymbian.cpp:
2786         (WebCore::PluginView::dispatchNPEvent):
2787         (WebCore::PluginView::handleKeyboardEvent):
2788         (WebCore::PluginView::handleMouseEvent):
2789         * plugins/win/PluginViewWin.cpp:
2790         (WebCore::PluginView::dispatchNPEvent):
2791         (WebCore::PluginView::handleKeyboardEvent):
2792         (WebCore::PluginView::handleMouseEvent):
2793
2794 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
2795
2796         Reviewed by Tony Gentilcore.
2797
2798         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
2799         https://bugs.webkit.org/show_bug.cgi?id=63122
2800
2801         Fixing broken makefile.
2802
2803         * GNUmakefile.list.am:
2804
2805 2011-06-23  Tommy Widenflycht  <tommyw@google.com>
2806
2807         Reviewed by Tony Gentilcore.
2808
2809         MediaStream API: Rename Stream, GeneratedStream and StreamRecorder to the latest spec
2810         https://bugs.webkit.org/show_bug.cgi?id=63122
2811
2812         No new tests since no code has actually changed.
2813
2814         * CMakeLists.txt:
2815         * CodeGenerators.pri:
2816         * DerivedSources.cpp:
2817         * DerivedSources.make:
2818         * GNUmakefile.list.am:
2819         * WebCore.gypi:
2820         * WebCore.pro:
2821         * WebCore.vcproj/WebCore.vcproj:
2822         * WebCore.xcodeproj/project.pbxproj:
2823         * bindings/js/JSEventTarget.cpp:
2824         (WebCore::toJS):
2825         * bindings/v8/V8DOMWrapper.cpp:
2826         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2827         * dom/DOMAllInOne.cpp:
2828         * dom/EventTarget.cpp:
2829         (WebCore::EventTarget::toMediaStream):
2830         (WebCore::EventTarget::toLocalMediaStream):
2831         * dom/EventTarget.h:
2832         * dom/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/GeneratedStream.cpp.
2833         (WebCore::LocalMediaStream::DispatchUpdateTask::create):
2834         (WebCore::LocalMediaStream::DispatchUpdateTask::performTask):
2835         (WebCore::LocalMediaStream::DispatchUpdateTask::DispatchUpdateTask):
2836         (WebCore::LocalMediaStream::create):
2837         (WebCore::LocalMediaStream::LocalMediaStream):
2838         (WebCore::LocalMediaStream::~LocalMediaStream):
2839         (WebCore::LocalMediaStream::toLocalMediaStream):
2840         (WebCore::LocalMediaStream::detachEmbedder):
2841         (WebCore::LocalMediaStream::streamEnded):
2842         (WebCore::LocalMediaStream::audioTracks):
2843         (WebCore::LocalMediaStream::videoTracks):
2844         (WebCore::LocalMediaStream::stop):
2845         (WebCore::LocalMediaStream::onStop):
2846         * dom/LocalMediaStream.h: Renamed from Source/WebCore/dom/GeneratedStream.h.
2847         * dom/LocalMediaStream.idl: Renamed from Source/WebCore/dom/GeneratedStream.idl.
2848         * dom/MediaStream.cpp: Renamed from Source/WebCore/dom/Stream.cpp.
2849         (WebCore::MediaStream::create):
2850         (WebCore::MediaStream::MediaStream):
2851         (WebCore::MediaStream::~MediaStream):
2852         (WebCore::MediaStream::toMediaStream):
2853         (WebCore::MediaStream::streamEnded):
2854         (WebCore::MediaStream::scriptExecutionContext):
2855         (WebCore::MediaStream::eventTargetData):
2856         (WebCore::MediaStream::ensureEventTargetData):
2857         * dom/MediaStream.h: Renamed from Source/WebCore/dom/Stream.h.
2858         (WebCore::MediaStream::readyState):
2859         (WebCore::MediaStream::label):
2860         (WebCore::MediaStream::refEventTarget):
2861         (WebCore::MediaStream::derefEventTarget):
2862         * dom/MediaStream.idl: Renamed from Source/WebCore/dom/Stream.idl.
2863         * dom/MediaStreamContainer.h: Renamed from Source/WebCore/dom/StreamContainer.h.
2864         (WebCore::MediaStreamContainer::create):
2865         (WebCore::MediaStreamContainer::~MediaStreamContainer):
2866         (WebCore::MediaStreamContainer::length):
2867         (WebCore::MediaStreamContainer::item):
2868         (WebCore::MediaStreamContainer::add):
2869         (WebCore::MediaStreamContainer::remove):
2870         (WebCore::MediaStreamContainer::contains):
2871         (WebCore::MediaStreamContainer::get):
2872         (WebCore::MediaStreamContainer::MediaStreamContainer):
2873         * dom/MediaStreamList.cpp: Renamed from Source/WebCore/dom/StreamList.cpp.
2874         (WebCore::MediaStreamList::create):
2875         (WebCore::MediaStreamList::MediaStreamList):
2876         (WebCore::MediaStreamList::~MediaStreamList):
2877         (WebCore::MediaStreamList::length):
2878         (WebCore::MediaStreamList::item):
2879         * dom/MediaStreamList.h: Renamed from Source/WebCore/dom/StreamList.h.
2880         * dom/MediaStreamList.idl: Renamed from Source/WebCore/dom/StreamList.idl.
2881         * dom/StreamEvent.cpp:
2882         (WebCore::StreamEvent::create):
2883         (WebCore::StreamEvent::StreamEvent):
2884         (WebCore::StreamEvent::initStreamEvent):
2885         (WebCore::StreamEvent::stream):
2886         * dom/StreamEvent.h:
2887         (WebCore::StreamEvent::isMediaStreamEvent):
2888         * dom/StreamEvent.idl:
2889         * page/MediaStreamFrameController.cpp:
2890         (WebCore::MediaStreamFrameController::unregister):
2891         (WebCore::MediaStreamFrameController::getStreamFromLabel):
2892         (WebCore::MediaStreamFrameController::stopGeneratedStream):
2893         (WebCore::MediaStreamFrameController::streamGenerated):
2894         (WebCore::MediaStreamFrameController::audioTrackFailed):
2895         (WebCore::MediaStreamFrameController::videoTrackFailed):
2896         * page/MediaStreamFrameController.h:
2897         (WebCore::MediaStreamFrameController::ClientBase::isMediaStream):
2898         (WebCore::MediaStreamFrameController::ClientBase::isLocalMediaStream):
2899         (WebCore::MediaStreamFrameController::MediaStreamClient::MediaStreamClient):
2900         (WebCore::MediaStreamFrameController::MediaStreamClient::~MediaStreamClient):
2901         (WebCore::MediaStreamFrameController::MediaStreamClient::isMediaStream):
2902         (WebCore::MediaStreamFrameController::MediaStreamClient::isLocalMediaStream):
2903         * page/NavigatorUserMediaSuccessCallback.h:
2904         * page/NavigatorUserMediaSuccessCallback.idl:
2905
2906 2011-06-23  Mikhail Naganov  <mnaganov@chromium.org>
2907
2908         Reviewed by Yury Semikhatsky.
2909
2910         Web Inspector: [Chromium] Fix showing dominator leaf nodes after r89457
2911         https://bugs.webkit.org/show_bug.cgi?id=63250
2912
2913         * inspector/front-end/DetailedHeapshotView.js:
2914         * inspector/front-end/HeapSnapshot.js:
2915         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.get isEmpty):
2916
2917 2011-06-23  Vsevolod Vlasov  <vsevik@chromium.org>
2918
2919         Reviewed by Yury Semikhatsky.
2920
2921         Web Inspector: HTML preview in network panel should take 100% of resource view height.
2922         https://bugs.webkit.org/show_bug.cgi?id=63167
2923
2924         * inspector/front-end/inspector.css:
2925         (.resource-view.html iframe):
2926
2927 2011-06-23  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
2928
2929         Reviewed by Pavel Feldman.
2930
2931         Inspector may close at the start of the next inspector test in DRT
2932         https://bugs.webkit.org/show_bug.cgi?id=60881
2933
2934         Add a new function to the inspector, which tests whether the
2935         dispatch queue is empty.
2936
2937         * inspector/front-end/inspector.js:
2938         (WebInspector.dispatchQueueIsEmpty):
2939
2940 2011-06-23  Jeffrey Pfau  <jpfau@apple.com>
2941
2942         Reviewed by Nikolas Zimmermann.
2943
2944         Incorrectly placed SVG gradients can cause crashes when referenced
2945         https://bugs.webkit.org/show_bug.cgi?id=62914
2946
2947         Added a check for gradient rendering contexts. If the contexts can't be found, the gradient must be in an invalid location, so we use the fallback color instead.
2948
2949         Tests: svg/custom/invalid-gradient-with-xlink.svg
2950                svg/custom/xlink-to-invalid-gradient.svg
2951
2952         * rendering/svg/RenderSVGResourceGradient.cpp:
2953         (WebCore::RenderSVGResourceGradient::applyResource):
2954         * rendering/svg/RenderSVGResourceGradient.h:
2955         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2956         (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes):
2957         * rendering/svg/RenderSVGResourceLinearGradient.h:
2958         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2959         (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes):
2960         * rendering/svg/RenderSVGResourceRadialGradient.h:
2961         * svg/SVGLinearGradientElement.cpp:
2962         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2963         * svg/SVGLinearGradientElement.h:
2964         * svg/SVGRadialGradientElement.cpp:
2965         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2966         * svg/SVGRadialGradientElement.h:
2967
2968 2011-06-23  Dmitriy Vyukov  <dvyukov@google.com>
2969
2970         Reviewed by David Levin.
2971
2972         Fix incorrect usage of a condition variable.
2973         https://bugs.webkit.org/show_bug.cgi?id=63127
2974
2975         No new tests. This does not affect existing
2976         functionality.
2977
2978         * storage/DatabaseTask.cpp:
2979         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
2980
2981 2011-06-23  David Grogan  <dgrogan@chromium.org>
2982
2983         Reviewed by Eric Seidel.
2984
2985         IndexedDB: add detail to an ASSERT error message
2986         https://bugs.webkit.org/show_bug.cgi?id=60407
2987
2988         No new tests, this is just a debug ASSERT.
2989
2990         * storage/IDBRequest.cpp:
2991         (WebCore::IDBRequest::dispatchEvent):
2992
2993 2011-06-22  Dirk Schulze  <krit@webkit.org>
2994
2995         Reviewed by Rob Buis.
2996
2997         Convert SVGPointList to SVGAnimatorFactory concept
2998         https://bugs.webkit.org/show_bug.cgi?id=63171
2999
3000         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
3001         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGPointList.
3002
3003         Added support for from-by animations of SVGPointLists.
3004
3005         Tests: svg/animations/svgpointlist-animation-1.html
3006                svg/animations/svgpointlist-animation-2.html
3007
3008         * CMakeLists.txt: Added new files to build system.
3009         * GNUmakefile.list.am: Ditto.
3010         * WebCore.gypi: Ditto.
3011         * WebCore.pro: Ditto.
3012         * WebCore.vcproj/WebCore.vcproj: Ditto.
3013         * WebCore.xcodeproj/project.pbxproj: Ditto.
3014         * svg/SVGAllInOne.cpp: Added SVGAnimatedPointList.cpp
3015         * svg/SVGAnimateElement.cpp:
3016         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3017         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3018         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3019         (WebCore::SVGAnimateElement::resetToBaseValue):
3020         (WebCore::SVGAnimateElement::applyResultsToTarget):
3021         (WebCore::SVGAnimateElement::calculateDistance):
3022         * svg/SVGAnimateElement.h:
3023         * svg/SVGAnimatedPointList.cpp: Added.
3024         (WebCore::SVGAnimatedPointListAnimator::SVGAnimatedPointListAnimator):
3025         (WebCore::SVGAnimatedPointListAnimator::constructFromString):
3026         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndToValues):
3027         (WebCore::SVGAnimatedPointListAnimator::calculateFromAndByValues):
3028         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
3029         (WebCore::SVGAnimatedPointListAnimator::calculateDistance):
3030         * svg/SVGAnimatedPointList.h: Added.
3031         (WebCore::SVGAnimatedPointListAnimator::~SVGAnimatedPointListAnimator):
3032         * svg/SVGAnimatedType.cpp:
3033         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3034         (WebCore::SVGAnimatedType::createPointList):
3035         (WebCore::SVGAnimatedType::pointList):
3036         (WebCore::SVGAnimatedType::valueAsString):
3037         (WebCore::SVGAnimatedType::setValueAsString):
3038         * svg/SVGAnimatedType.h:
3039         * svg/SVGAnimatorFactory.h:
3040         (WebCore::SVGAnimatorFactory::create):
3041
3042 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
3043
3044         Reviewed by Kent Tamura.
3045
3046         Move file-choosing and icon-loading management to FileInputType
3047         https://bugs.webkit.org/show_bug.cgi?id=62069
3048
3049         1) Moved the duties of FileChooserClient and FileIconLoaderClient from
3050         RenderFileUploadControl to FileInputType, along with all of the
3051         supporting functions.
3052
3053         2) Moved Icon ownership to FileInputType and exposed accessor on
3054         HTMInputElement to allow RenderFileUploadControl to query current icon.
3055
3056         As a result, RenderFileUploadControl is now completely stateless, which is
3057         neat and clean.
3058
3059         Refactoring, covered by existing tests.
3060
3061         * html/FileInputType.cpp:
3062         (WebCore::FileInputType::handleDOMActivateEvent): Moved logic here from RenderFileUploadControl.
3063         (WebCore::FileInputType::requestIcon): Ditto.
3064         (WebCore::FileInputType::filesChosen): Ditto.
3065         (WebCore::FileInputType::receiveDropForDirectoryUpload): Ditto.
3066         (WebCore::FileInputType::updateRendering): Ditto.
3067         (WebCore::FileInputType::chrome): Ditto.
3068         (WebCore::FileInputType::receiveDroppedFiles): Ditto.
3069         (WebCore::FileInputType::icon): Added.
3070         * html/FileInputType.h:
3071         * html/HTMLInputElement.cpp:
3072         (WebCore::HTMLInputElement::setValueFromRenderer): Updated comment.
3073         (WebCore::HTMLInputElement::receiveDroppedFiles): Added to replace setFileListFromRenderer.
3074         (WebCore::HTMLInputElement::icon): Added.
3075         * html/HTMLInputElement.h:
3076         * html/InputType.cpp:
3077         (WebCore::InputType::receiveDroppedFiles): Added.
3078         (WebCore::InputType::icon): Added.
3079         * html/InputType.h:
3080         * page/DragController.cpp:
3081         (WebCore::DragController::concludeEditDrag): Changed to use HTMLInputElement. Ahh, nice and clean!
3082         * rendering/RenderFileUploadControl.cpp:
3083         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed code that is no longer necessary.
3084         (WebCore::RenderFileUploadControl::updateFromElement): Ditto.
3085         (WebCore::RenderFileUploadControl::maxFilenameWidth): Changed to use HTMLInputElement icon accessor.
3086         (WebCore::RenderFileUploadControl::paintObject): Ditto.
3087         * rendering/RenderFileUploadControl.h:
3088
3089 2011-06-22  Pratik Solanki  <psolanki@apple.com>
3090
3091         Reviewed by Darin Adler.
3092
3093         Add NSError wrapper functions in ResourceError when USE(CFNETWORK) is enabled
3094         https://bugs.webkit.org/show_bug.cgi?id=63155
3095
3096         Add wrapper functions to ResourceError when building with USE(CFNETWORK). We need to create
3097         a new NSError in ResourceError::nsError() since Safari has category methods on NSError and
3098         passing a CFErrorRef back does not work even though CFErrorRef/NSErrror are toll-free
3099         bridged.
3100
3101         No tests because no change in functionality.
3102
3103         * WebCore.exp.in:
3104         * platform/network/cf/ResourceError.h:
3105         * platform/network/mac/ResourceErrorMac.mm:
3106         (WebCore::ResourceError::ResourceError):
3107         (WebCore::ResourceError::nsError):
3108         (WebCore::ResourceError::operator NSError *):
3109
3110 2011-06-22  Dominic Cooney  <dominicc@chromium.org>
3111
3112         Reviewed by Mark Rowe.
3113
3114         Add window.internals to WebKit2's WebKitTestRunner.
3115         https://bugs.webkit.org/show_bug.cgi?id=61073
3116
3117         * Configurations/WebCoreTestSupport.xcconfig:
3118         * WebCore.xcodeproj/project.pbxproj:
3119
3120 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
3121
3122         Reviewed by Kent Tamura.
3123
3124         Convert FileIconLoaderClient to "smart client" pattern, just like FileChooserClient.
3125         https://bugs.webkit.org/show_bug.cgi?id=63224
3126
3127         Refactoring, covered by existing tests.
3128
3129         * platform/FileIconLoader.cpp:
3130         (WebCore::FileIconLoaderClient::~FileIconLoaderClient): Changed to discard loader.
3131         (WebCore::FileIconLoaderClient::newFileIconLoader): Added.
3132         (WebCore::FileIconLoaderClient::discardLoader): Added.
3133         * platform/FileIconLoader.h: Updated defs.
3134         * rendering/RenderFileUploadControl.cpp:
3135         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Removed initialization of icon loader.
3136         (WebCore::RenderFileUploadControl::~RenderFileUploadControl): Remove discarding of loader.
3137         (WebCore::RenderFileUploadControl::requestIcon): Changed to use newFileIconLoader.
3138         * rendering/RenderFileUploadControl.h: Updated defs.
3139
3140 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
3141
3142         Another unreviewed build fix after r89472.
3143
3144         No new tests, just a build fix.
3145
3146         * rendering/svg/SVGResources.cpp:
3147
3148 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
3149
3150         Unreviewed build fix after r89472.
3151
3152         No new tests, just a build fix.
3153
3154         * rendering/InlineBox.cpp:
3155         * rendering/RenderCounter.cpp:
3156
3157 2011-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
3158
3159         Reviewed by Kent Tamura.
3160
3161         Add a helper function to FileList to retrieve a list of filenames.
3162         https://bugs.webkit.org/show_bug.cgi?id=63222
3163
3164         Refactoring, covered by existing tests.
3165
3166         * fileapi/FileList.cpp:
3167         (WebCore::FileList::filenames): Added.
3168         * fileapi/FileList.h:
3169         * rendering/RenderFileUploadControl.cpp:
3170         (WebCore::RenderFileUploadControl::RenderFileUploadControl): Changed to use newly added helper.
3171         (WebCore::RenderFileUploadControl::click): Ditto.
3172         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
3173
3174 2011-06-22  Sam Weinig  <sam@webkit.org>
3175
3176         Reviewed by Adam Barth.
3177
3178         Lower HTML parser DOM depth limit to 2048
3179         https://bugs.webkit.org/show_bug.cgi?id=63219
3180
3181         Lower the default depth limit from 4096 to 2048. There isn't a good
3182         reason to have such pathologically nested content, and by-and-large,
3183         the rendering code is not setup to support it that well. Adding this
3184         aggressive limit now will allow us to see if anything breaks in the
3185         nightlies.
3186
3187         * page/Settings.h:
3188
3189 2011-06-22  Julien Chaffraix  <jchaffraix@webkit.org>
3190
3191         Reviewed by Dimitri Glazkov.
3192
3193         Tighten type usage in the Shadow tree code
3194         https://bugs.webkit.org/show_bug.cgi?id=63210
3195
3196         Refactoring only, no new test required.
3197
3198         * dom/Document.cpp:
3199         (WebCore::Document::buildAccessKeyMap):
3200         * dom/Document.h:
3201         Changed the argument of buildAccessKeyMap to TreeScope.
3202
3203         * dom/Element.cpp:
3204         (WebCore::Element::attach):
3205         (WebCore::Element::removeShadowRoot):
3206         * html/ColorInputType.cpp:
3207         (WebCore::ColorInputType::shadowColorSwatch):
3208         * html/HTMLKeygenElement.cpp:
3209         (WebCore::HTMLKeygenElement::shadowSelect):
3210         * html/shadow/SliderThumbElement.cpp:
3211         (WebCore::sliderThumbElementOf):
3212         Use ShadowRoot for the previous call sites as this is what is
3213         returned by shadowRoot().
3214
3215         * dom/Node.cpp:
3216         (WebCore::traverseTreeAndMark): Renamed the parameter here as it is not
3217         expected to be a shadow object. Just the rootNode of our traversal.
3218
3219         * dom/ShadowRoot.h: Made attach() public as it is public in ContainerNode
3220         and we would do some casting to avoid the private attribute in ShadowRoot.
3221
3222 2011-06-22  Joseph Pecoraro  <joepeck@webkit.org>
3223
3224         Reviewed by Darin Adler.
3225
3226         Remove comment about pages with frames not being page-cachable
3227         https://bugs.webkit.org/show_bug.cgi?id=63207
3228
3229         This comment was out of date. Caching pages with Frames in
3230         the PageCache has worked since 2009:
3231         <http://webkit.org/b/13631> Page Cache should support pages with frames
3232
3233         * history/PageCache.cpp:
3234         (WebCore::PageCache::canCache):
3235
3236 2011-06-22  Yael Aharon  <yael.aharon@nokia.com>
3237
3238         Reviewed by Andreas Kling.
3239
3240         [Qt] Add a build flag for building with libxml2 and libxslt.
3241         https://bugs.webkit.org/show_bug.cgi?id=63113
3242
3243         No new tests. If this new flag was set by default, we could unskip
3244         existing xmlviewer tests.
3245
3246         * CodeGenerators.pri:
3247         * WebCore.pri:
3248         * WebCore.pro:
3249         * features.pri:
3250
3251 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
3252
3253         Yet another build fix after r89472.
3254
3255         * html/parser/HTMLFormattingElementList.cpp:
3256
3257 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
3258
3259         Another build fix after r89472.
3260
3261         * dom/DocumentMarkerController.cpp:
3262
3263 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
3264
3265         Build fix after r89472.
3266
3267         * css/CSSStyleDeclaration.cpp:
3268
3269 2011-06-22  Mark Pilgrim  <pilgrim@chromium.org>
3270
3271         Reviewed by Adam Barth.
3272
3273         IndexedDB open (database) should NOT throw if name is null
3274         https://bugs.webkit.org/show_bug.cgi?id=63110
3275
3276         * storage/IDBFactory.idl: remove ConvertNullToNullString flag on
3277         name argument, let IDL code generator stringify null value to "null"
3278
3279 2011-06-22  Ryosuke Niwa  <rniwa@webkit.org>
3280
3281         Reviewed by Darin Adler.
3282
3283         Add a Position constructor that takes (Text*, unsigned offset)
3284         https://bugs.webkit.org/show_bug.cgi?id=63181
3285
3286         Added Position::Position(PassRefPtr<Text*>, unsigned offset) and deployed in a couple of places
3287         by replacing the calls to the old constructor.
3288
3289         * dom/Position.cpp:
3290         (WebCore::Position::Position): Added.
3291         * dom/Position.h:
3292         * editing/CompositeEditCommand.cpp:
3293         (WebCore::CompositeEditCommand::replaceSelectedTextInNode): Calls new constructor; extracted
3294         from InsertTextCommand::performTrivialReplace and ReplaceSelectionCommand::performTrivialReplace.
3295         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Calls new constructor
3296         * editing/CompositeEditCommand.h:
3297         * editing/InsertTextCommand.cpp:
3298         (WebCore::InsertTextCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
3299         (WebCore::InsertTextCommand::input): Calls new constructor.
3300         (WebCore::InsertTextCommand::insertTab): Use RefPtr instead of a raw pointer.
3301         * editing/ReplaceSelectionCommand.cpp:
3302         (WebCore::ReplaceSelectionCommand::performTrivialReplace): Calls replaceSelectedTextInNode.
3303         * editing/visible_units.cpp:
3304         (WebCore::startPositionForLine): Calls new constructor.
3305         * rendering/RenderTextControl.cpp:
3306         (WebCore::RenderTextControl::visiblePositionForIndex): Calls new constructor; calls endPosition
3307         on Range instead of avoid manually constructing a VisiblePosition out of endContainer and endOffset.
3308
3309 2011-06-22  Adam Barth  <abarth@webkit.org>
3310
3311         Reviewed by Darin Fisher.
3312
3313         [Chromium] Add WebDocument APIs for the functions moving from WebFrame
3314         https://bugs.webkit.org/show_bug.cgi?id=62831
3315
3316         * dom/Document.cpp:
3317         (WebCore::Document::openSearchDescriptionURL):
3318             - This function exists to service a Chromium WebKit API, but it's
3319               generally purpose and might be useful to other ports.  The
3320               algorithm has some strange early exits, which I've marked with
3321               FIXME comments.
3322         * dom/Document.h:
3323
3324 2011-06-22  Nate Chapin  <japhet@chromium.org>
3325
3326         Reviewed by Adam Barth.
3327
3328         Don't let all subresources keep isLoadingInAPISense() from
3329         returning false, only requests that affect
3330         CachedResourceRequest::requestCount().
3331
3332         Also, add a callback to Internals to determine whether
3333         a resource has been preloaded.
3334
3335         https://bugs.webkit.org/show_bug.cgi?id=62066
3336
3337         * WebCore.exp.in:
3338         * dom/Document.cpp: Add m_loadEventFinished.
3339         * dom/Document.h:
3340         * loader/DocumentLoader.cpp:
3341         (WebCore::DocumentLoader::isLoadingInAPISense):
3342         * loader/cache/CachedResourceLoader.cpp:
3343         (WebCore::CachedResourceLoader::isPreloaded):
3344         * loader/cache/CachedResourceLoader.h:
3345         * testing/Internals.cpp:
3346         (WebCore::Internals::isPreloaded):
3347         * testing/Internals.h:
3348         * testing/Internals.idl:
3349
3350 2011-06-22  Chris Rogers  <crogers@google.com>
3351
3352         Reviewed by David Levin.
3353
3354         Use create() method for AsyncAudioDecoder::DecodingTask
3355         https://bugs.webkit.org/show_bug.cgi?id=63198
3356
3357         No new tests.  This doesn't change any JS API.
3358
3359         * webaudio/AsyncAudioDecoder.cpp:
3360         (WebCore::AsyncAudioDecoder::decodeAsync):
3361         (WebCore::AsyncAudioDecoder::DecodingTask::create):
3362         * webaudio/AsyncAudioDecoder.h:
3363
3364 2011-06-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3365
3366         Unreviewed, rolling out r89489.
3367         http://trac.webkit.org/changeset/89489
3368         https://bugs.webkit.org/show_bug.cgi?id=63203
3369
3370         Broke chromium mac build on build.webkit.org (Requested by
3371         abarth on #webkit).
3372
3373         * WebCore.gyp/WebCore.gyp:
3374         * loader/cache/CachedFont.cpp:
3375         * platform/chromium/DragImageRef.h:
3376         * platform/graphics/FloatPoint.h:
3377         * platform/graphics/FloatRect.h:
3378         * platform/graphics/FloatSize.h:
3379         * platform/graphics/FontPlatformData.h:
3380         (WebCore::FontPlatformData::hash):
3381         * platform/graphics/GlyphBuffer.h:
3382         (WebCore::GlyphBuffer::advanceAt):
3383         (WebCore::GlyphBuffer::add):
3384         (WebCore::GlyphBuffer::expandLastAdvance):
3385         * platform/graphics/IntPoint.h:
3386         * platform/graphics/IntRect.h:
3387         * platform/graphics/IntSize.h:
3388         * platform/graphics/SimpleFontData.h:
3389         * platform/graphics/cg/FloatPointCG.cpp:
3390         * platform/graphics/cg/FloatRectCG.cpp:
3391         * platform/graphics/cg/FloatSizeCG.cpp:
3392         * platform/graphics/cg/IntPointCG.cpp:
3393         * platform/graphics/cg/IntRectCG.cpp:
3394         * platform/graphics/cg/IntSizeCG.cpp:
3395         * platform/graphics/mac/FontCustomPlatformData.cpp:
3396         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
3397         (WebCore::createFontCustomPlatformData):
3398         * platform/graphics/mac/FontCustomPlatformData.h:
3399         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
3400
3401 2011-06-22  Luke Macpherson   <macpherson@chromium.org>
3402
3403         Reviewed by James Robinson.
3404
3405         Remove comment that snuck in via copy & paste.
3406         https://bugs.webkit.org/show_bug.cgi?id=63177
3407
3408         No new tests / no code changes.
3409
3410         * css/CSSPrimitiveValueMappings.h:
3411         (WebCore::CSSPrimitiveValue::operator short):
3412         Removed incorrect comment.
3413
3414 2011-06-22  Annie Sullivan  <sullivan@chromium.org>
3415
3416         Reviewed by Ryosuke Niwa.
3417
3418         REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
3419         https://bugs.webkit.org/show_bug.cgi?id=61594
3420
3421         When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
3422