2011-05-14 Abhishek Arya <inferno@chromium.org>
[webkit:qtwebkit.git] / Source / WebCore / ChangeLog
1 2011-05-14  Abhishek Arya  <inferno@chromium.org>
2
3         Reviewed by Dan Bernstein.
4
5         As per spec, only allow one font family name in a font face rule.
6         Other things like initial value, inherited value or multiple names
7         are discarded.
8         https://bugs.webkit.org/show_bug.cgi?id=60837
9
10         Test: fast/css/invalid-font-family-in-font-face-crash.html
11
12         * css/CSSParser.cpp:
13         (WebCore::CSSParser::createFontFaceRule):
14
15 2011-05-18  Abhishek Arya  <inferno@chromium.org>
16
17         Reviewed by Dirk Schulze.
18
19         When SMIL element is getting removed, make sure to remove it
20         from target's animation elements list.
21         https://bugs.webkit.org/show_bug.cgi?id=60980
22
23         Test: svg/animations/smil-element-not-removed-crash.html
24
25         * svg/animation/SVGSMILElement.cpp:
26         (WebCore::SVGSMILElement::~SVGSMILElement):
27
28 2011-05-23  James Simonsen  <simonjam@chromium.org>
29
30         Reviewed by Adam Barth.
31
32         Convert raw pointer to RefPtr.
33         https://bugs.webkit.org/show_bug.cgi?id=61196
34
35         * dom/XMLDocumentParserLibxml2.cpp:
36         (WebCore::XMLDocumentParser::endElementNs):
37         * dom/XMLDocumentParserQt.cpp:
38         (WebCore::XMLDocumentParser::parseEndElement):
39
40 2011-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
41
42         Unreviewed, rolling out r87007.
43         http://trac.webkit.org/changeset/87007
44         https://bugs.webkit.org/show_bug.cgi?id=61329
45
46         patch unnecessarily breaks HTML5 compatibility (Requested by
47         estes on #webkit).
48
49         * html/HTMLObjectElement.cpp:
50         (WebCore::HTMLObjectElement::hasValidClassId):
51
52 2011-05-23  Julien Chaffraix  <jchaffraix@codeaurora.org>
53
54         Reviewed by Darin Adler.
55
56         Crash from null pointer dereference below WebCore::StorageAreaImpl::setItem()
57         https://bugs.webkit.org/show_bug.cgi?id=57140
58
59         Test: fast/storage/storage-detached-iframe.html
60
61         Access of localStorage on a detached iframe was causing a crash because a detached 
62         iframe has a null m_page, and WebCore::privateBrowsingEnabled() wasn't testing for such.
63
64         * storage/StorageAreaImpl.cpp:
65         (WebCore::privateBrowsingEnabled): check that child->page() is non-null before
66         accessing it.
67
68 2011-05-20  Ryosuke Niwa  <rniwa@webkit.org>
69
70         Reviewed by Enrica Casucci.
71
72         REGRESSION(r84311): WebKit copies too much styles when copying
73         https://bugs.webkit.org/show_bug.cgi?id=60914
74
75         The bug was caused by WebKit's cloning node hierarchy up until the node that has background color.
76         Fixed the bug by not cloning background color and adding the effective background color to the wrapping
77         style span.
78
79         Tests: editing/pasteboard/do-no-clone-unnecessary-styles-2.html
80                editing/pasteboard/do-no-clone-unnecessary-styles.html
81
82         * editing/EditingStyle.cpp:
83         (WebCore::cssValueToRGBA): Extracted from getRGBAFontColor.
84         (WebCore::getRGBAFontColor): Moved.
85         (WebCore::rgbaBackgroundColorInEffect): Added.
86         (WebCore::EditingStyle::init): Added support for InheritablePropertiesAndBackgroundColorInEffect.
87         (WebCore::EditingStyle::prepareToApplyAt): Include the effective background color at the given position.
88         Also remove the background color property when the effective background color is equal to the background
89         color property (in terms of RGBA value) of the editing style.
90         (WebCore::hasTransparentBackgroundColor): Moved from Editor class.
91         (WebCore::backgroundColorInEffect): Extracted from Editor::selectionStartCSSPropertyValue.
92         * editing/EditingStyle.h: Added prototypes for hasTransparentBackgroundColor and backgroundColorInEffect.
93         * editing/Editor.cpp:
94         (WebCore::Editor::selectionStartCSSPropertyValue): Calls backgroundColorInEffect.
95         * editing/Editor.h: Removed hasTransparentBackgroundColor.
96         * editing/markup.cpp:
97         (WebCore::isElementPresentational): Reverted r85090 and r84311.
98         (WebCore::createMarkup): Include the background color in effect when computing the editing style.
99
100 2011-05-20  Ryosuke Niwa  <rniwa@webkit.org>
101
102         Reviewed by Enrica Casucci.
103
104         Wrap copied contents by one style span instead of two
105         https://bugs.webkit.org/show_bug.cgi?id=60988
106
107         Replaced sourceDocumentStyleSpan and copiedRangeStyleSpan by one wrapping style span. Instead
108         of wrapping the copied contents by user-applied style and document default style in serialization,
109         take the difference with the document default's style in paste code.
110
111         This will dramatically simplify our copy and paste code and pave a way to fix the bug 60914.
112
113         No new tests because copy & paste is tested by existing layout tests.
114
115         * editing/EditingStyle.cpp:
116         (WebCore::EditingStyle::prepareToApplyAt): Remove the color property if RGBA values of color
117         matches that of the computed style at the specified position.
118         * editing/ReplaceSelectionCommand.cpp:
119         (WebCore::ReplaceSelectionCommand::handleStyleSpans): Replaced sourceDocumentStyleSpan and
120         copiedRangeStyleSpan by wrappingStyleSpan. When pasting as a quotation, compare style against
121         the document's default style to avoid keeping the document default style (tested by
122         editing/pasteboard/4930986-3.html).
123         * editing/ReplaceSelectionCommand.h:
124         * editing/markup.cpp:
125         (WebCore::createMarkup): Only use one style span to wrap the serialized contents.
126
127 2011-05-23  Abhishek Arya  <inferno@chromium.org>
128
129         Reviewed by Simon Fraser.
130
131         Terminate css color parsing on integers which are not followed
132         by a terminator.
133         https://bugs.webkit.org/show_bug.cgi?id=61293
134
135         Test: fast/css/parse-color-int-or-percent-crash.html
136
137         * css/CSSParser.cpp:
138         (WebCore::parseColorIntOrPercentage):
139
140 2011-05-21  Dirk Schulze  <krit@webkit.org>
141
142         Reviewed by Darin Adler.
143
144         REGRESSION(r66731): pointer-events are broken in some cases
145         https://bugs.webkit.org/show_bug.cgi?id=45467
146
147         The SVGSVGElement shouldn't be the target of a mouse event, if its pointer-events attribute is set
148         to 'none'. This matches the behavior on Firefox where an embedded SVG element is the target of an event,
149         if none of its childs caught the event. This is the case for all pointer-events other than 'none'.
150
151         Tests: svg/custom/pointer-events-on-svg-with-pointer.xhtml
152                svg/custom/pointer-events-on-svg-without-pointer.xhtml
153
154         * rendering/svg/RenderSVGRoot.cpp:
155         (WebCore::RenderSVGRoot::nodeAtPoint):
156
157 2011-05-21  Dan Bernstein  <mitz@apple.com>
158
159         Reviewed by Darin Adler.
160
161         <rdar://problem/9479926> REGRESSION (r82144): Icon overlaps text in Twitter message dialog
162         https://bugs.webkit.org/show_bug.cgi?id=61241
163
164         Test: fast/block/positioning/start-ignoring-before.html
165
166         * rendering/RenderBlockLineLayout.cpp:
167         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Added a boolean parameter saying
168         whether to merge the first trailing space with the line break.
169         (WebCore::RenderBlock::LineBreaker::nextLineBreak): When adding a midpoint behind the current
170         character, account for trailing positioned objects that occurred after the midpoint by calling
171         updateMidpointsForTrailingBoxes(), which adds midpoints for them.
172
173 2011-05-20  Andy Estes  <aestes@apple.com>
174
175         Reviewed by Darin Adler.
176
177         REGRESSION (r70748): WebKit cannot play videos created by Podcast Producer.
178         https://bugs.webkit.org/show_bug.cgi?id=61229
179         
180         Podcast Producer uses an object tag with a classid attribute to embed
181         QuickTime Player into a page. In r70748, we changed our behavior to
182         render the object's fallback content when a non-empty classid is
183         encountered, per HTML5. Since Podcast Producer videos have no fallback
184         content, this change in behavior causes the video to fail to load.
185         
186         Since the object tag has a valid type attribute, we would be able to
187         load it if weren't for the non-empty classid. This patch changes our
188         policy to allow objects with non-empty classids if there is no fallback
189         content. We still continue to prefer fallback content if it exists,
190         however.
191
192         * html/HTMLObjectElement.cpp:
193         (WebCore::HTMLObjectElement::hasValidClassId): Treat a non-empty
194         classid as valid if the object has no fallback content.
195
196 2011-05-20  Dirk Schulze  <krit@webkit.org>
197
198         Reviewed by Eric Seidel.
199
200         SVG Large curve path segment OOM crash
201         https://bugs.webkit.org/show_bug.cgi?id=42079
202
203         Limit the depth of repeatedly splitting a segment on length calculation to 20. The limitation
204         is necessary for very big segments that would be splitter into millions of parts otherwise.
205         The limitation just cause a less accurate approximation.
206         At the moment the limit is fixed to 20. This is comparable with splitting the segment into 
207         ~1 million parts as a worst case. We might want to be more flexible later.
208
209         Test: svg/custom/path-getTotalLength-on-big-segment-crash.svg
210
211         * platform/graphics/PathTraversalState.cpp:
212         (WebCore::midPoint):
213         (WebCore::curveLength):
214         (WebCore::PathTraversalState::PathTraversalState):
215         (WebCore::PathTraversalState::moveTo):
216         (WebCore::PathTraversalState::quadraticBezierTo):
217         (WebCore::PathTraversalState::cubicBezierTo):
218         * platform/graphics/PathTraversalState.h:
219
220 2011-05-19  Andrew Wilson  <atwilson@chromium.org>
221
222         Reviewed by Darin Adler.
223
224         MessagePortArray cloning code needs to verify source before copying.
225         https://bugs.webkit.org/show_bug.cgi?id=61130
226
227         * bindings/js/JSMessagePortCustom.cpp:
228         (WebCore::fillMessagePortArray):
229         Changed code to not pre-allocate the destination array.
230         * bindings/v8/custom/V8MessagePortCustom.cpp:
231         (WebCore::getMessagePortArray):
232         Changed code to not pre-allocate the destination array.
233
234 2011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
235
236         Reviewed by Darin Adler.
237
238         Fix two warnings of unused variables.
239         https://bugs.webkit.org/show_bug.cgi?id=60370
240
241         Remove two unused local variable from the code.
242
243         No new tests, the existing ones should cover.
244
245         * rendering/RenderFlexibleBox.cpp:
246         (WebCore::RenderFlexibleBox::layoutVerticalBox):
247         * svg/animation/SVGSMILElement.cpp:
248         (WebCore::SVGSMILElement::calculateNextProgressTime):
249
250 2011-05-18  Alexis Menard  <alexis.menard@openbossa.org>, Simon Hausmann  <simon.hausmann@nokia.com>
251
252         Reviewed by Eric Carlson.
253
254         MediaElements fails to load the data in some cases.
255         https://bugs.webkit.org/show_bug.cgi?id=60760
256
257         WebKitWebSourceGStreamer is the interface between WebKit and GStreamer
258         that uses the ResourceHandle API to request data and pass it down. For
259         our builds it is absolutely essential that we have a NetworkingContext
260         available there, in order to get access to the QNetworkAccessManager.
261         No access means we basically cannot load the video. The WebSource gains
262         access to the NetworkingContext through a WebCore::Frame pointer it has.
263
264         MediaPlayerPrivateGStreamer is responsible for propagating a pointer of
265         the WebCore::Frame to the WebKitWebSource in
266         mediaPlayerPrivateSourceChangedCallback. In there we used the MediaPlayer's
267         frameView() accessor to access the frame. However the frameView() member
268         is only set through the render tree's RenderVideo, which is rather unreliable
269         given that some sites create "fake" video tags initially that only become
270         visible later (or never).
271
272         A more reliable way is to simply use the document of the MediaPlayerClient,
273         which is provided at constructor time.
274
275         Test: http/tests/media/media-can-load-when-hidden.html
276
277         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
278         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
279
280 2011-05-19  Andrew Wason  <rectalogic@rectalogic.com>
281
282         Reviewed by Darin Adler.
283
284         Fix GraphicsContext3DQt.cpp compile error
285         https://bugs.webkit.org/show_bug.cgi?id=61128
286
287         * platform/graphics/qt/GraphicsContext3DQt.cpp:
288         (WebCore::GraphicsContext3D::GraphicsContext3D):
289          clear() m_internal OwnPtr.
290
291 2011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
292
293         Reviewed by Darin Adler.
294
295         REGRESSION (r83322): Many crashes in Mail.app in WebCore::Node::nodeIndex
296         https://bugs.webkit.org/show_bug.cgi?id=61012
297
298         The crash was caused by ReplaceSelectionCommand's inserting content into a middle of the paragraph
299         being moved when the insertion position's container node is the node to split to. Fixed the crash
300         by not changing the insertion position in such a case.
301
302         Unfortunately, this fix caused markup to bloat in some tests but we'll take this regression since
303         it's much better than crashing.
304
305         Test: editing/pasteboard/paste-after-inline-style-element.html
306
307         * editing/ReplaceSelectionCommand.cpp:
308         (WebCore::ReplaceSelectionCommand::doApply):
309
310 2011-05-19  Emil A Eklund  <eae@chromium.org>
311
312         Reviewed by Alexey Proskuryakov.
313
314         REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones
315         https://bugs.webkit.org/show_bug.cgi?id=60986
316
317         * html/HTMLSelectElement.cpp:
318         (WebCore::HTMLSelectElement::setMultiple):
319         Don't restore selection if the multiple attribute hasn't changed.
320
321 2011-05-18  Yi Shen  <yi.4.shen@nokia.com>
322
323         Reviewed by Andreas Kling.
324
325         [Qt] Enterkey to go to Newline does not work in the text area(in HTML form)
326         https://bugs.webkit.org/show_bug.cgi?id=33179
327
328         Fill the missing key text for the EnterKey event.
329
330         Tests: fast/events/onsearch-enter.html
331
332         * platform/qt/PlatformKeyboardEventQt.cpp:
333         (WebCore::keyTextForKeyEvent):
334
335 2011-05-18  Oliver Hunt  <oliver@apple.com>
336
337         Reviewed by Sam Weinig.
338
339         JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
340         https://bugs.webkit.org/show_bug.cgi?id=61090
341
342         Rather than having Constructor objects create their structure
343         as part of initialisation, we now pass their expected structure
344         in as an argument.  This required fixing the few custom Constructors
345         and the code generator.
346
347         * bindings/js/JSAudioConstructor.cpp:
348         (WebCore::JSAudioConstructor::JSAudioConstructor):
349         * bindings/js/JSAudioConstructor.h:
350         * bindings/js/JSDOMGlobalObject.h:
351         (WebCore::getDOMConstructor):
352           Pass the Constructor objects structure in as an argument
353         * bindings/js/JSImageConstructor.cpp:
354         (WebCore::JSImageConstructor::JSImageConstructor):
355         * bindings/js/JSImageConstructor.h:
356         * bindings/js/JSOptionConstructor.cpp:
357         (WebCore::JSOptionConstructor::JSOptionConstructor):
358         * bindings/js/JSOptionConstructor.h:
359         * bindings/scripts/CodeGeneratorJS.pm:
360
361 2011-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
362
363         Reviewed by Andreas Kling.
364
365         [Qt] Fix tst_QWebFrame::getSetStaticProperty() autotest
366         https://bugs.webkit.org/show_bug.cgi?id=60984
367
368         The code for converting objects to QVariantMap was causing exception,
369         that was "leaking" to the next evaluation. One situation was reading
370         the property 'localStorage' when we do not have a proper security
371         origin, which throws a SECURITY_ERR.
372
373         Now, we will simply not include on the QVariantMap those properties,
374         and make sure that we clean the exception if necessary.
375
376         * bridge/qt/qt_runtime.cpp:
377         (JSC::Bindings::convertValueToQVariantMap):
378         Extracted function that performs conversion from JSObject to a QVariantMap. This
379         functions makes sure that exception is clean after its execution.
380
381         (JSC::Bindings::convertValueToQVariant):
382         Use the previous function. Add a comment explaining the choice of distance value.
383
384 2011-05-18  Abhishek Arya  <inferno@chromium.org>
385
386         Reviewed by Beth Dakin.
387
388         Remove removeChild on table caption since destroy call
389         already does that.
390         https://bugs.webkit.org/show_bug.cgi?id=61083
391
392         Test: fast/table/table-captions-child-visible-crash.html
393
394         * rendering/RenderTable.cpp:
395         (WebCore::RenderTable::recalcCaption):
396
397 2011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
398
399         Reviewed by Kenneth Rohde Christiansen.
400
401         [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
402         https://bugs.webkit.org/show_bug.cgi?id=60440
403
404         Makes sure that the HTTP headers Content-type and Content-length are not included in
405         the requests that do not have any content.
406
407         Tests: http/tests/navigation/post-301-response.html
408                http/tests/navigation/post-302-response.html
409                http/tests/navigation/post-303-response.html
410                http/tests/navigation/post-307-response.html
411
412         * platform/network/qt/QNetworkReplyHandler.cpp:
413         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
414
415 2011-05-17  Andreas Kling  <kling@webkit.org>
416
417         Reviewed by Benjamin Poulain.
418
419         [Qt] GraphicsLayerQtImpl: Remove an unused variable.
420
421         * platform/graphics/qt/GraphicsLayerQt.cpp:
422         (WebCore::GraphicsLayerQtImpl::paint):
423
424 2011-05-17  Sam Magnuson  <smagnuson@netflix.com>
425
426         Reviewed by Kenneth Rohde Christiansen.
427
428         [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
429         https://bugs.webkit.org/show_bug.cgi?id=40841
430
431         Test: compositing/animation/busy-indicator.html
432
433         * platform/graphics/qt/GraphicsLayerQt.cpp:
434         (WebCore::GraphicsLayerQtImpl::recache):
435         (WebCore::GraphicsLayerQtImpl::flushChanges):
436         (WebCore::GraphicsLayerQt::setContentsToImage):
437         (WebCore::TransformAnimationQt::getAnimatedProperty):
438         (WebCore::OpacityAnimationQt::getAnimatedProperty):
439         (WebCore::GraphicsLayerQt::addAnimation):
440
441 2011-05-16  Adam Barth  <abarth@webkit.org>
442
443         Reviewed by Eric Seidel.
444
445         Remove bogus ASSERT in Document::setCompatibilityMode
446         https://bugs.webkit.org/show_bug.cgi?id=60935
447
448         The ASSERT is invalid when the parser is in the initial state and the
449         document is non-empty, which is strange but not impossible.
450
451         Test: fast/parser/append-child-followed-by-document-write.html
452
453         * dom/Document.cpp:
454         (WebCore::Document::setCompatibilityMode):
455
456 2011-05-15  Geoffrey Garen  <ggaren@apple.com>
457
458         Reviewed by Gavin Barraclough.
459
460         https://bugs.webkit.org/show_bug.cgi?id=59699
461         Global object is recreated on teardown, for no good reason
462         
463         (Another partial fix for <rdar://problem/9417875> REGRESSION: SunSpider
464         ~7% slower in browser than on command line (was 17%))
465         
466         I'm basically rolling out http://trac.webkit.org/changeset/49786 because
467
468         (a) it created this performance problem
469         
470         and
471         
472         (b) a more complete fix, which obsoletes http://trac.webkit.org/changeset/49786,
473         was committed in http://trac.webkit.org/changeset/53439.
474         
475         Tested with the file attached to https://bugs.webkit.org/show_bug.cgi?id=29832.
476
477         * page/Frame.cpp:
478         (WebCore::Frame::~Frame): Don't create a new window every time we destroy
479         a frame.
480
481 2011-05-13  Mikhail Naganov  <mnaganov@chromium.org>
482
483         Web Inspector: Unreviewed image glyph position fix in CSS after r85588.
484
485         * inspector/front-end/heapProfiler.css:
486         (.heapshot-help-status-bar-item .glyph):
487
488 2011-05-13  Alexey Proskuryakov  <ap@apple.com>
489
490         Reviewed by Joseph Pecoraro.
491
492         Hide appcache status bar items
493         https://bugs.webkit.org/show_bug.cgi?id=60799
494
495         We have a number of non-trivial bugs that make these more misleading than helpful to developers.
496
497         * inspector/front-end/ApplicationCacheItemsView.js: (WebInspector.ApplicationCacheItemsView):
498         Just hide the items for now. Removing all support code would be complicated, and not helpful.
499
500 2011-05-13  Abhishek Arya  <inferno@chromium.org>
501
502         Reviewed by Dave Hyatt.
503
504         Regression(r75823): Revert initialization back to the first RenderBlock
505         in the parent chain.
506         https://bugs.webkit.org/show_bug.cgi?id=60780
507
508         Test: fast/block/float/float-not-removed-crash.html
509
510         * rendering/RenderBox.cpp:
511         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
512         In r75823, I forgot to initialize parentBlock, when the original code
513         did and Hyatt did mention in c#5. Now, initializing parentBlock to the
514         first RenderBlock in the parent chain.
515
516 2011-05-13  Adam Roben  <aroben@apple.com>
517
518         Tell ScrollView's child Widgets that their frame rects have changed when its own frame rect
519         changes
520
521         r79167 moved some code from setFrameRect to setBoundsSize, including a call to
522         frameRectsChanged. This was done because positionScrollbarLayers, which is called by
523         frameRectsChanged, only needs to be called when the bounds change, not when the frame rect
524         changes. But the recursive calls inside frameRectsChanged *do* need to be called when the
525         frame rect changes.
526
527         This patch moves the positionScrollbarLayers call out of frameRectsChanged, since it needs
528         to be called at different times from frameRectsChanged. Then it restores the
529         frameRectsChanged call to setFrameRect, which fixes the bug.
530
531         Test: platform/win/plugins/iframe-inside-overflow.html
532
533         Fixes <http://webkit.org/b/60194> <rdar://problem/9383760> REGRESSION (r79167): Windowed
534         plugins in Google Reader don't move when the article list is scrolled
535
536         Reviewed by Dan Bernstein.
537
538         * platform/ScrollView.cpp:
539         (WebCore::ScrollView::updateScrollbars): Added a positionScrollbarLayers call here now that
540         frameRectsChanged doesn't call it for us. Also added a FIXME because it seems strange to
541         call frameRectsChanged here when our frame rect hasn't changed.
542         (WebCore::ScrollView::setFrameRect): Added back the frameRectsChanged call that was removed
543         in r79167.
544         (WebCore::ScrollView::setBoundsSize): Replaced a frameRectsChanged call with a call to
545         positionScrollbarLayers. We were only calling frameRectsChanged here in order to get
546         positionScrollbarLayers to be called.
547         (WebCore::ScrollView::frameRectsChanged): Removed the call to positionScrollbarLayers. All
548         callers of frameRectsChanged have been updated to call positionScrollbarLayers if needed.
549
550 2011-05-11  Alexis Menard  <alexis.menard@openbossa.org>
551
552         Reviewed by Kenneth Rohde Christiansen.
553
554         [Qt] Implements a disable appearance for Media Elements of Qt port.
555         https://bugs.webkit.org/show_bug.cgi?id=60561
556
557         Implements a disable appearance for the media controls of the Qt port
558         when the media is not yet available.
559
560         * platform/qt/RenderThemeQt.cpp:
561         (WebCore::mediaElementCanPlay):
562         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
563         (WebCore::RenderThemeQt::paintMediaSliderThumb):
564
565 2011-05-11  Chang Shu  <cshu@webkit.org>
566
567         Reviewed by Antonio Gomes.
568
569         [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
570         https://bugs.webkit.org/show_bug.cgi?id=60477
571
572         PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
573         The value is checked at EventHandler.cpp:2527 (r86166).
574
575         Function keyTextForKeyEvent is partially implemented and can be enhanced in
576         a need-base.
577
578         * platform/qt/PlatformKeyboardEventQt.cpp:
579         (WebCore::keyTextForKeyEvent):
580         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
581
582 2011-05-12  Rob Buis  <rwlbuis@gmail.com>
583
584         Reviewed by Eric Seidel.
585
586         REGRESSION(79985): Changes in fill-opacity should trigger repaint but don't
587         https://bugs.webkit.org/show_bug.cgi?id=59941
588
589         Also consider fill-opacity when determining whether StyleDifferenceRepaint is needed.
590
591         Test: svg/custom/fill-opacity-update.svg
592
593         * rendering/style/SVGRenderStyle.cpp:
594         (WebCore::SVGRenderStyle::diff):
595
596 2011-05-12  Adam Barth  <abarth@webkit.org>
597
598         Reviewed by Darin Adler.
599
600         REGRESSION (r65868): createContextualFragment does not work with <style>
601         https://bugs.webkit.org/show_bug.cgi?id=60155
602
603         createContextualFragment doesn't have a spec, so it's hard to tell what
604         we're supposed to do exactly.  This patch appears to make our behavior
605         more like Firefox and should fix the compat issue with this site.
606
607         Tests: fast/parser/style-in-create-contextual-fragment-head.html
608                fast/parser/style-in-create-contextual-fragment.html
609
610         * dom/Element.cpp:
611         (WebCore::Element::deprecatedCreateContextualFragment):
612
613 2011-05-12  Carol Szabo  <carol@webkit.org>
614
615         Reviewed by David Hyatt.
616
617         Fix reparenting and destruction of counter nodes. 
618         https://bugs.webkit.org/show_bug.cgi?id=57929
619
620         Fixed several issues related to not met assertions.
621         See below in the per file description.
622
623         Test: fast/css/counters/element-removal-crash.xhtml
624
625         * dom/ContainerNode.cpp:
626         (WebCore::ContainerNode::removeChildren):
627         Fixed the fact that Node::detach() used to be called
628         while the DOM tree was in an inconsistent state.
629         * rendering/RenderCounter.cpp:
630         (WebCore::RenderCounter::rendererRemovedFromTree):
631         Introduced this function to remove counters from
632         descendents of renderers removed from the renderer
633         tree not only from the removed renderers themselves.
634         * rendering/RenderCounter.h:
635         * rendering/RenderObjectChildList.cpp:
636         (WebCore::RenderObjectChildList::removeChildNode):
637         Changed to call RenderCounter::rendererRemovedFromTree
638         instead of RenderCounter::destroyCounters.
639
640 2011-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
641
642         Unreviewed, rolling out r85650.
643         http://trac.webkit.org/changeset/85650
644         https://bugs.webkit.org/show_bug.cgi?id=59983
645
646         Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.
647
648         * dom/ContainerNode.cpp:
649         (WebCore::ContainerNode::childrenChanged):
650         * dom/Node.cpp:
651         (WebCore::Node::~Node):
652         (WebCore::Node::setDocument):
653         (WebCore::Node::setTreeScopeRecursively):
654         (WebCore::Node::childNodes):
655         (WebCore::Node::registerDynamicNodeList):
656         (WebCore::Node::unregisterDynamicNodeList):
657         (WebCore::Node::notifyLocalNodeListsAttributeChanged):
658         (WebCore::Node::notifyLocalNodeListsChildrenChanged):
659         (WebCore::Node::getElementsByTagName):
660         (WebCore::Node::getElementsByTagNameNS):
661         (WebCore::Node::getElementsByName):
662         (WebCore::Node::getElementsByClassName):
663         * dom/Node.h:
664         * html/HTMLFormControlElement.cpp:
665         (WebCore::HTMLFormControlElement::labels):
666
667 2011-05-06  Eric Carlson  <eric.carlson@apple.com>
668
669         Reviewed by Darin Adler.
670
671         REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
672         https://bugs.webkit.org/show_bug.cgi?id=60304
673         <rdar://problem/9392609>
674
675         Don't assume that the only time the media controls UI may need to change is on a 
676         network state change, readyState changes can be significant as well.
677
678         Tested manually because we don't have any live streams to test in DRT.
679
680         * html/HTMLMediaElement.cpp:
681         (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
682         (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.
683
684         * html/shadow/MediaControlRootElement.cpp:
685         (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
686         (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
687         * html/shadow/MediaControlRootElement.h:
688
689         * html/shadow/MediaControlRootElementChromium.cpp:
690         (WebCore::MediaControlRootElementChromium::reset): Ditto.
691         (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
692         * html/shadow/MediaControlRootElementChromium.h:
693         * html/shadow/MediaControls.h:
694
695 2011-05-06  David Hyatt  <hyatt@apple.com>
696
697         Reviewed by Dan Bernstein.
698
699         https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
700         REGRESSION (r81684?): cox.com sign in button is missing
701         
702         Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
703         This restores the original behavior before the refactoring messed it up.
704
705         Added fast/inline/nested-top-alignment.html
706
707         * rendering/InlineFlowBox.cpp:
708         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
709
710 2011-05-06  David Hyatt  <hyatt@apple.com>
711
712         Reviewed by Dan Bernstein.
713
714         https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
715         REGRESSION (r81992): portions of ticketmaster site render blank
716
717         Make simplified layout skip from a positioned object out to its containing block.  There is no
718         need to dirty the intermediate inlines, and in this case it's actively harmful, since the
719         block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.
720
721         Added fast/block/positioning/hiding-inside-relpositioned-inline.html
722
723         * rendering/RenderObject.h:
724         (WebCore::RenderObject::markContainingBlocksForLayout):
725
726 2011-05-05  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
727
728         Reviewed by Holger Freyther.
729
730         Fix build-webkit --minimal.
731         https://bugs.webkit.org/show_bug.cgi?id=60257
732
733         No new tests. This is just a build fix.
734
735         * bindings/js/JSDOMBinding.cpp:
736
737 2011-05-08  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
738
739         Reviewed by Kenneth Rohde Christiansen.
740
741         [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
742         https://bugs.webkit.org/show_bug.cgi?id=58556
743
744         Tests: fast/canvas/webgl/gl-teximage.html
745
746         * platform/graphics/qt/GraphicsContext3DQt.cpp:
747         (WebCore::GraphicsContext3D::getImageData):
748
749 2011-05-09  Jeremy Noble  <jer.noble@apple.com>
750
751         Reviewed by Simon Fraser.
752
753         REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
754         https://bugs.webkit.org/show_bug.cgi?id=60512
755
756         Initialize m_containsFullScreenElement.
757
758         * html/HTMLFrameElementBase.cpp:
759         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
760
761 2011-05-08  Jeremy Noble  <jer.noble@apple.com>
762
763         Reviewed by Dan Bernstein.
764
765         Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
766         https://bugs.webkit.org/show_bug.cgi?id=60449
767
768         Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to 
769         coalesce anonymous children.
770
771         Test: fullscreen/full-screen-remove-sibling.html
772
773         * rendering/RenderObject.h:
774         (WebCore::RenderObject::isAnonymousBlock):
775
776 2011-05-10  MORITA Hajime  <morrita@google.com>
777
778         Reviewed by Ryosuke Niwa.
779
780         REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
781         https://bugs.webkit.org/show_bug.cgi?id=60090
782
783         SpellChecker uses TextCheckerClient, which belongs Page object,
784         which is possibly destroyed during SpellChecker's lifetime.
785         This change added to a guard before using TextCheckerClient to
786         ensure it being live.
787         
788         No new tests, this is a speculative fix for a real crash.
789
790         * editing/Editor.cpp:
791         (WebCore::Editor::Editor):
792         * editing/SpellChecker.cpp:
793         (WebCore::SpellChecker::SpellChecker):
794         (WebCore::SpellChecker::client):
795         (WebCore::SpellChecker::canCheckAsynchronously):
796         (WebCore::SpellChecker::requestCheckingFor):
797         * editing/SpellChecker.h:
798
799 2011-05-10  Alexis Menard  <alexis.menard@openbossa.org>
800
801         Reviewed by Antonio Gomes.
802
803         Warning fix on PluginPackage.cpp.
804         https://bugs.webkit.org/show_bug.cgi?id=60371
805
806         Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
807         Let's use a struct rather than an array so we can pass everything to StringHasher.
808
809         * plugins/PluginPackage.cpp:
810         (WebCore::PluginPackage::hash):
811
812 2011-05-10  Andreas Kling  <andreas.kling@nokia.com>
813
814         Rubber-stamped by Csaba Osztrogonác.
815
816         [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
817         https://bugs.webkit.org/show_bug.cgi?id=60551
818
819         * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
820         if the feature is found. Added a comment about why.
821
822 2011-05-10  Keith Kyzivat  <keith.kyzivat@nokia.com>
823
824         Reviewed by Kenneth Rohde Christiansen.
825
826         [Qt] QtRawFont support should check based on feature, not version
827         https://bugs.webkit.org/show_bug.cgi?id=60513
828
829         Build fix - no tests added.
830
831         * WebCore.pro:
832
833 2011-05-09  Csaba Osztrogonác  <ossy@webkit.org>
834
835         Unreviewed Qt 4.8 fix.
836
837         * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
838
839 2011-05-06  Andreas Kling  <andreas.kling@nokia.com>
840
841         Unreviewed Qt 4.8 build fix.
842
843         * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
844         enable it after the 4.8 bots are updated with the full QRawFont APIs.
845
846 2011-05-09  Andreas Kling  <kling@webkit.org>
847
848         Reviewed by Kenneth Rohde Christiansen.
849
850         [Qt] Simple small-caps text is displayed in uniform size.
851         https://bugs.webkit.org/show_bug.cgi?id=60492
852
853         Covered by existing tests.
854
855         * platform/graphics/qt/FontPlatformDataQt.cpp:
856         (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
857         used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
858         to make small caps and emphasis marks have the correct size when rendered through
859         the fast font path.
860
861 2011-05-09  Alexis Menard  <alexis.menard@openbossa.org>
862
863         Reviewed by Andreas Kling.
864
865         [Qt] Fix the build on Embedded Linux.
866         https://bugs.webkit.org/show_bug.cgi?id=60347        
867
868         qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
869         still be used in order to build properly.
870
871         * WebCore.pri:
872
873 2011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
874
875         Reviewed by Alexey Proskuryakov.
876
877         Build fix with gcc 4.6 and c++0x support.
878         https://bugs.webkit.org/show_bug.cgi?id=60284
879
880         When enabling support of c++0x the compilation fails because of an
881         ambiguous overload error. In this code when constructing the pair
882         we use the new c++0x rvalue reference feature (&&). It means we are
883         calling String(const WTF::AtomicString&) which becomes ambiguous because
884         it has an overload WTF::String::String(const WTF::String&) and usually one
885         with the native port string type (e.g. QString). In this code we want the
886         String version because the pair store Strings.
887
888         No new tests, build fix.
889
890         * loader/FormSubmission.cpp:
891         (WebCore::FormSubmission::create):
892
893 2011-05-05  Tony Gentilcore  <tonyg@chromium.org>
894
895         Reviewed by Adam Barth.
896
897         ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
898         https://bugs.webkit.org/show_bug.cgi?id=60101
899
900         Test: fast/parser/close-while-stopping.html
901
902         * dom/Document.cpp:
903         (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
904         the close() steps should be aborted if there is no script-created parser
905         associated with the document. Our parser lives throughout
906         http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
907         the spec doesn't consider the parser active any more. So to properly
908         respect this, we need to check that the parser is still parsing.
909
910 2011-05-05  Andreas Kling  <andreas.kling@nokia.com>
911
912         Reviewed by Simon Hausmann.
913
914         [Qt] Implement the fast font path for Qt.
915         https://bugs.webkit.org/show_bug.cgi?id=51106
916
917         Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
918         rendering and measurement of simple text.
919
920         Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
921         classes are fully integrated into the Qt 4.8 release branch.
922
923         * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.
924
925         * platform/graphics/Font.cpp:
926         (WebCore::Font::drawText): Disable fast font path for stroked text, and when
927         painting text with a shadow. (Qt-only)
928         (WebCore::Font::codePath): Try to use fast font path in more cases.
929
930         * platform/graphics/qt/FontCacheQt.cpp:
931         (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
932         to use for rendering a given string. Goes through QTextLayout to find the best
933         font based on the original QFont query.
934         (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.
935
936         * platform/graphics/qt/FontPlatformData.h:
937         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
938         (WebCore::FontPlatformData::FontPlatformData):
939         (WebCore::FontPlatformData::rawFont):
940         * platform/graphics/qt/FontPlatformDataQt.cpp:
941         (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.
942
943         * platform/graphics/qt/FontQt.cpp:
944         (WebCore::fillPenForContext):
945         (WebCore::strokePenForContext):
946         (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
947         to share code between complex and simple font rendering paths.
948         (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().
949
950         * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
951         (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().
952
953         * platform/graphics/qt/SimpleFontDataQt.cpp:
954         (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
955         have no way of knowing the pitch.
956         (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
957         (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
958         (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
959         (WebCore::SimpleFontData::smallCapsFontData): Ditto.
960         (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
961         (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
962         (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
963         (WebCore::SimpleFontData::platformCharWidthInit): Ditto.
964
965 2011-05-05  Alexis Menard  <alexis.menard@openbossa.org>
966
967         Reviewed by Andreas Kling.
968
969         [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
970         https://bugs.webkit.org/show_bug.cgi?id=60224
971
972         We should use nullptr rather than 0. nullptr will be added in the new C++ standard
973         but WebKit already has a nullptr class if there is no c++0x support.
974
975         * platform/qt/RenderThemeQt.cpp:
976         (WebCore::RenderThemeQt::adjustProgressBarStyle):
977         (WebCore::RenderThemeQt::adjustSliderTrackStyle):
978         (WebCore::RenderThemeQt::adjustSliderThumbStyle):
979
980 2011-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
981
982         Reviewed by Yury Semikhatsky.
983
984         Web Inspector: rename BrowserDebugger to DOMDebugger.
985
986         https://bugs.webkit.org/show_bug.cgi?id=60256
987         InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
988         browserDebugger => domDebugger
989
990         * CMakeLists.txt:
991         * GNUmakefile.list.am:
992         * WebCore.gypi:
993         * WebCore.pro:
994         * WebCore.vcproj/WebCore.vcproj:
995         * WebCore.xcodeproj/project.pbxproj:
996         * inspector/CodeGeneratorInspector.pm:
997         * inspector/InspectorAgent.cpp:
998         (WebCore::InspectorAgent::InspectorAgent):
999         (WebCore::InspectorAgent::inspectedPageDestroyed):
1000         (WebCore::InspectorAgent::disconnectFrontend):
1001         * inspector/InspectorAgent.h:
1002         (WebCore::InspectorAgent::DOMDebuggerAgent):
1003         * inspector/InspectorController.cpp:
1004         (WebCore::InspectorController::connectFrontend):
1005         * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
1006         (WebCore::InspectorDOMDebuggerAgent::create):
1007         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
1008         (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
1009         (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
1010         (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
1011         (WebCore::InspectorDOMDebuggerAgent::disable):
1012         (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
1013         (WebCore::InspectorDOMDebuggerAgent::discardBindings):
1014         (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
1015         (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
1016         (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
1017         (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
1018         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
1019         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
1020         (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
1021         (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
1022         (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
1023         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
1024         (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
1025         (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
1026         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1027         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
1028         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
1029         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
1030         (WebCore::InspectorDOMDebuggerAgent::clear):
1031         * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
1032         * inspector/InspectorInstrumentation.cpp:
1033         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
1034         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
1035         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
1036         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
1037         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
1038         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
1039         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
1040         * inspector/InstrumentingAgents.h:
1041         (WebCore::InstrumentingAgents::InstrumentingAgents):
1042         (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
1043         (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
1044         * inspector/WorkerInspectorController.cpp:
1045         (WebCore::WorkerInspectorController::connectFrontend):
1046
1047 2011-05-04  Yury Semikhatsky  <yurys@chromium.org>
1048
1049         Reviewed by Pavel Feldman.
1050
1051         Web Inspector: show only Console and Scripts panels in worker inspector front-end
1052         https://bugs.webkit.org/show_bug.cgi?id=60159
1053
1054         * inspector/front-end/WorkerManager.js:
1055         (WebInspector.WorkerManager.isWorkerFrontend):
1056         * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.
1057
1058 2011-05-03  Hans Wennborg  <hans@chromium.org>
1059
1060         Reviewed by Steve Block.
1061
1062         IndexedDB: Unit tests for LevelDB key coding functions
1063         https://bugs.webkit.org/show_bug.cgi?id=59692
1064
1065         Fix some embarrassing bugs uncovered by unit tests.
1066
1067         No new functionality, but this is now covered by unit tests in the Chromium WebKit port.
1068
1069         * storage/IDBLevelDBCoding.cpp:
1070         (WebCore::IDBLevelDBCoding::decodeInt):
1071         (WebCore::IDBLevelDBCoding::decodeVarInt):
1072
1073 2011-05-05  Young Han Lee  <joybro@company100.net>
1074
1075         Reviewed by Csaba Osztrogonác.
1076
1077         [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
1078         https://bugs.webkit.org/show_bug.cgi?id=60251
1079
1080         No new tests. Build fix.
1081
1082         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1083         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1084
1085 2011-05-04  Jay Civelli  <jcivelli@chromium.org>
1086
1087         Reviewed by Adam Barth.
1088
1089         Adding a utility class to read a SharedBuffer line by line.
1090         https://bugs.webkit.org/show_bug.cgi?id=59946
1091
1092         * CMakeLists.txt:
1093         * GNUmakefile.list.am:
1094         * WebCore.gypi:
1095         * WebCore.pro:
1096         * WebCore.vcproj/WebCore.vcproj:
1097         * WebCore.xcodeproj/project.pbxproj:
1098         * platform/SharedBufferCRLFLineReader.cpp: Added.
1099         * platform/SharedBufferCRLFLineReader.h: Added.
1100
1101 2011-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
1102
1103         Unreviewed, rolling out r85788.
1104         http://trac.webkit.org/changeset/85788
1105         https://bugs.webkit.org/show_bug.cgi?id=60250
1106
1107         svg/text/text-block-child-crash.xhtml asserts (Requested by
1108         Ossy on #webkit).
1109
1110         * css/CSSStyleSelector.cpp:
1111         (WebCore::CSSStyleSelector::applyProperty):
1112
1113 2011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
1114
1115         Reviewed by Eric Seidel.
1116
1117         Make more member functions in EventHandler private
1118         https://bugs.webkit.org/show_bug.cgi?id=60200
1119
1120         Reduced the number of public member functions in EventHandler.
1121
1122         * WebCore.exp.in:
1123         * page/EventHandler.cpp:
1124         (WebCore::EventHandler::handleAutoscroll):
1125         (WebCore::EventHandler::autoscrollTimerFired):
1126         (WebCore::EventHandler::stopAutoscrollTimer):
1127         (WebCore::EventHandler::handleMousePressEvent):
1128         (WebCore::EventHandler::handleMouseMoveEvent):
1129         (WebCore::EventHandler::keyEvent):
1130         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
1131         * page/EventHandler.h:
1132         (WebCore::EventHandler::mouseDownMayStartSelect):
1133
1134 2011-05-04  James Robinson  <jamesr@chromium.org>
1135
1136         Reviewed by Kenneth Russell.
1137
1138         [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
1139         https://bugs.webkit.org/show_bug.cgi?id=60202
1140
1141         In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check.  This switches
1142         the order back and adds a regression test.
1143
1144         Test: compositing/repaint/transform-style-change.html
1145
1146         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1147         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1148
1149 2011-05-04  Cris Neckar  <cdn@chromium.org>
1150
1151         Reviewed by Adam Barth.
1152
1153         Expose WebView directly through ChromeClient.
1154         https://bugs.webkit.org/show_bug.cgi?id=49902
1155
1156         Test: fast/media/media-svg-crash.html
1157
1158         * loader/EmptyClients.h:
1159         (WebCore::EmptyChromeClient::webView):
1160         * page/ChromeClient.h:
1161         * page/brew/ChromeClientBrew.h:
1162         (WebCore::ChromeClientBrew::webView):
1163
1164 2011-05-04  Joseph Pecoraro  <joepeck@webkit.org>
1165
1166         Reviewed by Darin Adler.
1167
1168         Unable to Paste After Deleting Text from Input due to -webkit-user-select
1169         https://bugs.webkit.org/show_bug.cgi?id=60219
1170
1171         When deleting all the text inside the input a placeholder <br>
1172         element was inserted for the selection point. However, when
1173         pasting, the test run computes the -webkit-user-select for the
1174         <br> element, instead of what would be the text inside the
1175         <input> and incorrectly disallows selection and prevented
1176         the paste.
1177
1178         Test: editing/pasteboard/paste-placeholder-input.html
1179
1180         * editing/ReplaceSelectionCommand.cpp:
1181         (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
1182         <br> elements above us as those are likely placeholder elements.
1183
1184 2011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
1185
1186         Reviewed by Martin Robinson.
1187
1188         Windows build of WebKit GTK needs to be able to find SystemInfo.h
1189         https://bugs.webkit.org/show_bug.cgi?id=60221
1190
1191         * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
1192         for headers, since Source/WebCore/platform/win/SystemInfo.h
1193         header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
1194         on Windows.
1195
1196 2011-05-04  Vangelis Kokkevis  <vangelis@chromium.org>
1197
1198         Reviewed by Kenneth Russell.
1199
1200         [chromium] Improve sorting of layers in hierarchies that preserve-3d
1201         by testing for overlapping regions between layer pairs and doing a
1202         topological sort to determine the right order.
1203         https://bugs.webkit.org/show_bug.cgi?id=59255
1204
1205         Test: platform/chromium/compositing/perpendicular-layer-sorting.html
1206
1207         * WebCore.gypi:
1208         * platform/graphics/chromium/LayerRendererChromium.cpp:
1209         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1210         * platform/graphics/chromium/LayerRendererChromium.h:
1211         * platform/graphics/chromium/cc/CCLayerImpl.h:
1212         (WebCore::CCLayerImpl::clearRenderSurface):
1213         * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
1214         (WebCore::perpProduct):
1215         (WebCore::innerProduct):
1216         (WebCore::pointInColinearEdge):
1217         (WebCore::edgeEdgeTest):
1218         (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
1219         (WebCore::CCLayerSorter::LayerIntersector::go):
1220         (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
1221         (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
1222         (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
1223         (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
1224         (WebCore::CCLayerSorter::CCLayerSorter):
1225         (WebCore::CCLayerSorter::checkOverlap):
1226         (WebCore::CCLayerSorter::createGraphNodes):
1227         (WebCore::CCLayerSorter::createGraphEdges):
1228         (WebCore::CCLayerSorter::removeEdgeFromList):
1229         (WebCore::CCLayerSorter::sort):
1230         * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
1231         (WebCore::CCLayerSorter::GraphNode::GraphNode):
1232         (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
1233
1234 2011-05-03  Jer Noble  <jer.noble@apple.com>
1235
1236         Reviewed by Antti Koivisto.
1237
1238         Safari: Video at apple.com cannot play at full screen mode with layout distortion
1239         https://bugs.webkit.org/show_bug.cgi?id=60140
1240
1241         Because a fullscreen element may be in a stacking context with a lower z-index than
1242         a sibling stacking context, those higher contexts would sometimes "pop" through the 
1243         full screen renderer. To facilitate eliminating all the stacking contexts aside from
1244         the full screen renderer, added a new pseudo-class specific to video or audio full
1245         screen elements. Then, added a new UA rule which resets the z-index and opacities of 
1246         all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
1247         identity checking of HTMLMediaElements, added isMediaElement() virtual function to 
1248         Element and HTMLMediaElement. 
1249
1250         Test: fullscreen/full-screen-stacking-context.html
1251
1252         * css/CSSSelector.cpp:
1253         (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
1254         (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
1255         (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
1256         * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
1257         * css/CSSStyleSelector.cpp:
1258         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
1259         * css/fullscreen.css:
1260         (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names, 
1261             which were missing the -webkit prefix.
1262         (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
1263         * dom/Element.h:
1264         (WebCore::Element::isMediaElement): Added, returns false.
1265         * html/HTMLMediaElement.h:
1266         (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
1267         * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.
1268
1269 2011-05-04  Levi Weintraub  <leviw@chromium.org>
1270
1271         Reviewed by Eric Seidel.
1272
1273         Split findNextLineBreak into a LineBreaker class
1274         https://bugs.webkit.org/show_bug.cgi?id=60209
1275
1276         Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
1277         nearly no state, but subsequent patches will move some of the local variables used throughout
1278         the nextLineBreak function into member variables to simplify breaking off helper functions from
1279         the bloated function.
1280
1281         No new tests since this is just moving code around.
1282
1283         * WebCore.xcodeproj/project.pbxproj:
1284         * rendering/RenderBlock.h:
1285         (WebCore::RenderBlock::LineBreaker::LineBreaker):
1286         (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
1287         (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
1288         (WebCore::RenderBlock::LineBreaker::clear): Ditto.
1289         * rendering/RenderBlockLineLayout.cpp:
1290         (WebCore::RenderBlock::layoutRunsAndFloats):
1291         (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
1292         (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
1293         (WebCore::RenderBlock::LineBreaker::reset):
1294         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1295
1296 2011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
1297
1298         Reviewed by Adam Barth.
1299
1300         Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
1301         The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
1302         https://bugs.webkit.org/show_bug.cgi?id=58579
1303
1304         * dom/XMLDocumentParserLibxml2.cpp:
1305         (WebCore::XMLDocumentParser::error):
1306
1307 2011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
1308
1309         Unreviewed warning fix.
1310
1311         The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
1312         a warning in Release build.
1313
1314         * dom/Node.cpp:
1315         (WebCore::Node::removeEventListener):
1316         * platform/DateComponents.cpp:
1317         (WebCore::DateComponents::parseTime):
1318         * rendering/RenderLayer.cpp:
1319         (WebCore::RenderLayer::convertToLayerCoords):
1320         * storage/StorageMap.cpp:
1321         (WebCore::StorageMap::importItem):
1322         * svg/SVGUseElement.cpp:
1323         (WebCore::SVGUseElement::buildShadowTree):
1324         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
1325
1326 2011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
1327
1328         Unreviewed warning fix.
1329
1330         The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
1331         a warning in Release build.
1332
1333         * accessibility/AccessibilityRenderObject.cpp:
1334         (WebCore::lastChildConsideringContinuation):
1335
1336 2011-05-04  Dimitri Glazkov  <dglazkov@chromium.org>
1337
1338         Sort xcodeproj files.
1339
1340         The WebCore.xcodeproj got out of sorts again.
1341
1342         * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
1343
1344 2011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
1345
1346         Reviewed by Adam Barth.
1347
1348         Warning fix.
1349
1350         * bindings/js/DOMObjectHashTableMap.h:
1351         (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
1352
1353 2011-05-04  Rob Buis  <rbuis@rim.com>
1354
1355         Reviewed by Darin Adler.
1356
1357         NULL deref when SVG elements have table styles 
1358         https://bugs.webkit.org/show_bug.cgi?id=45561
1359
1360         Restrict computed CSS values for SVG display property to block, inline or none.
1361
1362         Tests: svg/custom/display-table-caption-foreignObject.svg
1363                svg/custom/display-table-caption-inherit-foreignObject.xhtml
1364                svg/custom/display-table-caption-inherit-text.xhtml
1365                svg/custom/display-table-caption-text.svg
1366
1367         * css/CSSStyleSelector.cpp:
1368         (WebCore::CSSStyleSelector::applyProperty):
1369
1370 2011-05-04  Tao Bai  <michaelbai@chromium.org>
1371
1372         Reviewed by David Kilzer.
1373
1374         Populate touch-icon url to FrameLoaderClient
1375         https://bugs.webkit.org/show_bug.cgi?id=59143
1376         
1377         Parsed and populated apple-touch-icon url to FrameLoaderClient.
1378         Changed favicon to be a type of icon.
1379
1380         * CMakeLists.txt:
1381         * Configurations/FeatureDefines.xcconfig:
1382         * GNUmakefile.am:
1383         * GNUmakefile.list.am:
1384         * WebCore.gypi:
1385         * WebCore.vcproj/WebCore.vcproj:
1386         * WebCore.xcodeproj/project.pbxproj:
1387         * dom/Document.cpp:
1388         (WebCore::Document::iconURL):
1389         (WebCore::Document::setIconURL):
1390         * dom/Document.h:
1391         * dom/IconURL.cpp: Added.
1392         (WebCore::toIconIndex):
1393         * dom/IconURL.h: Added.
1394         (WebCore::IconURL::IconURL):
1395         * features.pri:
1396         * html/HTMLLinkElement.cpp:
1397         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
1398         (WebCore::HTMLLinkElement::process):
1399         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
1400         * html/HTMLLinkElement.h:
1401         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
1402         (WebCore::HTMLLinkElement::isEnabledViaScript):
1403         * html/parser/HTMLPreloadScanner.cpp:
1404         (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
1405         * loader/DocumentLoader.cpp:
1406         (WebCore::DocumentLoader::iconURL):
1407         (WebCore::DocumentLoader::setIconURL):
1408         * loader/DocumentLoader.h:
1409         * loader/EmptyClients.h:
1410         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
1411         * loader/FrameLoader.cpp:
1412         (WebCore::FrameLoader::iconURL):
1413         (WebCore::FrameLoader::iconURLs):
1414         (WebCore::FrameLoader::fillIconURL):
1415         (WebCore::FrameLoader::getDefaultIconURL):
1416         (WebCore::FrameLoader::setIconURL):
1417         (WebCore::FrameLoader::didChangeIcons):
1418         * loader/FrameLoader.h:
1419         * loader/FrameLoaderClient.h:
1420
1421 2011-05-04  Chris Marrin  <cmarrin@apple.com>
1422
1423         Reviewed by Simon Fraser.
1424
1425         Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
1426         https://bugs.webkit.org/show_bug.cgi?id=60191
1427
1428         Skip replaceSublayer when there is no superlayer rather than asserting.
1429         This is probably not a problem and happens when restructuring the layer
1430         tree. Avoiding this crash will allow us to get more testing.
1431
1432         * platform/graphics/ca/GraphicsLayerCA.cpp:
1433         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1434
1435 2011-05-04  Martin Robinson  <mrobinson@igalia.com>
1436
1437         Reviewed by Gustavo Noronha Silva.
1438
1439         Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
1440         method, just use extern declarations to avoid having to declare it in the header.
1441         This will prevent having to include glib.h in RenderThemeGtk.h, which is included
1442         in many C++ files.
1443
1444         No new tests. This is just a build fix.
1445
1446         * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
1447         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
1448         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
1449         (WebCore::RenderThemeGtk::paintCapsLockIndicator):
1450         (WebCore::RenderThemeGtk::paintMediaButton):
1451         * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
1452         gtkEntry() public because they are now accessed externally from getStockIcon().
1453         * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
1454         (WebCore::getStockIconForWidgetType):
1455         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
1456         (WebCore::getStockIconForWidgetType):
1457
1458 2011-05-04  Mark Pilgrim  <pilgrim@chromium.org>
1459
1460         Reviewed by Tony Chang.
1461
1462         IndexedDB open (database) should fail if name is null
1463         https://bugs.webkit.org/show_bug.cgi?id=60022
1464
1465         Test: storage/indexeddb/mozilla/open-database-null-name.html
1466
1467         Combination problem: Bug in IDL didn't pass null values to .cpp layer,
1468         then .cpp layer didn't check for null value anyway.
1469
1470         * storage/IDBFactory.cpp:
1471         (WebCore::IDBFactory::open): check for null name
1472         * storage/IDBFactory.idl: pass null name as null
1473
1474 2011-05-04  Jer Noble  <jer.noble@apple.com>
1475
1476         Reviewed by Darin Adler.
1477
1478         Entering full screen fails >= second time on Vimeo.com.
1479         https://bugs.webkit.org/show_bug.cgi?id=60143
1480
1481         Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
1482         Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
1483         at the end of an animation, if it determined that the RenderFullScreen would still require
1484         a layer even when not animating.
1485
1486         * rendering/RenderFullScreen.cpp:
1487         (RenderFullScreen::setAnimating): Clear the renderer's layer.
1488
1489 2011-05-04  Simon Fraser  <simon.fraser@apple.com>
1490
1491         Reviewed by Darin Adler.
1492
1493         Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
1494         https://bugs.webkit.org/show_bug.cgi?id=59849
1495
1496         When attempting to unwind the graphics state stack in the
1497         CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
1498         to create a new ImageBuffer.
1499
1500         * html/HTMLCanvasElement.cpp:
1501         (WebCore::HTMLCanvasElement::existingDrawingContext):
1502         * html/HTMLCanvasElement.h:
1503         * html/canvas/CanvasRenderingContext2D.cpp:
1504         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
1505
1506 2011-05-04  Andrey Kosyakov  <caseq@chromium.org>
1507
1508         Reviewed by Yury Semikhatsky.
1509
1510         Web Inspector: expose shadow DOM in the Elements panel
1511         https://bugs.webkit.org/show_bug.cgi?id=60160
1512
1513         Test: inspector/elements/shadow-dom.html
1514
1515         * dom/Element.cpp:
1516         (WebCore::Element::ensureShadowRoot):
1517         (WebCore::Element::removeShadowRoot):
1518         * inspector/Inspector.json:
1519         * inspector/InspectorDOMAgent.cpp:
1520         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1521         (WebCore::InspectorDOMAgent::buildObjectForNode):
1522         (WebCore::InspectorDOMAgent::didInsertDOMNode):
1523         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
1524         (WebCore::InspectorDOMAgent::isContainerNode):
1525         * inspector/InspectorDOMAgent.h:
1526         * inspector/front-end/DOMAgent.js:
1527         (WebInspector.DOMNode):
1528         (WebInspector.DOMNode.prototype.inShadowTree):
1529         (WebInspector.DOMNode.prototype._setShadowRootPayload):
1530         (WebInspector.DOMNode.prototype._renumber):
1531         (WebInspector.DOMAgent.prototype._bindNodes):
1532         (WebInspector.DOMAgent.prototype.querySelectorAll):
1533         (WebInspector.DOMAgent.prototype._shadowRootUpdated):
1534         (WebInspector.DOMDispatcher.prototype.searchResults):
1535         (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
1536         * inspector/front-end/ElementsPanel.js:
1537         (WebInspector.ElementsPanel):
1538         (WebInspector.ElementsPanel.prototype._nodeUpdated):
1539         (WebInspector.ElementsPanel.prototype._attributesUpdated):
1540         (WebInspector.ElementsPanel.prototype._nodeRemoved):
1541         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
1542         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
1543         * inspector/front-end/ElementsTreeOutline.js:
1544         (WebInspector.ElementsTreeElement):
1545         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
1546         (WebInspector.ElementsTreeElement.prototype._updateChildren):
1547         ():
1548         * inspector/front-end/inspector.css:
1549         (#elements-content .dom-shadow-root):
1550         (.outline-disclosure li .webkit-html-tag.shadow):
1551         * inspector/front-end/utilities.js:
1552
1553 2011-05-03  Adam Roben  <aroben@apple.com>
1554
1555         Remove an unnecessary OwnPtr equality check in XSLT code
1556
1557         Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error
1558
1559         Reviewed by Anders Carlsson and Antti Koivisto.
1560
1561         * dom/Document.cpp:
1562         (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
1563         equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
1564         we're safe.)
1565
1566 2011-05-04  Leandro Gracia Gil  <leandrogracia@chromium.org>
1567
1568         Reviewed by Tony Gentilcore.
1569
1570         Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
1571         https://bugs.webkit.org/show_bug.cgi?id=56922
1572
1573         Add the basic outlines of the page controller, the per-frame controller and the embedder
1574         client interface for the Media Stream API. Provide methods to handle the situations
1575         where a frame is detached from the page or transferred between pages.
1576
1577         Tests for the Media Stream API will be provided by the bug 56587.
1578
1579         * CMakeLists.txt:
1580         * GNUmakefile.list.am:
1581         * WebCore.gypi:
1582         * WebCore.pro:
1583         * WebCore.vcproj/WebCore.vcproj:
1584         * WebCore.xcodeproj/project.pbxproj:
1585         * page/Frame.cpp:
1586         (WebCore::Frame::Frame):
1587         (WebCore::Frame::~Frame):
1588         (WebCore::Frame::pageDestroyed):
1589         (WebCore::Frame::transferChildFrameToNewDocument):
1590         * page/Frame.h:
1591         (WebCore::Frame::mediaStreamFrameController):
1592         * page/MediaStreamClient.h: Added.
1593         (WebCore::MediaStreamClient::~MediaStreamClient):
1594         * page/MediaStreamController.cpp: Added.
1595         (WebCore::MediaStreamController::Request::Request):
1596         (WebCore::MediaStreamController::Request::localId):
1597         (WebCore::MediaStreamController::Request::frameController):
1598         (WebCore::MediaStreamController::MediaStreamController):
1599         (WebCore::MediaStreamController::~MediaStreamController):
1600         (WebCore::MediaStreamController::unregisterFrameController):
1601         (WebCore::MediaStreamController::registerRequest):
1602         * page/MediaStreamController.h: Added.
1603         * page/MediaStreamFrameController.cpp: Added.
1604         (WebCore::MediaStreamFrameController::Request::Request):
1605         (WebCore::MediaStreamFrameController::Request::~Request):
1606         (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
1607         (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
1608         (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
1609         (WebCore::MediaStreamFrameController::RequestMap::abort):
1610         (WebCore::MediaStreamFrameController::RequestMap::abortAll):
1611         (WebCore::MediaStreamFrameController::MediaStreamFrameController):
1612         (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
1613         (WebCore::MediaStreamFrameController::securityOrigin):
1614         (WebCore::MediaStreamFrameController::scriptExecutionContext):
1615         (WebCore::MediaStreamFrameController::pageController):
1616         (WebCore::MediaStreamFrameController::enterDetachedState):
1617         (WebCore::MediaStreamFrameController::disconnectPage):
1618         (WebCore::MediaStreamFrameController::disconnectFrame):
1619         (WebCore::MediaStreamFrameController::transferToNewPage):
1620         * page/MediaStreamFrameController.h: Added.
1621         * page/Page.cpp:
1622         (WebCore::Page::Page):
1623         (WebCore::Page::PageClients::PageClients):
1624         * page/Page.h:
1625         (WebCore::Page::mediaStreamController):
1626
1627 2011-05-04  Alexander Pavlov  <apavlov@chromium.org>
1628
1629         Reviewed by Yury Semikhatsky.
1630
1631         Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
1632         https://bugs.webkit.org/show_bug.cgi?id=60150
1633
1634         * inspector/front-end/StylesSidebarPane.js:
1635         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
1636
1637 2011-05-04  Dominic Battre  <battre@chromium.org>
1638
1639         Reviewed by Tony Gentilcore.
1640
1641         Fix missing header in case SVG is disabled
1642         https://bugs.webkit.org/show_bug.cgi?id=60153
1643
1644         * dom/EventDispatcher.cpp:
1645
1646 2011-05-04  Luke Macpherson   <macpherson@chromium.org>
1647
1648         Reviewed by Eric Seidel.
1649
1650         Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
1651         https://bugs.webkit.org/show_bug.cgi?id=60006
1652
1653         No new tests as no functionality added. Simple rename only.
1654
1655         * css/CSSStyleApplyProperty.cpp:
1656         Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
1657         * css/CSSStyleApplyProperty.h:
1658         Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
1659
1660 2011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
1661
1662         Reviewed by Eric Seidel.
1663
1664         Cleanup conditionals in findNextLineBreak
1665         https://bugs.webkit.org/show_bug.cgi?id=60117
1666
1667         Simplified conditional statements in findNextLineBreak.
1668
1669         * rendering/RenderBlockLineLayout.cpp:
1670         (WebCore::RenderBlock::findNextLineBreak):
1671
1672 2011-05-04  Luke Macpherson   <macpherson@chromium.org>
1673
1674         Reviewed by Eric Seidel.
1675
1676         Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
1677         https://bugs.webkit.org/show_bug.cgi?id=60114
1678
1679         No new tests as no functionality changes.
1680
1681         * css/CSSStyleSelector.cpp:
1682         (WebCore::CSSStyleSelector::applyProperty):
1683         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.
1684
1685 2011-05-04  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1686
1687         Reviewed by Andreas Kling.
1688
1689         [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
1690         https://bugs.webkit.org/show_bug.cgi?id=59070
1691
1692         Applications using our API and our autotests subclass QNetworkReply as part of providing a
1693         custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
1694         QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
1695         4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.
1696
1697         The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
1698         watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
1699         indicating that it is finished. When there's no finished signal (synchronous) we set the
1700         dynamic property once we get the reply.
1701
1702         This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
1703         emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.
1704
1705         * platform/network/qt/QNetworkReplyHandler.cpp:
1706         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
1707         Connect the finished signal to the new setFinished() slot.
1708
1709         (WebCore::QNetworkReplyWrapper::synchronousLoad):
1710         Since we don't get the finished signal for synchronous loads, set the dynamic property
1711         before processing it.
1712
1713         (WebCore::QNetworkReplyWrapper::resetConnections):
1714         Do not reset the connection to setFinished().
1715
1716         (WebCore::QNetworkReplyWrapper::setFinished):
1717         Set the dynamic property in the reply.
1718
1719         (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
1720         (WebCore::QNetworkReplyHandler::start):
1721         Change to use wrapper's isFinished() instead of asking the reply directly.
1722
1723         * platform/network/qt/QNetworkReplyHandler.h:
1724         (WebCore::QNetworkReplyWrapper::isFinished):
1725         Checks the dynamic property of the reply.
1726
1727         * platform/network/qt/QtMIMETypeSniffer.cpp:
1728         (QtMIMETypeSniffer::sniff):
1729         Use the dynamic property to check if the reply is finished.
1730
1731 2011-05-04  Eric Seidel  <eric@webkit.org>
1732
1733         Reviewed by Ryosuke Niwa.
1734
1735         Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
1736         https://bugs.webkit.org/show_bug.cgi?id=60080
1737
1738         No functional change, just moving code.
1739
1740         * rendering/RenderBlock.h:
1741         * rendering/RenderBlockLineLayout.cpp:
1742         (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
1743         (WebCore::RenderBlock::layoutRunsAndFloats):
1744
1745 2011-05-04  Andreas Kling  <andreas.kling@nokia.com>
1746
1747         Reviewed by Kenneth Rohde Christiansen.
1748
1749         [Qt] Remove unused function FontPlatformData::pixelSize()
1750         https://bugs.webkit.org/show_bug.cgi?id=60156
1751
1752         * platform/graphics/qt/FontPlatformData.h:
1753         (WebCore::FontPlatformData::pixelSize): Removed.
1754
1755 2011-05-04  Luke Macpherson   <macpherson@chromium.org>
1756
1757         Reviewed by Darin Adler.
1758
1759         Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
1760         https://bugs.webkit.org/show_bug.cgi?id=60011
1761
1762         No new tests added as no functionality changed.
1763
1764         * css/CSSStyleSelector.cpp:
1765         (WebCore::CSSStyleSelector::applyProperty):
1766         Remove reundant check for auto table layout.
1767
1768 2011-05-04  Mihai Parparita  <mihaip@chromium.org>
1769
1770         Reviewed by Darin Adler.
1771
1772         Remove double-free checks for bug 56124
1773         https://bugs.webkit.org/show_bug.cgi?id=60037
1774
1775         Antti's speculative fix for bug 56124 (r84151) appears to have worked,
1776         these CRASH() calls are not triggering anymore.
1777
1778         * css/CSSSelector.h:
1779         (WebCore::CSSSelector::CSSSelector):
1780         (WebCore::CSSSelector::~CSSSelector):
1781         * css/CSSSelectorList.cpp:
1782         (WebCore::CSSSelectorList::deleteSelectors):
1783
1784 2011-05-04  Satish Sampath  <satish@chromium.org>
1785
1786         Reviewed by Tony Gentilcore.
1787
1788         Layout the speech input button to the left of outer spin button properly.
1789         https://bugs.webkit.org/show_bug.cgi?id=59742
1790
1791         * rendering/RenderTextControlSingleLine.cpp:
1792         (WebCore::RenderTextControlSingleLine::layout):
1793
1794 2011-05-04  Yury Semikhatsky  <yurys@chromium.org>
1795
1796         Unreviewed. Build fix.
1797
1798         * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
1799
1800 2011-05-03  Yury Semikhatsky  <yurys@chromium.org>
1801
1802         Reviewed by Pavel Feldman.
1803
1804         Web Inspector: can't inspect element in an iframe when element originates from non-frame document
1805         https://bugs.webkit.org/show_bug.cgi?id=60031
1806         
1807         Inspected object type evaluation has moved into native bindings. This way it doesn't
1808         depend on the current JS context.
1809
1810         Test: inspector/elements/elements-inspect-iframe-from-different-domain.html
1811
1812         * bindings/js/JSInjectedScriptHostCustom.cpp:
1813         (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
1814         real undefined values from HTMLAllCollection
1815         (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
1816         value
1817         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1818         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
1819         (WebCore::V8InjectedScriptHost::typeCallback):
1820         * inspector/InjectedScriptHost.idl:
1821         * inspector/InjectedScriptSource.js:
1822         (.):
1823
1824 2011-05-03  Pratik Solanki  <psolanki@apple.com>
1825
1826         Reviewed by Antti Koivisto.
1827
1828         Part of WebCore should use CFNetwork-based loader on Mac
1829         https://bugs.webkit.org/show_bug.cgi?id=51836
1830
1831         Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
1832         up some warnings and #if USE(CFNETWORK) around code.
1833
1834         * platform/mac/CookieJar.mm:
1835         * platform/network/CookieStorage.h:
1836         * platform/network/cf/CookieStorageCFNet.cpp:
1837         (WebCore::privateBrowsingCookieStorage):
1838         (WebCore::currentCookieStorage):
1839         (WebCore::setCurrentCookieStorage):
1840         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1841         (WebCore::notifyCookiesChangedOnMainThread):
1842         (WebCore::notifyCookiesChanged):
1843         * platform/network/cf/CookieStorageCFNet.h:
1844         * platform/network/mac/CookieStorageMac.mm:
1845
1846 2011-05-03  Justin Novosad  <junov@chromium.org>
1847
1848         Reviewed by Kenneth Russell.
1849
1850         [Chromium] Make accelerated 2d canvas enabled by default with skia
1851         https://bugs.webkit.org/show_bug.cgi?id=59929
1852
1853         No new tests. Covered by existing layout tests
1854
1855         * html/canvas/CanvasRenderingContext2D.cpp:
1856         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1857         Initialized for accelerated canvas if either the accelerated2dCanvas
1858         or the legacyAccelerated2dCanvas flags are enabled
1859         * page/Page.cpp:
1860         (WebCore::Page::sharedGraphicsContext3D):
1861         This is where the code goes to implement the functionality for the
1862         legacy vs current acceleration paths for the 2D canvas. Currently,
1863         this is a no-op, and always select the legacy path.  This is temporary
1864         until we are ready to sort the GPU layout tests (rebasline vs. bug)
1865         * page/Settings.cpp:  Added new flage for legacyAccelerated2dCanvas
1866         (WebCore::Settings::Settings):
1867         (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
1868         * page/Settings.h:
1869         (WebCore::Settings::legacyAccelerated2dCanvasEnabled):
1870
1871 2011-04-29  Jer Noble  <jer.noble@apple.com>
1872
1873         Reviewed by Eric Seidel.
1874
1875         Implement FULLSCREEN_API on Windows, Part 4: Enable it
1876         https://bugs.webkit.org/show_bug.cgi?id=59798
1877
1878         * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
1879             files to the project.
1880
1881 2011-05-03  Alpha Lam  <hclam@chromium.org>
1882
1883         Not reviewed. Build fix.
1884
1885         More places from 0 to nullptr.
1886
1887         * bindings/v8/V8Proxy.cpp:
1888         (WebCore::V8Proxy::precompileScript):
1889         * platform/graphics/chromium/LayerTilerChromium.cpp:
1890         (WebCore::LayerTilerChromium::create):
1891         * platform/graphics/gpu/BicubicShader.cpp:
1892         (WebCore::BicubicShader::create):
1893         * platform/graphics/gpu/ConvolutionShader.cpp:
1894         (WebCore::ConvolutionShader::create):
1895         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
1896         (WebCore::LoopBlinnSolidFillShader::create):
1897         * platform/graphics/gpu/SolidFillShader.cpp:
1898         (WebCore::SolidFillShader::create):
1899         * platform/graphics/gpu/TexShader.cpp:
1900         (WebCore::TexShader::create):
1901         * platform/graphics/skia/PlatformContextSkia.cpp:
1902         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1903         * platform/leveldb/LevelDBDatabase.cpp:
1904         (WebCore::LevelDBDatabase::createIterator):
1905         * platform/text/LocalizedNumberICU.cpp:
1906         (WebCore::createFormatterForCurrentLocale):
1907
1908 2011-05-03  Alpha Lam  <hclam@chromium.org>
1909
1910         Not reviewed. Build fix.
1911
1912         Using nullptr instead of 0. This makes visual studio happy.
1913
1914         * storage/IDBTransactionBackendInterface.h:
1915
1916 2011-05-03  Luke Macpherson   <macpherson@chromium.org>
1917
1918         Reviewed by Dimitri Glazkov.
1919
1920         Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
1921         https://bugs.webkit.org/show_bug.cgi?id=59774
1922
1923         No new tests required as on new functionality.
1924
1925         * css/CSSStyleApplyProperty.cpp:
1926         (WebCore::ApplyPropertyColor::applyValue):
1927         Added template parameter "inheritColorFromParent = false".
1928         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1929         Use template parameter where appropriate.
1930
1931 2011-05-03  Dan Bernstein  <mitz@apple.com>
1932
1933         Reviewed by Darin Adler.
1934
1935         <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.
1936
1937         Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
1938         dirty the line when the float is removed, instead of relying on the float always intersecting
1939         its originating line.
1940
1941         * rendering/RenderBlock.cpp:
1942         (WebCore::RenderBlock::removeFloatingObject):
1943         (WebCore::RenderBlock::removeFloatingObjectsBelow):
1944         (WebCore::RenderBlock::clearFloats):
1945         * rendering/RenderBlock.h:
1946         (WebCore::RenderBlock::FloatingObject::FloatingObject):
1947         * rendering/RenderBlockLineLayout.cpp:
1948         (WebCore::RenderBlock::appendFloatingObjectToLastLine):
1949         (WebCore::RenderBlock::layoutRunsAndFloats):
1950         (WebCore::RenderBlock::determineStartPosition):
1951
1952 2011-05-02  Jer Noble  <jer.noble@apple.com>
1953
1954         Reviewed by Adam Roben.
1955
1956         Implement FULLSCREEN_API on Windows, Part 3: WebKit2
1957         https://bugs.webkit.org/show_bug.cgi?id=59845
1958
1959         Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
1960         and WebKit2.  WebFullScreenController now uses a Client class to request work on its
1961         behalf by WebKit and WebKit2.  MediaPlayerPrivateFullscreenWindow now only creates a 
1962         CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
1963         problems, and because a CALayerHost is overkill if the window is only drawing black to
1964         its client area.
1965
1966         * WebCore.vcproj/WebCore.vcproj:
1967         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1968         (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create 
1969             m_layerHost in the constructor.
1970         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
1971         (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
1972         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
1973             not present, fill the window with black in WM_PAINT.
1974         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
1975         * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
1976         * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
1977         * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
1978         (WebCore::FullScreenControllerClient::~FullScreenControllerClient):
1979
1980 2011-05-03  Brady Eidson  <beidson@apple.com>
1981
1982         Reviewed by Sam Weinig.
1983
1984         https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
1985         WK2 Icon Database should provide access to all image representations in the icon.
1986
1987         Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
1988         * platform/graphics/BitmapImage.h:
1989         * platform/graphics/Image.h:
1990         (WebCore::Image::getCGImageArray):
1991         * platform/graphics/cg/ImageCG.cpp:
1992         (WebCore::BitmapImage::getCGImageArray):
1993
1994 2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
1995
1996         Reviewed by Eric Seidel.
1997
1998         findNextLineBreak splits InlineIterator into 3 pieces
1999         https://bugs.webkit.org/show_bug.cgi?id=60082
2000
2001         Avoid splitting InlineIterator into 3 variables with inter-dependencies.
2002
2003         * rendering/InlineIterator.h:
2004         (WebCore::InlineIterator::fastIncrementInTextNode): Added.
2005         (WebCore::InlineIterator::previousInSameNode): Added.
2006         * rendering/RenderBlockLineLayout.cpp:
2007         (WebCore::RenderBlock::findNextLineBreak):
2008
2009 2011-05-03  Dean Jackson  <dino@apple.com>
2010
2011         Reviewed by Simon Fraser.
2012
2013         Interrupted transitions are not correctly removed
2014         https://bugs.webkit.org/show_bug.cgi?id=60062
2015
2016         CompositeAnimation was replacing any existing
2017         transition as a new one was created. However, it wasn't
2018         clearing the lists in AnimationControllerPrivate that
2019         signal when a hardware animation starts. Rather than
2020         simple removing the existing transition, we now tell
2021         AnimationControllerPrivate that is has gone.
2022
2023         Test: transitions/3d/interrupted-transition.html
2024
2025         * page/animation/CompositeAnimation.cpp:
2026         (WebCore::CompositeAnimation::updateTransitions):
2027
2028 2011-05-03  Enrica Casucci  <enrica@apple.com>
2029
2030         Reviewed by Ryosuke Niwa.
2031
2032         Crash in SpellingCorrectionController::respondToChangedSelection.
2033         https://bugs.webkit.org/show_bug.cgi?id=60071
2034         <rdar://problem/9358190>
2035
2036         Creating a Visible position could trigger a layout and there is no
2037         guarantee that the selection is still valid after that.
2038
2039         Tests: editing/selection/undo-crash.html
2040
2041         * editing/SpellingCorrectionController.cpp:
2042         (WebCore::SpellingCorrectionController::respondToChangedSelection):
2043
2044 2011-05-03  Levi Weintraub  <leviw@chromium.org>
2045
2046         Reviewed by Eric Seidel.
2047
2048         Refactor computeInlineDirectionPositionsForLine into smaller functions
2049         https://bugs.webkit.org/show_bug.cgi?id=60072
2050
2051         Split three functions off from computeInlineDirectionPositionsForLine
2052         to improve its readability.
2053
2054         No new tests since this is just moving code around.
2055
2056         * rendering/RenderBlock.h:
2057         * rendering/RenderBlockLineLayout.cpp:
2058         (WebCore::RenderBlock::setMarginsForRubyRun):
2059         (WebCore::setLogicalWidthForTextRun):
2060         (WebCore::computeExpansionForJustifiedText):
2061         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2062
2063 2011-05-03  David Kilzer  <ddkilzer@apple.com>
2064
2065         <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
2066
2067         Reviewed by Antti Koivisto.
2068
2069         * platform/network/cf/ResourceRequestCFNet.cpp:
2070         (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
2071         priority on the request if HTTP pipelining is enabled.
2072         (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
2073         priority from the request if HTTP pipelining is enabled.
2074         (readBooleanPreference): Enable code when compiling with
2075         USE(CFNETWORK).
2076         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
2077         Comment out setting the minimum fast lane priority on Windows
2078         since it's not currently available.
2079
2080 2011-05-03  Simon Fraser  <simon.fraser@apple.com>
2081
2082         Reviewed by Dan Bernstein.
2083
2084         <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
2085
2086         Conditionalize compositing tiled layer size-constraining logic to older
2087         OSes.
2088
2089         * platform/graphics/ca/GraphicsLayerCA.cpp:
2090         (WebCore::GraphicsLayerCA::constrainedSize):
2091
2092 2011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
2093
2094         Reviewed by Dimitri Glazkov.
2095
2096         Allow access keys to be used in shadow DOM
2097         https://bugs.webkit.org/show_bug.cgi?id=59979
2098
2099         Move access key methods and members back to Document from TreeScope.
2100         Also traverse into shadow trees when building the access key map.
2101
2102         No new tests. (refactoring)
2103
2104         * dom/Document.cpp:
2105         (WebCore::Document::Document):
2106         (WebCore::Document::getElementByAccessKey):
2107         (WebCore::Document::buildAccessKeyMap):
2108         (WebCore::Document::invalidateAccessKeyMap):
2109         * dom/Document.h:
2110         * dom/TreeScope.cpp:
2111         (WebCore::TreeScope::TreeScope):
2112         (WebCore::TreeScope::destroyTreeScopeData):
2113         * dom/TreeScope.h:
2114
2115 2011-05-03  Dan Bernstein  <mitz@apple.com>
2116
2117         Reviewed by Darin Adler.
2118
2119         <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
2120         https://bugs.webkit.org/show_bug.cgi?id=60067
2121
2122         No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
2123
2124         * rendering/RenderText.cpp:
2125         (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
2126         and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
2127         results for flipped writing modes.
2128
2129 2011-05-03  Anton Muhin  <antonm@chromium.org>
2130
2131         Reviewed by Yury Semikhatsky.
2132
2133         [v8] remove an ASSERT from grouping logic
2134         https://bugs.webkit.org/show_bug.cgi?id=60024
2135
2136         This ASSERT was exploratory.  Alas, right now I am aware of no easy way to
2137         repro it.  Removing for now for greener bots.
2138
2139         No new tests, only an ASSERT removal.
2140
2141         * bindings/v8/V8GCController.cpp:
2142         (WebCore::calculateGroupId):
2143
2144 2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
2145
2146         Reviewed by Darin Adler.
2147
2148         WebKit allows selection that crosses the shadow boundary of a readonly input element
2149         https://bugs.webkit.org/show_bug.cgi?id=60000
2150
2151         The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
2152         Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
2153         in its validation process.
2154
2155         Tests: editing/selection/select-across-readonly-input-1.html
2156                editing/selection/select-across-readonly-input-2.html
2157                editing/selection/select-across-readonly-input-3.html
2158                editing/selection/select-across-readonly-input-4.html
2159                editing/selection/select-across-readonly-input-5.html
2160
2161         * editing/VisibleSelection.cpp:
2162         (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
2163         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
2164         * editing/VisibleSelection.h:
2165
2166 2011-05-03  Eric Seidel  <eric@webkit.org>
2167
2168         Reviewed by Ryosuke Niwa.
2169
2170         Split out layoutRunsAndFloats from layoutInlineChildren
2171         https://bugs.webkit.org/show_bug.cgi?id=60052
2172
2173         No new tests, just moving code here.  There should be
2174         no change in behavior.
2175
2176         * rendering/RenderBlock.h:
2177         * rendering/RenderBlockLineLayout.cpp:
2178         (WebCore::RenderBlock::layoutRunsAndFloats):
2179         (WebCore::RenderBlock::layoutInlineChildren):
2180
2181 2011-05-03  James Robinson  <jamesr@chromium.org>
2182
2183         Reviewed by Kenneth Russell.
2184
2185         [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
2186         https://bugs.webkit.org/show_bug.cgi?id=59965
2187
2188         Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
2189
2190         Test: fast/canvas/canvas-resize-after-paint.html
2191
2192         * html/canvas/CanvasRenderingContext2D.cpp:
2193         (WebCore::CanvasRenderingContext2D::reset):
2194             Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
2195             DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
2196         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2197         (WebCore::Canvas2DLayerChromium::setLayerRenderer):
2198             Add a null check for m_drawingBuffer
2199         * platform/graphics/gpu/DrawingBuffer.cpp:
2200         (WebCore::DrawingBuffer::clear):
2201             Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
2202             this is unnecessary.
2203
2204 2011-05-03  Adam Roben  <aroben@apple.com>
2205
2206         Fix most strict PassOwnPtr violations on Windows
2207
2208         Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
2209         enabled
2210
2211         Reviewed by Anders Carlsson.
2212
2213         * loader/EmptyClients.h:
2214         * platform/GeolocationService.cpp:
2215         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2216         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2217         * platform/mock/GeolocationServiceMock.cpp:
2218         * rendering/RenderTheme.cpp:
2219         * rendering/RenderThemeSafari.cpp:
2220
2221 2011-05-03  Levi Weintraub  <leviw@chromium.org>
2222
2223         Reviewed by Eric Seidel.
2224
2225         Extract LineInfo class
2226         https://bugs.webkit.org/show_bug.cgi?id=60044
2227
2228         Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
2229         layout information about a line. This simplifies function signatures and clears up initialization.
2230
2231         No new tests as this is refactoring.
2232
2233         * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
2234         * rendering/RenderBlockLineLayout.cpp:
2235         (WebCore::LineInfo::LineInfo):
2236         (WebCore::LineInfo::isFirstLine):
2237         (WebCore::LineInfo::isLastLine):
2238         (WebCore::LineInfo::isEmpty):
2239         (WebCore::LineInfo::previousLineBrokeCleanly):
2240         (WebCore::LineInfo::setFirstLine):
2241         (WebCore::LineInfo::setLastLine):
2242         (WebCore::LineInfo::setEmpty):
2243         (WebCore::LineInfo::setPreviousLineBrokeCleanly):
2244         (WebCore::RenderBlock::createLineBoxes):
2245         (WebCore::RenderBlock::constructLine):
2246         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2247         (WebCore::RenderBlock::layoutInlineChildren):
2248         (WebCore::RenderBlock::determineStartPosition):
2249         (WebCore::skipNonBreakingSpace):
2250         (WebCore::shouldCollapseWhiteSpace):
2251         (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
2252         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
2253         (WebCore::RenderBlock::skipTrailingWhitespace):
2254         (WebCore::RenderBlock::skipLeadingWhitespace):
2255         (WebCore::RenderBlock::findNextLineBreak):
2256
2257 2011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
2258
2259         Reviewed by Dimitri Glazkov.
2260
2261         Update node list cache count on the containing TreeScope rather than the Document
2262         https://bugs.webkit.org/show_bug.cgi?id=59983
2263
2264         Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
2265         Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
2266         Make setDocument() and setDocumentRecursively() private.
2267
2268         No new tests. (refactoring)
2269
2270         * dom/ContainerNode.cpp:
2271         (WebCore::ContainerNode::childrenChanged):
2272         * dom/Node.cpp:
2273         (WebCore::Node::~Node):
2274         (WebCore::Node::setDocument):
2275         (WebCore::Node::setTreeScopeRecursively):
2276         (WebCore::Node::childNodes):
2277         (WebCore::Node::registerDynamicNodeList):
2278         (WebCore::Node::unregisterDynamicNodeList):
2279         (WebCore::Node::notifyLocalNodeListsAttributeChanged):
2280         (WebCore::Node::notifyLocalNodeListsChildrenChanged):
2281         (WebCore::Node::getElementsByTagName):
2282         (WebCore::Node::getElementsByTagNameNS):
2283         (WebCore::Node::getElementsByName):
2284         (WebCore::Node::getElementsByClassName):
2285         * dom/Node.h:
2286         * html/HTMLFormControlElement.cpp:
2287         (WebCore::HTMLFormControlElement::labels):
2288
2289 2011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
2290
2291         Reviewed by Eric Seidel.
2292
2293         Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
2294         https://bugs.webkit.org/show_bug.cgi?id=60046
2295
2296         Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
2297
2298         * rendering/RenderBlockLineLayout.cpp:
2299         (WebCore::TrailingObjects::TrailingObjects):
2300         (WebCore::TrailingObjects::setTrailingWhitespace):
2301         (WebCore::TrailingObjects::clear):
2302         (WebCore::TrailingObjects::appendBoxIfNeeded):
2303         (WebCore::TrailingObjects::addMidpoints):
2304         (WebCore::RenderBlock::findNextLineBreak):
2305
2306 2011-05-03  Igor Oliveira  <igor.oliveira@openbossa.org>
2307
2308         Reviewed by Eric Seidel.
2309
2310         [Qt] Implement initial support to DataTransferItems
2311         https://bugs.webkit.org/show_bug.cgi?id=58448
2312
2313         Implement initial support to DataTransferItems. DataTransferItems are used to 
2314         hold data for drag and drop operations. DataTransferItems hold a list of 
2315         DataTransferItem objects each of which holds an item being dragged.
2316
2317         * WebCore.pro:
2318         * dom/DataTransferItems.idl:
2319         * editing/qt/EditorQt.cpp:
2320         (WebCore::Editor::newGeneralClipboard):
2321         * page/qt/EventHandlerQt.cpp:
2322         (WebCore::EventHandler::createDraggingClipboard):
2323         * platform/chromium/DataTransferItemsChromium.h:
2324         * platform/qt/ClipboardQt.cpp:
2325         (WebCore::Clipboard::create):
2326         (WebCore::ClipboardQt::ClipboardQt):
2327         (WebCore::ClipboardQt::items):
2328         * platform/qt/ClipboardQt.h:
2329         (WebCore::ClipboardQt::create):
2330         * platform/qt/DataTransferItemQt.cpp: Added.
2331         (WebCore::DataTransferItem::create):
2332         (WebCore::DataTransferItemQt::createFromPasteboard):
2333         (WebCore::DataTransferItemQt::create):
2334         (WebCore::DataTransferItemQt::DataTransferItemQt):
2335         (WebCore::DataTransferItemQt::getAsString):
2336         (WebCore::DataTransferItemQt::getAsFile):
2337         * platform/qt/DataTransferItemQt.h: Added.
2338         * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
2339         (WebCore::DataTransferItemsQt::create):
2340         (WebCore::DataTransferItemsQt::DataTransferItemsQt):
2341         (WebCore::DataTransferItemsQt::addPasteboardItem):
2342         * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
2343
2344 2011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>
2345
2346         Reviewed by Dimitri Glazkov.
2347
2348         Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
2349         https://bugs.webkit.org/show_bug.cgi?id=58703
2350
2351         No new tests, refactoring only.
2352
2353         * dom/Element.cpp:
2354         (WebCore::Element::copyNonAttributeProperties):
2355         (WebCore::Element::insertedIntoDocument):
2356         (WebCore::Element::removedFromDocument):
2357         (WebCore::Element::insertedIntoTree):
2358         (WebCore::Element::removedFromTree):
2359         (WebCore::Element::attach):
2360         (WebCore::Element::detach):
2361         (WebCore::Element::recalcStyle):
2362         (WebCore::Element::shadowRoot):
2363         (WebCore::Element::ensureShadowRoot):
2364         (WebCore::Element::childrenChanged):
2365         * dom/Node.cpp:
2366         (WebCore::Node::setTreeScopeRecursively):
2367         (WebCore::shadowRoot):
2368         (WebCore::Node::setDocumentRecursively):
2369         (WebCore::NodeRendererFactory::findVisualParent):
2370         Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
2371         previous classes.
2372
2373         * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
2374
2375         * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
2376
2377         * html/HTMLDetailsElement.cpp:
2378         * html/HTMLSummaryElement.cpp:
2379         Added #include for ShadowRoot.h.
2380
2381 2011-05-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2382
2383         Reviewed by Kenneth Rohde Christiansen.
2384
2385         [EFL] Implement mediaSliderTrack
2386         https://bugs.webkit.org/show_bug.cgi?id=59998
2387
2388         Implement paintMediaSliderTrack.
2389
2390         * platform/efl/RenderThemeEfl.cpp:
2391         (WebCore::RenderThemeEfl::RenderThemeEfl):
2392         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
2393         * platform/efl/RenderThemeEfl.h:
2394
2395 2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
2396
2397         Reviewed by Pavel Feldman.
2398
2399         WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
2400         https://bugs.webkit.org/show_bug.cgi?id=60023
2401
2402         * inspector/front-end/DetailedHeapshotGridNodes.js:
2403         (WebInspector.HeapSnapshotConstructorNode):
2404         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
2405         * inspector/front-end/HeapSnapshot.js:
2406         (WebInspector.HeapSnapshot.prototype.dispose):
2407         (WebInspector.HeapSnapshot.prototype.aggregates):
2408         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2409         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
2410         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
2411         (WebInspector.HeapSnapshotFilteredOrderedIterator):
2412         (WebInspector.HeapSnapshotNodesProvider):
2413         * inspector/front-end/HeapSnapshotProxy.js:
2414         (WebInspector.HeapSnapshotProxy.prototype.aggregates):
2415         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
2416
2417 2011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
2418
2419         Reviewed by Pavel Feldman.
2420
2421         WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
2422         https://bugs.webkit.org/show_bug.cgi?id=60029
2423
2424         * English.lproj/localizedStrings.js:
2425         * inspector/front-end/DetailedHeapshotView.js:
2426         (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
2427         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
2428
2429 2011-05-03  Beth Dakin  <bdakin@apple.com>
2430
2431         Reviewed by Dan Bernstein.
2432
2433         https://bugs.webkit.org/show_bug.cgi?id=60045
2434         Scrollbar thumb sometimes leaves artifacts in the track after scrolling
2435         -and corresponding-
2436         <rdar://problem/9015376>
2437
2438         When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should 
2439         always be ignored.
2440         * platform/mac/ScrollbarThemeMac.mm:
2441         (WebCore::updateArrowPlacement):
2442
2443 2011-05-03  David Hyatt  <hyatt@apple.com>
2444
2445         Reviewed by Dan Bernstein.
2446
2447         https://bugs.webkit.org/show_bug.cgi?id=60040
2448         <rdar://problem/9261591>
2449
2450         Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
2451         a translation of a 0,0 point to absolute coordinates so that the top left position is
2452         accurate.
2453
2454         Added fast/inline/skipped-whitespace-client-rect.html
2455         
2456         * rendering/RenderInline.cpp:
2457         (WebCore::RenderInline::culledInlineAbsoluteQuads):
2458
2459 2011-05-03  Sam Weinig  <sam@webkit.org>
2460
2461         Fix chromium build.
2462
2463         * page/Settings.cpp:
2464
2465 2011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
2466
2467         Reviewed by Dimitri Glazkov.
2468
2469         Bug 59974 - Update image map on the containing TreeScope rather than the Document
2470         https://bugs.webkit.org/show_bug.cgi?id=59974
2471
2472         No new tests. (reefactoring)
2473
2474         * html/HTMLMapElement.cpp:
2475         (WebCore::HTMLMapElement::parseMappedAttribute):
2476         (WebCore::HTMLMapElement::insertedIntoDocument):
2477         (WebCore::HTMLMapElement::removedFromDocument):
2478         * rendering/RenderImage.cpp:
2479         (WebCore::RenderImage::imageMap):
2480
2481 2011-05-03  Sam Weinig  <sam@webkit.org>
2482
2483         Fix chromium build.
2484
2485         * loader/HistoryController.cpp:
2486
2487 2011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
2488
2489         Reviewed by Dimitri Glazkov.
2490
2491         Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
2492         https://bugs.webkit.org/show_bug.cgi?id=59966
2493
2494         No new tests. (refactoring)
2495
2496         * accessibility/AccessibilityRenderObject.cpp:
2497         (WebCore::AccessibilityRenderObject::elementsFromAttribute):
2498         (WebCore::AccessibilityRenderObject::activeDescendant):
2499         * accessibility/AccessibilityRenderObject.h:
2500         (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
2501         * css/CSSCursorImageValue.cpp:
2502         (WebCore::resourceReferencedByCursorElement):
2503         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2504         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2505         (WebCore::CSSCursorImageValue::cachedImage):
2506         * dom/DynamicNodeList.cpp:
2507         (WebCore::DynamicNodeList::itemWithName):
2508         * dom/Element.h:
2509         (WebCore::Element::updateId):
2510         * dom/Node.cpp:
2511         (WebCore::Node::querySelector):
2512         * html/FormAssociatedElement.cpp:
2513         (WebCore::FormAssociatedElement::insertedIntoTree):
2514         (WebCore::FormAssociatedElement::resetFormOwner):
2515         * html/HTMLInputElement.cpp:
2516         (WebCore::HTMLInputElement::dataList):
2517         * html/HTMLLabelElement.cpp:
2518         (WebCore::HTMLLabelElement::control):
2519         * rendering/svg/RenderSVGTextPath.cpp:
2520         (WebCore::RenderSVGTextPath::layoutPath):
2521         * svg/SVGAElement.cpp:
2522         (WebCore::SVGAElement::defaultEventHandler):
2523         * svg/SVGAltGlyphElement.cpp:
2524         (WebCore::SVGAltGlyphElement::glyphElement):
2525         * svg/SVGFEImageElement.cpp:
2526         (WebCore::SVGFEImageElement::requestImageResource):
2527         (WebCore::SVGFEImageElement::build):
2528         * svg/SVGLinearGradientElement.cpp:
2529         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2530         * svg/SVGMPathElement.cpp:
2531         (WebCore::SVGMPathElement::pathElement):
2532         * svg/SVGPatternElement.cpp:
2533         (WebCore::SVGPatternElement::collectPatternAttributes):
2534         * svg/SVGRadialGradientElement.cpp:
2535         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2536         * svg/SVGSVGElement.cpp:
2537         (WebCore::SVGSVGElement::getElementById):
2538         * svg/SVGTRefElement.cpp:
2539         (WebCore::SVGTRefElement::updateReferencedText):
2540         * svg/SVGTextPathElement.cpp:
2541         (WebCore::SVGTextPathElement::insertedIntoDocument):
2542         * svg/SVGUseElement.cpp:
2543         (WebCore::SVGUseElement::buildPendingResource):
2544         (WebCore::SVGUseElement::hasCycleUseReferencing):
2545         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2546         * svg/SVGViewSpec.cpp:
2547         (WebCore::SVGViewSpec::viewTarget):
2548         * svg/animation/SVGSMILElement.cpp:
2549         (WebCore::SVGSMILElement::eventBaseFor):
2550         (WebCore::SVGSMILElement::connectConditions):
2551         (WebCore::SVGSMILElement::targetElement):
2552         * xml/XPathFunctions.cpp:
2553         (WebCore::XPath::FunId::evaluate):
2554
2555 2011-05-03  Sam Weinig  <sam@webkit.org>
2556
2557         Fix chromium build.
2558
2559         * css/StyleMedia.cpp:
2560
2561 2011-05-03  Sam Weinig  <sam@webkit.org>
2562
2563         Reviewed by Anders Carlsson.
2564
2565         Prune #includes from FrameView.h (Part 1)
2566         https://bugs.webkit.org/show_bug.cgi?id=59957
2567
2568         * page/FrameView.h:
2569         Prune #includes.
2570
2571         * accessibility/chromium/AXObjectCacheChromium.cpp:
2572         * page/win/FrameCGWin.cpp:
2573         * platform/Scrollbar.cpp:
2574         Add not necessary #includes.
2575
2576         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
2577         Add now necessary forward declaration.
2578
2579 2011-05-03  Andrey Kosyakov  <caseq@chromium.org>
2580
2581         Reviewed by Dimitri Glazkov.
2582
2583         [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
2584         https://bugs.webkit.org/show_bug.cgi?id=60026
2585
2586         Return a wrapper for Node in toV8(Node*) when called with a node of type
2587         SHADOW_ROOT_NODE instead of entering infinite recursion.
2588
2589         * bindings/v8/custom/V8NodeCustom.cpp:
2590         (WebCore::toV8Slow):
2591
2592 2011-05-02  Adam Roben  <aroben@apple.com>
2593
2594         Take advantage of implicit conversion from nullptr_t to PassOwnPtr
2595
2596         Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
2597         doesn't work, but should
2598
2599         Reviewed by Adam Barth.
2600
2601         * bindings/js/ScheduledAction.cpp:
2602         * css/CSSStyleSelector.cpp:
2603         * css/MediaList.cpp:
2604         * css/MediaQueryMatcher.cpp:
2605         * css/SVGCSSStyleSelector.cpp:
2606         * dom/MessagePort.cpp:
2607         * html/InputType.cpp:
2608         * html/canvas/WebGLRenderingContext.cpp:
2609         * inspector/InspectorStyleSheet.cpp:
2610         * page/ContextMenuController.cpp:
2611         * page/Page.cpp:
2612         * platform/PlatformGestureRecognizer.cpp:
2613         * platform/PurgeableBuffer.h:
2614         * platform/graphics/ImageBuffer.h:
2615         * platform/leveldb/LevelDBDatabase.cpp:
2616         * platform/mac/PurgeableBufferMac.cpp:
2617         * platform/text/RegularExpression.cpp:
2618         * rendering/RenderTheme.cpp:
2619         * rendering/RenderThemeMac.mm:
2620         * rendering/style/RenderStyle.h:
2621         * rendering/style/SVGRenderStyleDefs.cpp:
2622         * rendering/style/ShadowData.cpp:
2623         * rendering/style/StyleRareInheritedData.cpp:
2624         * rendering/style/StyleRareNonInheritedData.cpp:
2625         * rendering/svg/RenderSVGResourcePattern.cpp:
2626
2627 2011-05-03  Pavel Feldman  <pfeldman@google.com>
2628
2629         Not reviewed: fix inspector status bar image glyph reference in network panel.
2630
2631         * inspector/front-end/networkPanel.css:
2632         (.network-larger-resources-status-bar-item .glyph):
2633
2634 2011-05-03  Pavel Feldman  <pfeldman@google.com>
2635
2636         Reviewed by Yury Semikhatsky.
2637
2638         Web Inspector: rename BrowserDebugger agent to DOMDebugger.
2639         https://bugs.webkit.org/show_bug.cgi?id=60019
2640
2641         * inspector/CodeGeneratorInspector.pm:
2642         * inspector/Inspector.json:
2643         * inspector/InspectorController.cpp:
2644         (WebCore::InspectorController::connectFrontend):
2645         * inspector/front-end/BreakpointsSidebarPane.js:
2646         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
2647         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
2648         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
2649         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
2650         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
2651         * inspector/generate-inspector-idl:
2652
2653 2011-05-03  Yury Semikhatsky  <yurys@chromium.org>
2654
2655         Reviewed by Pavel Feldman.
2656
2657         Web Inspector: remove special logic for type of document.__proto__
2658         https://bugs.webkit.org/show_bug.cgi?id=60014
2659
2660         Test: inspector/console/console-log-document-proto.html
2661
2662         * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined
2663
2664 2011-05-03  Pavel Feldman  <pfeldman@google.com>
2665
2666         Not reviewed: fixed typo in inspector style.
2667
2668         * inspector/front-end/inspector.css:
2669         (.status-bar-item > .glyph):
2670
2671 2011-05-03  Pavel Feldman  <pfeldman@chromium.org>
2672
2673         Reviewed by Yury Semikhatsky.
2674
2675         Web Inspector: revision history storage is too slow.
2676         https://bugs.webkit.org/show_bug.cgi?id=59939
2677
2678         It turns out that iterating localStorage keys is very
2679         expensive (results in slow inspector start), refactor revision
2680         history in order not to rely upon that operation.
2681
2682         * inspector/front-end/Resource.js:
2683         (WebInspector.Resource):
2684         (WebInspector.Resource._resourceRevisionRegistry):
2685         (WebInspector.Resource.restoreRevisions.persist):
2686         (WebInspector.Resource.restoreRevisions):
2687         (WebInspector.Resource.persistRevision):
2688         (WebInspector.Resource.prototype._persistRevision):
2689         * inspector/front-end/ResourceTreeModel.js:
2690         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
2691         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
2692
2693 2011-05-03  Pavel Feldman  <pfeldman@chromium.org>
2694
2695         Reviewed by Yury Semikhatsky.
2696
2697         Web Inspector: combine toolbar icon images.
2698         https://bugs.webkit.org/show_bug.cgi?id=59931
2699
2700         * WebCore.gypi:
2701         * inspector/front-end/Images/auditsIcon.png: Removed.
2702         * inspector/front-end/Images/consoleIcon.png: Removed.
2703         * inspector/front-end/Images/elementsIcon.png: Removed.
2704         * inspector/front-end/Images/networkIcon.png: Removed.
2705         * inspector/front-end/Images/profilesIcon.png: Removed.
2706         * inspector/front-end/Images/resourcesIcon.png: Removed.
2707         * inspector/front-end/Images/scriptsIcon.png: Removed.
2708         * inspector/front-end/Images/timelineIcon.png: Removed.
2709         * inspector/front-end/Images/toolbarIcons.png: Added.
2710         * inspector/front-end/Images/toolbarIconsSmall.png: Added.
2711         * inspector/front-end/WebKit.qrc:
2712         * inspector/front-end/inspector.css:
2713         (.toolbar-icon):
2714         (#toolbar-dropdown .toolbar-icon):
2715         (.toolbar-item:active .toolbar-icon):
2716         (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
2717         (.toolbar-item.elements .toolbar-icon):
2718         (.toolbar-item.resources .toolbar-icon):
2719         (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
2720         (.toolbar-item.network .toolbar-icon):
2721         (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
2722         (.toolbar-item.scripts .toolbar-icon):
2723         (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
2724         (.toolbar-item.timeline .toolbar-icon):
2725         (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
2726         (.toolbar-item.profiles .toolbar-icon):
2727         (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
2728         (.toolbar-item.audits .toolbar-icon):
2729         (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
2730         (.toolbar-item.console .toolbar-icon):
2731         (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
2732         (.status-bar-item > .glyph):
2733
2734 2011-05-03  Pavel Feldman  <pfeldman@chromium.org>
2735
2736         Reviewed by Yury Semikhatsky.
2737
2738         Web Inspector: combine status bar button glyphs.
2739         https://bugs.webkit.org/show_bug.cgi?id=59885
2740
2741         * WebCore.gypi:
2742         * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
2743         * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
2744         * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
2745         * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
2746         * inspector/front-end/Images/dockButtonGlyph.png: Removed.
2747         * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
2748         * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
2749         * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
2750         * inspector/front-end/Images/focusButtonGlyph.png: Removed.
2751         * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
2752         * inspector/front-end/Images/gearButtonGlyph.png: Removed.
2753         * inspector/front-end/Images/helpButtonGlyph.png: Removed.
2754         * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
2755         * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
2756         * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
2757         * inspector/front-end/Images/percentButtonGlyph.png: Removed.
2758         * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
2759         * inspector/front-end/Images/recordButtonGlyph.png: Removed.
2760         * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
2761         * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
2762         * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
2763         * inspector/front-end/Images/undockButtonGlyph.png: Removed.
2764         * inspector/front-end/WebKit.qrc:
2765         * inspector/front-end/inspector.css:
2766         (.status-bar-item > .glyph):
2767         (#dock-status-bar-item .glyph):
2768         (body.detached #dock-status-bar-item .glyph):
2769         (#console-status-bar-item .glyph):
2770         (.clear-status-bar-item .glyph):
2771         (button.enable-toggle-status-bar-item .glyph):
2772         (button.enable-toggle-status-bar-item.toggled-on .glyph):
2773         (.scripts-pause-on-exceptions-status-bar-item .glyph):
2774         (.scripts-toggle-pretty-print-status-bar-item .glyph):
2775         (.toggle-breakpoints .glyph):
2776         (.toggle-breakpoints.toggled-on .glyph):
2777         (.resources-larger-resources-status-bar-item .glyph):
2778         (.timeline-filter-status-bar-item .glyph):
2779         (.garbage-collect-status-bar-item .glyph):
2780         (.record-profile-status-bar-item .glyph):
2781         (.record-profile-status-bar-item.toggled-on .glyph):
2782         (.heap-snapshot-status-bar-item .glyph):
2783         (.node-search-status-bar-item .glyph):
2784         (.percent-time-status-bar-item .glyph):
2785         (.focus-profile-node-status-bar-item .glyph):
2786         (.exclude-profile-node-status-bar-item .glyph):
2787         (.reset-profile-status-bar-item .glyph):
2788         (.delete-storage-status-bar-item .glyph):
2789         (.refresh-storage-status-bar-item .glyph):
2790         * inspector/front-end/inspector.js:
2791
2792 2011-05-02  Simon Fraser  <simon.fraser@apple.com>
2793
2794         Reviewed by Dan Bernstein.
2795
2796         Possible crash when removing elements with reflections
2797         https://bugs.webkit.org/show_bug.cgi?id=60009
2798         
2799         RenderLayer's destructor deleted its z-order list Vector pointers
2800         before removing the reflection layer. However, the reflection cleanup
2801         code could call back into the RenderLayer to dirty z-order lists,
2802         so move reflection cleanup to before z-order vector deletion.
2803         
2804         The test crashes when run manually a few times with MallocScribble enabled,
2805         but I was not able to create a test that crashed reliably.
2806
2807         Test: fast/reflections/remove-reflection-crash.html
2808
2809         * rendering/RenderLayer.cpp:
2810         (WebCore::RenderLayer::~RenderLayer):
2811
2812 2011-05-02  Ian Henderson  <ianh@apple.com>
2813
2814         Reviewed by Dan Bernstein.
2815
2816         CSS !important not respected by JavaScript
2817         https://bugs.webkit.org/show_bug.cgi?id=60007
2818
2819         The addParsedProperty and addParsedProperties methods were subtly
2820         different.  The former did not check for !important before setting the
2821         given property.
2822
2823         Change addParsedProperties to call addParsedProperty and move the
2824         relevant code.  The one other caller of this method, in
2825         editing/markup.cpp, probably wanted this behavior anyway.
2826
2827         Test: fast/css/important-js-override.html
2828
2829         * css/CSSMutableStyleDeclaration.cpp:
2830         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
2831         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
2832
2833 2011-05-02  Ben Wells  <benwells@chromium.org>
2834
2835         Reviewed by Simon Fraser.
2836
2837         Cleanup variable usage in RenderObject.cpp paintOutline()
2838         https://bugs.webkit.org/show_bug.cgi?id=59911
2839
2840         No new tests for this, there should be no change in behaviour.
2841
2842         * rendering/RenderObject.cpp:
2843         (WebCore::RenderObject::paintOutline):
2844
2845 2011-05-02  Ryosuke Niwa  <rniwa@webkit.org>
2846
2847         Reviewed by James Robinson.
2848
2849         REGRESSION(r84672): showTree doesn't work for input/textarea elements
2850         https://bugs.webkit.org/show_bug.cgi?id=60001
2851
2852         When shadow is null, try retrieving the inner element of a render text control.
2853
2854         * dom/Node.cpp:
2855         (WebCore::traverseTreeAndMark):
2856
2857 2011-05-02  Joseph Pecoraro  <joepeck@webkit.org>
2858
2859         Reviewed by David Kilzer.
2860
2861         Respect fixed text-indent on ::-webkit-input-placeholder
2862         https://bugs.webkit.org/show_bug.cgi?id=59825
2863
2864         Test: fast/forms/input-placeholder-text-indent.html
2865
2866         * rendering/RenderTextControl.cpp:
2867         (WebCore::RenderTextControl::paintPlaceholder): indent by
2868         a fixed text-indent size specified on the placeholder style.
2869
2870 2011-05-02  Eric Uhrhane  <ericu@chromium.org>
2871
2872         Reviewed by Eric Seidel.
2873
2874         Some FileWriter progress events should be queued
2875         https://bugs.webkit.org/show_bug.cgi?id=50846
2876
2877         * fileapi/FileWriter.cpp:
2878         * fileapi/FileWriter.h:
2879         Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.
2880
2881 2011-05-02  Jia Pu  <jpu@apple.com>
2882
2883         Reviewed by Alexey Proskuryakov.
2884
2885         [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
2886         https://bugs.webkit.org/show_bug.cgi?id=59836
2887         <rdar://problem/9275983>
2888
2889         * platform/DefaultLocalizationStrategy.cpp:
2890         (WebCore::truncatedStringForLookupMenuItem):
2891         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
2892
2893 2011-05-02  Brady Eidson  <beidson@apple.com>
2894
2895         Reviewed by Anders Carlsson.
2896
2897         <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
2898         In Aperture, a WebView might be dealloc'ed before it finishes loading.
2899
2900         * WebCore.exp.in:
2901         * platform/RuntimeApplicationChecks.cpp:
2902         (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
2903         * platform/RuntimeApplicationChecks.h:
2904
2905 2011-05-02  Simon Fraser  <simon.fraser@apple.com>
2906
2907         Reviewed by Dan Bernstein.
2908
2909         Avoid wasted cycles updating paths when popping the context stack
2910         https://bugs.webkit.org/show_bug.cgi?id=59967
2911
2912         CanvasRenderingContext2D has to map the current path through
2913         transforms whenever the context stack is popped, which creates
2914         a lot of platform path objects. Avoid extra work here when the
2915         path is empty, or when the transform is identity.
2916
2917         * platform/graphics/cg/PathCG.cpp:
2918         (WebCore::Path::transform):
2919
2920 2011-05-02  Enrica Casucci  <enrica@apple.com>
2921
2922         Reviewed by Dan Bernstein.
2923
2924         Text does not split on white space when typing to the edge of window.
2925         https://bugs.webkit.org/show_bug.cgi?id=59968
2926         <rdar://problem/9112683>
2927
2928         Test: editing/inserting/typing-at-end-of-line.html
2929
2930         This is a regression introduced when we converted the line box tree to
2931         floating point in r78846. In findNextLineBreak, there was still one place where
2932         the character width was treated as int and truncated and we were inconsistent
2933         in the way we treated a character that did not fit entirely in the line.
2934
2935         * rendering/RenderBlockLineLayout.cpp:
2936         (WebCore::RenderBlock::findNextLineBreak):
2937
2938 2011-04-19  Adrienne Walker  <enne@google.com>
2939
2940         Reviewed by James Robinson.
2941
2942         [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
2943         https://bugs.webkit.org/show_bug.cgi?id=58907
2944
2945         Additionally, move the context save/restore logic to a place where it
2946         will reset the translation added in LayerTilerChromium.
2947
2948         Test: compositing/repaint/same-size-invalidation.html
2949
2950         * platform/graphics/chromium/ContentLayerChromium.cpp:
2951         (WebCore::ContentLayerPainter::paint):
2952         * platform/graphics/chromium/PlatformCanvas.cpp:
2953         (WebCore::PlatformCanvas::resize):
2954         (WebCore::PlatformCanvas::Painter::Painter):
2955         (WebCore::PlatformCanvas::Painter::~Painter):
2956         * platform/graphics/chromium/PlatformCanvas.h:
2957
2958 2011-05-02  Csaba Osztrogonác  <ossy@webkit.org>
2959
2960         Enable strict OwnPtr for Qt
2961         https://bugs.webkit.org/show_bug.cgi?id=59667
2962
2963         Unreviewed buildfix after r85343.
2964
2965         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2966         (WebCore::GraphicsContext3D::GraphicsContext3D):
2967
2968 2011-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2969
2970         Unreviewed, rolling out r85483.
2971         http://trac.webkit.org/changeset/85483
2972         https://bugs.webkit.org/show_bug.cgi?id=59958
2973
2974         Causes media test failures. (Requested by eric_carlson on
2975         #webkit).
2976
2977         * html/HTMLMediaElement.cpp:
2978         (WebCore::HTMLMediaElement::HTMLMediaElement):
2979         (WebCore::HTMLMediaElement::prepareForLoad):
2980         (WebCore::HTMLMediaElement::seek):
2981         (WebCore::HTMLMediaElement::updatePlayState):
2982         * html/HTMLMediaElement.h:
2983         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2984         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2985         (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
2986         (WebCore::MediaPlayerPrivateAVFoundation::load):
2987         (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
2988         (WebCore::MediaPlayerPrivateAVFoundation::paint):
2989         (WebCore::MediaPlayerPrivateAVFoundation::duration):
2990         (WebCore::MediaPlayerPrivateAVFoundation::seeking):
2991         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2992         (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
2993         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
2994         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
2995         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
2996         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
2997         (WebCore::MediaPlayerPrivateAVFoundation::repaint):
2998         (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
2999         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3000         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3001         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3002         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
3003         (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
3004         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
3005         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
3006         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
3007         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
3008         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
3009         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
3010         (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
3011         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
3012         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
3013         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
3014
3015 2011-05-02  Adam Barth  <abarth@webkit.org>
3016
3017         Reviewed by David Levin.
3018
3019         PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
3020         https://bugs.webkit.org/show_bug.cgi?id=59924
3021
3022         * css/CSSGrammar.y:
3023         * platform/graphics/mac/SimpleFontDataMac.mm:
3024             - Memory management for the font cache is somewhat... complext.
3025               This will require some careful thought to sort out.
3026
3027 2011-05-02  Levi Weintraub  <leviw@chromium.org>
3028
3029         Reviewed by Eric Seidel.
3030
3031         showLineTree/showLineTreeForThis would make working with the line box tree easier
3032         https://bugs.webkit.org/show_bug.cgi?id=59662
3033
3034         Adding a showLineTree/showLineTreeForThis method to help visualize and debug
3035         the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.
3036
3037         No new tests since this is a debugging feature only and not compiled in release.
3038
3039         * rendering/InlineBox.cpp:
3040         (WebCore::InlineBox::showLineTreeForThis):
3041         (WebCore::InlineBox::showLineTreeAndMark):
3042         (WebCore::InlineBox::showBox):
3043         (showLineTree):
3044         * rendering/InlineBox.h:
3045         * rendering/InlineFlowBox.cpp:
3046         (WebCore::InlineFlowBox::showLineTreeAndMark):
3047         * rendering/InlineFlowBox.h:
3048         * rendering/InlineTextBox.cpp:
3049         (WebCore::InlineTextBox::showBox):
3050         * rendering/InlineTextBox.h:
3051         * rendering/RenderBlock.cpp:
3052         (WebCore::RenderBlock::showLineTreeAndMark):
3053         * rendering/RenderBlock.h:
3054         * rendering/RenderObject.cpp:
3055         (WebCore::RenderObject::showRenderTreeForThis):
3056         (WebCore::RenderObject::showLineTreeForThis):
3057         (showTree):
3058         (showLineTree):
3059         * rendering/RenderObject.h:
3060
3061 2011-05-02  Dimitri Glazkov  <dglazkov@chromium.org>
3062
3063         Reviewed by Eric Carlson.
3064
3065         REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
3066         https://bugs.webkit.org/show_bug.cgi?id=59917
3067
3068         Since default event handlers are not retargeted, we should always attempt ancestor
3069         traversal to find out whether the event.
3070
3071         * html/MediaDocument.cpp:
3072         (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
3073         (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.
3074
3075 2011-05-02  Sam Weinig  <sam@webkit.org>
3076
3077         Attempt to fix the Leopard build.
3078
3079         * platform/graphics/FontPlatformData.h:
3080         * platform/graphics/mac/ComplexTextController.h:
3081         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
3082         * platform/mac/WebCoreSystemInterface.h:
3083
3084 2011-05-02  Tony Chang  <tony@chromium.org>
3085
3086         Reviewed by Kent Tamura.
3087
3088         convert manual-tests/bugzilla-6821.html to a layout test
3089         https://bugs.webkit.org/show_bug.cgi?id=59404
3090
3091         Test: fast/css/hover-update.html
3092
3093         * manual-tests/bugzilla-6821.html: Removed.
3094
3095 2011-05-02  Sam Weinig  <sam@webkit.org>
3096
3097         Reviewed by Anders Carlsson.
3098
3099         Prune ApplicationServices.h out of the headers
3100         https://bugs.webkit.org/show_bug.cgi?id=59952
3101
3102         More forward declares are better.
3103
3104         * html/canvas/CanvasRenderingContext2D.cpp:
3105         * html/canvas/CanvasRenderingContext2D.h:
3106         * platform/graphics/GlyphBuffer.h:
3107         * platform/graphics/cg/ImageBufferCG.cpp:
3108         * platform/graphics/cg/PDFDocumentImage.cpp:
3109         * platform/graphics/cg/PDFDocumentImage.h:
3110         * platform/graphics/mac/ComplexTextController.h:
3111         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3112         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3113         * platform/mac/ScrollAnimatorMac.h:
3114         * platform/mac/ScrollAnimatorMac.mm:
3115         * platform/mac/ScrollbarThemeMac.h:
3116         * platform/mac/ScrollbarThemeMac.mm:
3117         * platform/mac/WebCoreNSStringExtras.h:
3118         * platform/mac/WebCoreSystemInterface.h:
3119
3120 2011-05-02  Dan Bernstein  <mitz@apple.com>
3121
3122         Reviewed by Simon Fraser.
3123
3124         <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
3125         https://bugs.webkit.org/show_bug.cgi?id=58006
3126
3127         * rendering/RenderBox.cpp:
3128         (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
3129         <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
3130         table cell as the immediate containing block, but any case where all containing block ancestors
3131         up to and including a table cell are auto-or-percent height.
3132
3133 2011-05-02  Daniel Bates  <dbates@webkit.org>
3134
3135         Reviewed by Sam Weinig.
3136
3137         Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
3138         https://bugs.webkit.org/show_bug.cgi?id=59379
3139
3140         Move manual test onblur-remove.html to LayoutTests/fast/events.
3141
3142         Test: fast/events/onblur-remove.html
3143
3144         * manual-tests/onblur-remove.html: Removed.
3145
3146 2011-05-02  Sailesh Agrawal  <sail@chromium.org>
3147
3148         Reviewed by Dimitri Glazkov.
3149
3150         Chromium Mac: Add scrollbar overlay drawing functions
3151         https://bugs.webkit.org/show_bug.cgi?id=59741
3152
3153         These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.
3154
3155         No new tests, since this code is only enabled on future versions of Mac OS X.
3156
3157         * WebCore.gypi:
3158         * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
3159         * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
3160         (LookUpNSScrollerImpClass):
3161         (LookUpNSScrollerImpPairClass):
3162         (ScrollbarControlSizeToNSControlSize):
3163         (wkScrollbarPainterUsesOverlayScrollers):
3164         (wkScrollbarPainterIsHorizontal):
3165         (wkScrollbarPainterKnobAlpha):
3166         (wkScrollbarPainterSetOverlayState):
3167         (wkScrollbarPainterPaint):
3168         (wkScrollbarMinimumThumbLength):
3169         (wkScrollbarPainterSetDelegate):
3170         (wkScrollbarPainterTrackAlpha):
3171         (wkMakeScrollbarPainter):
3172         (wkScrollbarThickness):
3173         (wkScrollbarMinimumTotalLengthNeededForThumb):
3174         (wkVerticalScrollbarPainterForController):
3175         (wkHorizontalScrollbarPainterForController):
3176         (wkMakeScrollbarReplacementPainter):
3177         (wkSetPainterForPainterController):
3178         (wkSetScrollbarPainterControllerStyle):
3179         (wkScrollbarPainterKnobRect):
3180         (wkSetScrollbarPainterKnobAlpha):
3181         (wkSetScrollbarPainterTrackAlpha):
3182         (wkSetScrollbarPainterKnobStyle):
3183         (wkMakeScrollbarPainterController):
3184         (wkContentAreaScrolled):
3185         (wkContentAreaWillPaint):
3186         (wkMouseEnteredContentArea):
3187         (wkMouseExitedContentArea):
3188         (wkMouseMovedInContentArea):
3189         (wkWillStartLiveResize):
3190         (wkContentAreaResized):
3191         (wkWillEndLiveResize):
3192         (wkContentAreaDidShow):
3193         (wkContentAreaDidHide):
3194         (wkDidBeginScrollGesture):
3195         (wkDidEndScrollGesture):
3196         (wkScrollbarPainterForceFlashScrollers):
3197         (IsScrollbarOverlayAPIAvailable):
3198
3199 2011-05-02  Luke Macpherson   <macpherson@chromium.org>
3200
3201         Reviewed by Dimitri Glazkov.
3202
3203         Implement Length based CSS properties in CSSStyleApplyProperty
3204         https://bugs.webkit.org/show_bug.cgi?id=59314
3205
3206         No new tests as no functionality changed.
3207
3208         * css/CSSStyleApplyProperty.cpp:
3209         (WebCore::ApplyPropertyLength::ApplyPropertyLength):
3210         Added this class to handle all length types.
3211         Property specific behavior is handled through set of boolean parameters.
3212         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3213         Added calls to set up entries for the newly added length properties.
3214         * css/CSSStyleSelector.cpp:
3215         (WebCore::CSSStyleSelector::applyProperty):
3216         Remove property implementations mow implemented in CSSStyleApplyProperty.
3217         * css/CSSStyleSelector.h:
3218         (WebCore::CSSStyleSelector::rootElementStyle):
3219         Expose m_rootElementStyle via getter.
3220
3221 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
3222
3223         Reviewed by Eric Seidel.
3224
3225         HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
3226         https://bugs.webkit.org/show_bug.cgi?id=59828
3227
3228         No new tests required, no functional change because seeking to time zero before playback
3229         begins has no effect.
3230
3231         * html/HTMLMediaElement.cpp:
3232         (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
3233             HAVE_METADATA.
3234
3235 2011-05-02  Sam Weinig  <sam@webkit.org>
3236
3237         Reviewed by Gavin Barraclough.
3238
3239         Fix extra whitespace in license in FocusDirection.h.
3240
3241         * page/FocusDirection.h:
3242
3243 2011-05-02  Sam Weinig  <sam@webkit.org>
3244
3245         Reviewed by Adam Barth.
3246
3247         Prune some #includes from DOMWindow.h
3248         https://bugs.webkit.org/show_bug.cgi?id=59907
3249
3250         * page/DOMWindow.cpp:
3251         (WebCore::DOMWindow::setSecurityOrigin):
3252         * page/DOMWindow.h:
3253         Remove #includes of SecurityOrigin and MessagePort by forward declaring
3254         and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
3255         #include that was getting added by MessagePort.h.
3256
3257         * bindings/js/JSCustomVoidCallback.cpp:
3258         * bindings/js/JSCustomXPathNSResolver.cpp:
3259         * bindings/js/JSDOMWindowCustom.h:
3260         * bindings/js/JSHistoryCustom.cpp:
3261         * bindings/js/ScriptController.h:
3262         * html/HTMLAnchorElement.cpp:
3263         * html/HTMLMediaElement.cpp:
3264         * html/parser/XSSFilter.cpp:
3265         * inspector/InspectorDOMStorageResource.cpp:
3266         * loader/MainResourceLoader.cpp:
3267         * page/DragController.cpp:
3268         * page/EventSource.cpp:
3269         * page/Location.cpp:
3270         * websockets/WebSocket.cpp:
3271         * xml/XSLTProcessorLibxslt.cpp:
3272         Add now missing SecurityOrigin.h #includes.
3273
3274 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
3275
3276         Reviewed by Brady Eidson.
3277
3278         The preload attribute of the video tag is not completely implemented
3279         https://bugs.webkit.org/show_bug.cgi?id=43673
3280         <rdar://problem/7508322>
3281
3282         Tested manually with manual-tests/media-elements/video-preload.html.
3283
3284         * html/HTMLMediaElement.cpp:
3285         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
3286         (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
3287         (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
3288         (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
3289             because we need to have media data loaded to seek.
3290         (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
3291         * html/HTMLMediaElement.h:
3292
3293         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3294         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove 
3295             m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
3296         (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
3297         (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 
3298             Move all preload logic to setPreload, call it from here.
3299         (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 
3300             setPreload, call it.
3301         (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
3302             unlikely to be correct and isn't worth caching.
3303         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
3304             to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
3305             'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
3306             a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 
3307             when the first frame is available.
3308         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
3309             width, height, hasVideo, etc.
3310         (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
3311             in derived classes.
3312         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
3313             AVAsset and AVPlayerItem here.
3314         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3315
3316         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3317         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3318         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
3319             m_videoFrameHasDrawn.
3320         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
3321             videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
3322             if we have painted a frame to the context.
3323         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
3324             if necessary.
3325         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
3326         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
3327         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
3328         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
3329         (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
3330             the buffer is full.
3331         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
3332             AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
3333             when we only have metadata.
3334         (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
3335         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
3336         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
3337             when when we haven't allocated the AVPlayerItem yet so that we can report attributes
3338             when we only have metadata.
3339         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
3340             we have allocated the AVPlayerItem.
3341
3342 2011-05-02  Philippe Normand  <pnormand@igalia.com>
3343
3344         Reviewed by Martin Robinson.
3345
3346         [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
3347         https://bugs.webkit.org/show_bug.cgi?id=59932
3348
3349         Use gdk_window_get_width() and gdk_window_get_height() if
3350         available, instead of the deprecated gdk_drawable_get_size().
3351
3352         No new tests, build fix only.
3353
3354         * platform/gtk/WidgetRenderingContext.cpp:
3355         (WebCore::WidgetRenderingContext::WidgetRenderingContext):
3356
3357 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
3358
3359         Reviewed by Brady Eidson.
3360
3361         The preload attribute of the video tag is not completely implemented
3362         https://bugs.webkit.org/show_bug.cgi?id=43673
3363         <rdar://problem/7508322>
3364
3365         Test manually with manual-tests/media-elements/video-preload.html.
3366
3367         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3368         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3369         (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
3370             attribute when preload is not "auto".
3371         (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
3372         (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
3373         (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
3374         (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
3375             a QTMovie.
3376
3377 2011-05-02  Eric Carlson  <eric.carlson@apple.com>
3378
3379         Reviewed by Brady Eidson.
3380
3381         The preload attribute of the video tag is not completely implemented
3382         https://bugs.webkit.org/show_bug.cgi?id=43673
3383         <rdar://problem/7508322>
3384
3385         Manual test manual-tests/media-elements/video-preload.html added.
3386
3387         * manual-tests/media-elements/video-preload.html: Added. New manual test for media element 
3388             'preload' attribute because it is not possible to detect if a media engine supports 
3389             "preload=metadata" in a way that lets us have per-platform layout test results.
3390
3391 2011-05-01  Abhishek Arya  <inferno@chromium.org>
3392
3393         Reviewed by Eric Carlson.
3394
3395         Regression(r74787): Media document mouse click and double-click
3396         events should be checked on target node only and not its descendants.
3397         https://bugs.webkit.org/show_bug.cgi?id=59886
3398
3399         * html/MediaDocument.cpp:
3400         (WebCore::MediaDocument::defaultEventHandler):
3401
3402 2011-05-01  Adam Barth  <abarth@webkit.org>
3403
3404         Reviewed by Eric Seidel.
3405
3406         Polish CSP host and port matching
3407         https://bugs.webkit.org/show_bug.cgi?id=59899
3408
3409         Finish last two details of host and port matching.  I don't think the
3410         default port handling is testable with our current testing
3411         infrastructure.
3412
3413         Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
3414                http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html
3415
3416         * page/ContentSecurityPolicy.cpp:
3417         (WebCore::CSPSource::hostMatches):
3418         (WebCore::CSPSource::portMatches):
3419
3420 2011-05-01  Adam Barth  <abarth@webkit.org>
3421
3422         Reviewed by Eric Seidel.
3423
3424         CSP default-src is missing
3425         https://bugs.webkit.org/show_bug.cgi?id=58641
3426
3427         Add support for default-src.  The default-src provides a default policy
3428         for every directive that sends in "-src".  If the more-specific
3429         directive is present, it takes precedence.  I also took this
3430         opportunity to refactor the internals of ContentSecurityPolicy a bit to
3431         reduce duplicate code.
3432
3433         Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
3434                http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
3435                http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html
3436
3437         * page/ContentSecurityPolicy.cpp:
3438         (WebCore::ContentSecurityPolicy::didReceiveHeader):
3439         (WebCore::ContentSecurityPolicy::checkEval):
3440         (WebCore::ContentSecurityPolicy::operativeDirective):
3441         (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
3442         (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
3443         (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
3444         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
3445         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
3446         (WebCore::ContentSecurityPolicy::allowInlineScript):
3447         (WebCore::ContentSecurityPolicy::allowInlineStyle):
3448         (WebCore::ContentSecurityPolicy::allowEval):
3449         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
3450         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
3451         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
3452         (WebCore::ContentSecurityPolicy::allowImageFromSource):
3453         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
3454         (WebCore::ContentSecurityPolicy::allowFontFromSource):
3455         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
3456         (WebCore::ContentSecurityPolicy::addDirective):
3457         * page/ContentSecurityPolicy.h:
3458
3459 2011-05-01  Sam Weinig  <sam@webkit.org>
3460
3461         Reviewed by Anders Carlsson.
3462
3463         Prune some unnecessary #includes
3464         https://bugs.webkit.org/show_bug.cgi?id=59895
3465
3466         Start getting rid of unnecessary #includes and forward declares.
3467
3468         * bindings/js/JSDOMBinding.h:
3469         * bindings/js/JSDOMWindowBase.h:
3470         * bindings/js/JSDOMWindowShell.h:
3471         * bindings/js/ScheduledAction.cpp:
3472         * bindings/js/ScriptController.cpp:
3473         * bindings/js/ScriptController.h:
3474         * bindings/js/ScriptDebugServer.cpp:
3475         * editing/Editor.h:
3476         * inspector/InspectorClient.cpp:
3477         * loader/FrameLoader.h:
3478         * loader/NavigationScheduler.h:
3479         * page/Console.cpp:
3480         * xml/XMLTreeViewer.cpp:
3481         * xml/XMLTreeViewer.h:
3482
3483 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
3484
3485         [WIN] Unreviewed buildfix after r85434.
3486
3487         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3488         (WebCore::MediaPlayerPrivate::createLayerForMovie):
3489
3490 2011-05-01  Patrick Gansterer  <paroga@webkit.org>
3491
3492         [WIN] Unreviewed buildfix after r85434.
3493
3494         * platform/graphics/win/QTMovieVisualContext.cpp:
3495         (QTMovieVisualContext::QTMovieVisualContext): Added missing header.
3496
3497 2011-05-01  Justin Schuh  <jschuh@chromium.org>
3498
3499         Reviewed by Adam Barth.
3500
3501         History::stateObjectAdded should check origin via SecurityOrigin::canRequest
3502         https://bugs.webkit.org/show_bug.cgi?id=59840
3503
3504         Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
3505                http/tests/navigation/replacestate-base-illegal.html
3506                http/tests/navigation/replacestate-base-legal.html
3507
3508         * page/History.cpp:
3509         (WebCore::History::stateObjectAdded):