WebSocket: Receive binary message as ArrayBuffer
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-31  Yuta Kitamura  <yutak@chromium.org>
2
3         WebSocket: Receive binary message as ArrayBuffer
4         https://bugs.webkit.org/show_bug.cgi?id=67180
5
6         Reviewed by Kent Tamura.
7
8         Tests: http/tests/websocket/tests/hybi/receive-arraybuffer.html
9                http/tests/websocket/tests/hybi/workers/receive-arraybuffer.html
10
11         * bindings/js/JSMessageEventCustom.cpp:
12         (WebCore::JSMessageEvent::data): Convert ArrayBuffer to JSValue.
13         * bindings/v8/custom/V8MessageEventCustom.cpp:
14         (WebCore::V8MessageEvent::dataAccessorGetter): Convert ArrayBuffer to v8::Value.
15         * dom/MessageEvent.cpp:
16         (WebCore::MessageEvent::MessageEvent):
17         * dom/MessageEvent.h:
18         Added DataTypeArrayBuffer and ArrayBuffer-related functions.
19         (WebCore::MessageEvent::create):
20         (WebCore::MessageEvent::dataAsArrayBuffer):
21         * websockets/WebSocket.cpp:
22         (WebCore::WebSocket::didReceiveBinaryData):
23         Construct an ArrayBuffer from binaryData and raise MessageEvent.
24
25 2011-08-31  Keishi Hattori  <keishi@webkit.org>
26
27         input color: onchange event is not fired when changing color from color chooser
28         https://bugs.webkit.org/show_bug.cgi?id=66848
29
30         Reviewed by Kent Tamura.
31
32         Test: fast/forms/color/input-color-onchange-event.html
33
34         * WebCore.exp.in: Added calls used in Internals.cpp.
35         * html/ColorInputType.cpp:
36         (WebCore::ColorInputType::colorSelected): Dispatch change event.
37         * html/HTMLInputElement.cpp:
38         (WebCore::HTMLInputElement::connectToColorChooser): Added. Called from Internals::connectColorChooserClient.
39         * html/HTMLInputElement.h:
40         * testing/Internals.cpp:
41         (WebCore::Internals::connectColorChooserClient): Added. Connects element as client to color chooser.
42         (WebCore::Internals::selectColorInColorChooser): Added. Simulate color selection in color chooser.
43         * testing/Internals.h:
44         * testing/Internals.idl:
45
46 2011-08-31  Kentaro Hara  <haraken@google.com>
47
48         Implement Web IDL Constructor extended attribute in IDLParser.pm and CodeGeneratorV8.pm.
49         https://bugs.webkit.org/show_bug.cgi?id=66536
50
51         Reviewed by Adam Barth.
52
53         The spec is here: http://www.w3.org/TR/WebIDL/#Constructor
54
55         [1] Introduced Web IDL 'Constructor' extended attribute.
56
57         [2] Added 'ConstructorWith=ScriptExecutionContext' extended attribute.
58         - The constructor passes ScriptExecutionContext to a XXX::create() method,
59         like XXX::create(..., context, ...).
60
61         [3] Added 'V8ConstructorSetsActiveDOMWrapper' extended attribute.
62         - The constructor calls V8DOMWrapper::setJSWrapperForActiveDOMObject()
63         instead of V8DOMWrapper::setJSWrapperForDOMObject().
64
65         [4] Added 'ConstructorRaisesException' extended attribute.
66         - A placeholder for ExceptionCode is passed to a XXX::create() method,
67         like XXX::create(..., ec).
68         - We can use 'ConstructorRaisesException' and 'ConstructorWith=ScriptExecutionContext' together.
69
70         Note:
71         - Constructor overloading is not yet implemented.
72         - We cannot yet specify [Optional] without CallWithDefaultValue.
73
74         Test: Source/WebCore/bindings/scripts/test/TestInterface.idl
75               Source/WebCore/bindings/scripts/test/TestObj.idl
76
77         * bindings/scripts/CodeGeneratorV8.pm:
78         (GenerateHeader): Generates constructorCallback() header, if 'Constructor' is specified.
79         (GenerateFunctionCallback): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
80         (GenerateArgumentsCountCheck): Splits out of GenerateFunctionCallback() for reuse.
81         (GenerateParametersCheck): Ditto.
82         (GenerateConstructorCallback): Generates constructorCallback() definition.
83         (GenerateImplementation):
84         * bindings/scripts/IDLParser.pm:
85         (parseExtendedAttributes): Previously, only a string in the "A=B, C, D, E=F" format can be parsed. This patch enables to parse a string in the "A=B, C, D, E=F, G(in DOMString s, in [H, I, J] DOMString t)" format.
86         (parseParameters): Splits out of ParseInterface() for reuse.
87         (ParseInterface): Uses parseParameters().
88         * bindings/scripts/IDLStructure.pm: Added domClass{constructor}. Changed the regular expression to extract the list of extended attributes.
89         * bindings/scripts/test/TestInterface.idl: Added all the extended attributes that this patch is going to introduce.
90         * bindings/scripts/test/TestObj.idl: Added 'Constructor'.
91         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the test result.
92         (WebCore::V8TestInterface::constructorCallback):
93         (WebCore::ConfigureV8TestInterfaceTemplate):
94         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
95         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
96         (WebCore::V8TestObj::constructorCallback):
97         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
98
99 2011-08-30  Philippe Normand  <pnormand@igalia.com>
100
101         [GTK] gstreamer/ files directly related to the MediaPlayer need VIDEO guards
102         https://bugs.webkit.org/show_bug.cgi?id=67196
103
104         Reviewed by Martin Robinson.
105
106         Guard those files with ENABLE(VIDEO) so other features using
107         GStreamer can be built even with VIDEO disabled.
108
109         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
110         * platform/graphics/gstreamer/GStreamerGWorld.h:
111         * platform/graphics/gstreamer/ImageGStreamer.h:
112         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
113         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
114         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
115         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
116         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
117         * platform/graphics/gstreamer/PlatformVideoWindow.h:
118         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
119         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
120         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
121         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
122         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
123
124 2011-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
125
126         Unreviewed, rolling out r94142, r94144, r94145, and r94148.
127         http://trac.webkit.org/changeset/94142
128         http://trac.webkit.org/changeset/94144
129         http://trac.webkit.org/changeset/94145
130         http://trac.webkit.org/changeset/94148
131         https://bugs.webkit.org/show_bug.cgi?id=67262
132
133         Broke isindex element (Requested by rniwa on #webkit).
134
135         * WebCore.order:
136         * accessibility/AXObjectCache.cpp:
137         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
138         * accessibility/AccessibilityRenderObject.cpp:
139         (WebCore::AccessibilityRenderObject::isPasswordField):
140         (WebCore::AccessibilityRenderObject::isIndeterminate):
141         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
142         (WebCore::AccessibilityRenderObject::isChecked):
143         * css/CSSStyleSelector.cpp:
144         (WebCore::CSSStyleSelector::canShareStyleWithControl):
145         (WebCore::CSSStyleSelector::adjustRenderStyle):
146         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
147         (WebCore::CSSStyleSelector::applyProperty):
148         * dom/CheckedRadioButtons.cpp:
149         (WebCore::CheckedRadioButtons::addButton):
150         (WebCore::CheckedRadioButtons::removeButton):
151         * dom/Node.cpp:
152         (WebCore::Node::toInputElement):
153         * dom/Node.h:
154         * editing/FrameSelection.cpp:
155         (WebCore::FrameSelection::isInPasswordField):
156         * html/HTMLInputElement.h:
157         (WebCore::HTMLInputElement::toInputElement):
158         * html/shadow/SliderThumbElement.cpp:
159         (WebCore::sliderThumbElementOf):
160         (WebCore::RenderSliderThumb::layout):
161         (WebCore::RenderSliderContainer::layout):
162         (WebCore::SliderThumbElement::hostInput):
163         (WebCore::trackLimiterElementOf):
164         * html/shadow/TextControlInnerElements.cpp:
165         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
166         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
167         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
168         (WebCore::SpinButtonElement::defaultEventHandler):
169         (WebCore::SpinButtonElement::repeatingTimerFired):
170         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
171         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
172         * page/DragController.cpp:
173         (WebCore::asFileInput):
174         * platform/efl/RenderThemeEfl.cpp:
175         (WebCore::RenderThemeEfl::paintThemePart):
176         * rendering/RenderTextControlSingleLine.cpp:
177         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
178         (WebCore::RenderTextControlSingleLine::inputElement):
179         * rendering/RenderTheme.cpp:
180         (WebCore::RenderTheme::isChecked):
181         (WebCore::RenderTheme::isIndeterminate):
182
183 2011-08-30  David Levin  <levin@chromium.org>
184
185         Quick fix for crashing tests caused by r94142.
186
187         Tests:
188           editing/execCommand/remove-format-elements.html
189           fast/block/child-not-removed-from-parent-lineboxes-crash.html
190           fast/forms/implicit-submission.html
191
192         * rendering/RenderTextControlSingleLine.cpp:
193         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): Allow
194         for isIndex element which is derived from HTMLInputElement.
195
196 2011-08-30  Sam Weinig  <sam@webkit.org>
197
198         Add constructor for CustomEvent
199         https://bugs.webkit.org/show_bug.cgi?id=67248
200
201         Reviewed by Dan Bernstein.
202
203         Test: fast/events/constructors/custom-event-constructor.html
204
205         * bindings/generic/EventConstructors.h:
206         Add definition for CustomEvent constructor.
207
208         * bindings/js/JSEventConstructors.cpp:
209         Add CustomEvent #includes.
210
211         * dom/CustomEvent.cpp:
212         (WebCore::CustomEventInit::CustomEventInit):
213         (WebCore::CustomEvent::CustomEvent):
214         * dom/CustomEvent.h:
215         (WebCore::CustomEvent::create):
216         Add Initializer./
217
218         * dom/CustomEvent.idl:
219         Make constructible.
220
221         * page/DOMWindow.idl:
222         Add CustomEvent attribute.
223
224 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
225
226         Get rid of toInputElement()
227         https://bugs.webkit.org/show_bug.cgi?id=67175
228
229         Reviewed by Darin Adler.
230
231         Got rid of Node::toInputElement and HTMLInputElement::toInputElement and replaced them by
232         a global toHTMLInputElement.
233
234         * WebCore.order:
235         * accessibility/AXObjectCache.cpp:
236         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
237         * accessibility/AccessibilityRenderObject.cpp:
238         (WebCore::AccessibilityRenderObject::isPasswordField):
239         (WebCore::AccessibilityRenderObject::isIndeterminate):
240         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
241         (WebCore::AccessibilityRenderObject::isChecked):
242         * css/CSSStyleSelector.cpp:
243         (WebCore::CSSStyleSelector::canShareStyleWithControl):
244         (WebCore::CSSStyleSelector::adjustRenderStyle):
245         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
246         (WebCore::CSSStyleSelector::applyProperty):
247         * dom/CheckedRadioButtons.cpp:
248         (WebCore::CheckedRadioButtons::addButton):
249         (WebCore::CheckedRadioButtons::removeButton):
250         * dom/Node.cpp:
251         * dom/Node.h:
252         * editing/FrameSelection.cpp:
253         (WebCore::FrameSelection::isInPasswordField):
254         * html/HTMLInputElement.h:
255         (WebCore::toHTMLInputElement):
256         * html/shadow/SliderThumbElement.cpp:
257         (WebCore::sliderThumbElementOf):
258         (WebCore::RenderSliderThumb::layout):
259         (WebCore::RenderSliderContainer::layout):
260         (WebCore::SliderThumbElement::hostInput):
261         (WebCore::trackLimiterElementOf):
262         * html/shadow/TextControlInnerElements.cpp:
263         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
264         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
265         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
266         (WebCore::SpinButtonElement::defaultEventHandler):
267         (WebCore::SpinButtonElement::repeatingTimerFired):
268         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
269         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
270         * page/DragController.cpp:
271         (WebCore::asFileInput):
272         * platform/efl/RenderThemeEfl.cpp:
273         (WebCore::RenderThemeEfl::paintThemePart):
274         * rendering/RenderTextControlSingleLine.cpp:
275         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
276         (WebCore::RenderTextControlSingleLine::inputElement):
277         * rendering/RenderTheme.cpp:
278         (WebCore::RenderTheme::isChecked):
279         (WebCore::RenderTheme::isIndeterminate):
280
281 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
282
283         Speculative WinCairo build fix after r94093.
284
285         * platform/network/ResourceHandle.h:
286
287 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
288
289         Mac build fix after r94128.
290
291         * WebCore.xcodeproj/project.pbxproj:
292
293 2011-08-30  Alice Boxhall  <aboxhall@chromium.org>
294
295         Correctly report selected text range for accessibility APIs for role=textbox
296         https://bugs.webkit.org/show_bug.cgi?id=65900
297
298         Reviewed by Chris Fleizach.
299
300         Test: accessibility/textbox-role-reports-selection.html
301
302         * accessibility/AccessibilityRenderObject.cpp:
303         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
304         (WebCore::AccessibilityRenderObject::rootEditableElementForPosition):
305         (WebCore::AccessibilityRenderObject::nodeIsTextControl):
306         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
307         * accessibility/AccessibilityRenderObject.h:
308
309 2011-08-30  Rachel Blum  <groby@chromium.org>
310
311         The "port" property of an <a> whose href does not specify a port returns the wrong value
312         https://bugs.webkit.org/show_bug.cgi?id=66081
313
314         HTMLAnchorElement now returns "" instead of "0" for unset port
315         Fixed KURLGoogle.cpp to have same behavior as KURL.cpp when setting port 0
316         Fixed Location.cpp to have same behavior as KURL.cpp when setting port 0
317         
318         Reviewed by Adam Barth.
319
320         Tests: fast/dom/HTMLAnchorElement/get-href-attribute-port.html
321                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
322                fast/loader/location-port.html
323                fast/url/segments-from-data-url.html
324                fast/url/segments.html
325                fast/url/trivial-segments.html
326                platform/chromium/fast/dom/HTMLAnchorElement/set-href-attribute-port.html
327                
328         * html/HTMLAnchorElement.cpp:
329         (WebCore::HTMLAnchorElement::port):
330         * page/Location.cpp:
331         (WebCore::Location::host):
332         (WebCore::Location::port):
333         (WebCore::Location::setPort):
334         * platform/KURLGoogle.cpp:
335         (WebCore::KURL::setPort):
336
337 2011-08-30  Scott Byer  <scottbyer@chromium.org>
338
339         Fix pan scrolling on Windows to be clamped
340         https://bugs.webkit.org/show_bug.cgi?id=66910
341
342         With the recent change to support rubberband scrolling on the Mac, pan
343         scrolling of overflow divs became unclamped and would scroll infinitely
344         and along an axis without a scrollbar.
345
346         Reviewed by Simon Fraser
347
348         Test: platform/win/fast/events/panScroll-correct-direction.html
349
350         * rendering/RenderLayer.cpp:
351         (WebCore::RenderLayer::panScrollFromPoint):
352         (WebCore::RenderLayer::scrollByRecursively):
353         * rendering/RenderLayer.h:
354
355 2011-08-30  Bill Budge  <bbudge@chromium.org>
356
357         This patch makes the XMLHttpRequest method/header validation logic available as
358         static methods so URL loaders can perform the same checks for untrusted HTTP requests
359         coming from plugins. 
360         https://bugs.webkit.org/show_bug.cgi?id=66909
361
362         Reviewed by David Levin.
363
364         No new tests. Exposes no new functionality.
365
366         * CMakeLists.txt:
367         * GNUmakefile.list.am:
368         * WebCore.gypi:
369         * WebCore.pro:
370         * WebCore.vcproj/WebCore.vcproj:
371         * platform/network/HTTPValidation.cpp: Added.
372         (WebCore::isValidHTTPToken):
373         (WebCore::isValidHTTPHeaderValue):
374         * platform/network/HTTPValidation.h: Added.
375         * xml/XMLHttpRequest.cpp:
376         (WebCore::XMLHttpRequest::isAllowedHTTPMethod):
377         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
378         (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
379         (WebCore::XMLHttpRequest::open):
380         (WebCore::XMLHttpRequest::setRequestHeader):
381         * xml/XMLHttpRequest.h:
382
383 2011-08-30  Chris Rogers  <crogers@google.com>
384
385         Don't allow nodes of one context to be connected to nodes of another context
386         https://bugs.webkit.org/show_bug.cgi?id=67245
387
388         Reviewed by Dimitri Glazkov.
389         
390         Tests: updated webaudio/audionode.html
391
392         * webaudio/AudioNode.cpp:
393         (WebCore::AudioNode::connect):
394         
395 2011-08-30  Dan Bernstein  <mitz@apple.com>
396
397         WebCore part of <rdar://problem/9281695> Add text search API for getting the DOM range of a text match
398         https://bugs.webkit.org/show_bug.cgi?id=67230
399
400         Reviewed by Darin Adler.
401
402         Test: TestWebKitAPI/Tests/mac/DOMRangeOfString.
403
404         * WebCore.exp.in: Export Page::rangeOfString().
405         * dom/Range.h: Added a default ASSERT_NO_EXCEPTION to a few more member functions.
406         * editing/Editor.cpp:
407         (WebCore::Editor::findString): Moved most of the logic into rangeOfString(), which this function
408         now calls, passing in the current selection as the reference range and setting the selection to
409         the returned range.
410         (WebCore::Editor::rangeOfString): Added. Contains the find logic from findString().
411         * editing/Editor.h:
412         * page/Page.cpp:
413         (WebCore::Page::rangeOfString): Added. This function is similar to findString(), but it takes an optional
414         reference range and returns a Range, rather than using the current selection as the reference range and setting the
415         selection to the next match.
416         * page/Page.h:
417
418 2011-08-30  Sam Weinig  <sam@webkit.org>
419
420         Add additional convertValue overloads to JSDictionary
421         https://bugs.webkit.org/show_bug.cgi?id=67244
422
423         Reviewed by Darin Adler.
424
425         Add overloads for convertValue that will be needed for Event
426         constructors.
427
428         * bindings/js/JSDictionary.cpp:
429         (WebCore::JSDictionary::convertValue):
430         * bindings/js/JSDictionary.h:
431         Add overloads.  Remove #include of <runtime/Error.h> and just include
432         <interpreter/CallFrame.h>
433
434         * bindings/js/JSEventConstructors.cpp:
435         Add now necessary #include of <runtime/Error.h>.
436
437 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
438
439         Add MediaSource API to HTMLMediaElement
440         https://bugs.webkit.org/show_bug.cgi?id=64731
441
442         Reviewed by Eric Carlson.
443
444         Tests: http/tests/media/media-source/webm/video-media-source-errors.html
445                http/tests/media/media-source/webm/video-media-source-play.html
446                http/tests/media/media-source/webm/video-media-source-seek.html
447                http/tests/media/media-source/webm/video-media-source-state-changes.html
448
449         * Configurations/FeatureDefines.xcconfig:
450         * GNUmakefile.am:
451         * dom/EventNames.h:
452         * features.pri:
453         * html/HTMLMediaElement.cpp:
454         (WebCore::HTMLMediaElement::HTMLMediaElement): Added initializers for new member variables.
455         (WebCore::HTMLMediaElement::prepareForLoad): Close the media source before starting a new load.
456         (WebCore::HTMLMediaElement::loadResource):
457             Fail loading if the media source url from another media element is used.
458         (WebCore::HTMLMediaElement::mediaEngineError):
459             Make sure the source is in the closed state before firing an emptied event.
460         (WebCore::HTMLMediaElement::mediaPlayerSourceOpened):
461             New method called by WebCore::MediaPlayer to signal when the source is open.
462         (WebCore::HTMLMediaElement::mediaPlayerSourceURL):
463             New method called by the WebCore::MediaPlayer to determine what the media source URL is for this
464             HTMLMediaElement instance.
465         (WebCore::HTMLMediaElement::seek):
466             Disabled noSeekRequired optimization if a media source is open and resets the source state to SOURCE_OPEN if
467             it was in the SOURCE_ENDED state when seek() was called.
468         (WebCore::HTMLMediaElement::webkitSourceAppend):
469             New method for passing media data from JavaScript to the WebCore::MediaPlayer.
470         (WebCore::HTMLMediaElement::webkitSourceEndOfStream):
471             New method that allows JavaScript to signal the end of the stream.
472         (WebCore::HTMLMediaElement::webkitSourceState): New method allowing JavaScript to read the current source state.
473         (WebCore::HTMLMediaElement::setSourceState): New method for updating the current source state.
474         (WebCore::HTMLMediaElement::userCancelledLoad):
475             Transitions an open source to the closed state before firing an emptied event.
476         * html/HTMLMediaElement.h:
477         (WebCore::HTMLMediaElement::webkitMediaSourceURL):
478             New method providing the media source URL to JavaScript for this HTMLMediaElement instance.
479         * html/HTMLMediaElement.idl: Added new methods, attributes, and constants for the media source api.
480         * platform/graphics/MediaPlayer.cpp:
481         (WebCore::NullMediaPlayerPrivate::sourceAppend):
482             Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceAppend.
483         (WebCore::NullMediaPlayerPrivate::sourceEndOfStream):
484             Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceEndOfStream.
485         (WebCore::MediaPlayer::sourceAppend): New method for receiving media data from WebCore::HTMLMediaElement.
486         (WebCore::MediaPlayer::sourceEndOfStream): New method for receiving end of stream from WebCore::HTMLMediaElement.
487         (WebCore::MediaPlayer::sourceOpened):
488             New method called by the MediaPlayerPrivate object to notify the MediaPlayer when the source has opened.
489         (WebCore::MediaPlayer::sourceURL):
490             New method called by the MediaPlayerPrivate implementation to get the media source URL from the MediaPlayer.
491         * platform/graphics/MediaPlayer.h:
492         (WebCore::MediaPlayerClient::mediaPlayerSourceOpened):
493             Interface method used by the MediaPlayer to tell the HTMLMediaElement when the media source has been opened.
494         (WebCore::MediaPlayerClient::mediaPlayerSourceURL):
495             Interface method used by the MediaPlayer to get the media source URL from the HTMLMediaElement.
496         * platform/graphics/MediaPlayerPrivate.h:
497         (WebCore::MediaPlayerPrivateInterface::sourceAppend):
498             Interface method used by the MediaPlayer to pass media data to the MediaPlayerPrivate object.
499         (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream):
500             Interface method used by the MediaPlayer to pass end of stream information to the MediaPlayerPrivate object.
501
502 2011-08-30  Sam Weinig  <sam@webkit.org>
503
504         Refactor JS dictionary code into helper class and covert geolocation code to use it
505         https://bugs.webkit.org/show_bug.cgi?id=67213
506
507         Reviewed by Darin Adler.
508
509         * GNUmakefile.list.am:
510         * UseJSC.cmake:
511         * WebCore.gypi:
512         * WebCore.pro:
513         * WebCore.vcproj/WebCore.vcproj:
514         * WebCore.xcodeproj/project.pbxproj:
515         * bindings/js/JSBindingsAllInOne.cpp:
516         Add new files.
517
518         * bindings/js/JSDictionary.cpp: Added.
519         (WebCore::JSDictionary::convertValue):
520         * bindings/js/JSDictionary.h: Added.
521         (WebCore::JSDictionary::JSDictionary):
522         (WebCore::JSDictionary::tryGetProperty):
523         Encapsulate dictionary initialization code into JSDictionary class.
524
525         * bindings/js/JSEventConstructors.cpp:
526         (WebCore::constructJSEventWithInitializer):
527         Use JSDictionary.
528
529         * bindings/js/JSGeolocationCustom.cpp:
530         (WebCore::setEnableHighAccuracy):
531         (WebCore::setTimeout):
532         (WebCore::setMaximumAge):
533         (WebCore::createPositionOptions):
534         Use JSDictionary.
535
536 2011-08-30  Scott Byer  <scottbyer@chromium.org>
537
538         Switch chromium to use ScrollAnimatorNone on Windows.
539         https://bugs.webkit.org/show_bug.cgi?id=67000
540
541         Reviewed by Adam Barth.
542
543         Testing covered by Chromium webkit_unit_tests ScrollAnimatorNoneTest.*
544
545         * WebCore.gyp/WebCore.gyp:
546         * WebCore.gypi:
547
548 2011-08-30  Tony Chang  <tony@chromium.org>
549
550         refactor and cleanup RenderFlexibleBox
551         https://bugs.webkit.org/show_bug.cgi?id=67165
552
553         Reviewed by Ojan Vafai.
554
555         No new tests, just refactoring code.
556
557         * rendering/RenderFlexibleBox.cpp:
558         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
559         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal): Make childSizes a param so we can pass the results to layoutAndPlaceChildrenHorizontal.
560         (WebCore::hasPackingSpace): Move closer to where it's used.
561         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
562             Pull this code out into its own function because it's not part of running the free space allocation algorithm.
563         * rendering/RenderFlexibleBox.h:
564
565 2011-08-30  Tim Horton  <timothy_horton@apple.com>
566
567         getBBox() on a SVGPathElement with curves incorrectly includes control points
568         https://bugs.webkit.org/show_bug.cgi?id=53512
569         <rdar://problem/9861154>
570
571         Reviewed by Dirk Schulze.
572
573         The CoreGraphics implementation of Path::boundingRect() called
574         CGPathGetBoundingBox, which includes the path's control points in its
575         calculations. Snow Leopard added CGPathGetPathBoundingBox, which
576         finds the bounding box of only points within the path, and does not
577         include control points. On Snow Leopard and above, we now use the latter.
578
579         Test: svg/custom/getBBox-path.svg
580
581         * platform/graphics/cg/PathCG.cpp:
582         (WebCore::Path::boundingRect):
583
584 2011-08-30  Tim Horton  <timothy_horton@apple.com>
585
586         SVG panning y-axis is flipped in WebKit2
587         https://bugs.webkit.org/show_bug.cgi?id=65800
588         <rdar://problem/9908012>
589
590         Reviewed by Darin Adler.
591
592         We previously were not transforming the pointer coordinates passed
593         to SVGDocument's panning implementation into the coordinate space of
594         the contents, so on different platforms, the drag direction was different.
595
596         Test: svg/custom/pan-direction.svg
597
598         * page/EventHandler.cpp:
599         (WebCore::EventHandler::handleMousePressEvent):
600         (WebCore::EventHandler::handleMouseMoveEvent):
601         (WebCore::EventHandler::handleMouseReleaseEvent):
602         * svg/SVGDocument.cpp:
603         (WebCore::SVGDocument::startPan):
604         (WebCore::SVGDocument::updatePan):
605
606 2011-08-30  Adam Barth  <abarth@webkit.org>
607
608         Flaky crash with JavaScript URLs
609         https://bugs.webkit.org/show_bug.cgi?id=66360
610
611         Reviewed by Nate Chapin.
612
613         This patch teaches DocumentWriter::begin to make a copy of the URL
614         before beginning a new document to avoid a crash.
615
616         Test: fast/loader/javascript-url-iframe-crash.html
617
618         * loader/DocumentWriter.cpp:
619         (WebCore::DocumentWriter::begin):
620
621 2011-08-30  Tony Gentilcore  <tonyg@chromium.org>
622
623         PreloadScanner shouldn't load images inside noscript via doc.write
624         https://bugs.webkit.org/show_bug.cgi?id=67214
625
626         Reviewed by Adam Barth.
627
628         The problem was that the tokenizer state was lost between each call to document.write.
629         This works around that bug by making all document.write()s in the same script block share
630         the same tokenizer state.
631
632         Test: fast/preloader/document-write-noscript.html
633
634         * html/parser/HTMLDocumentParser.cpp:
635         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
636         (WebCore::HTMLDocumentParser::detach):
637         (WebCore::HTMLDocumentParser::insert):
638         * html/parser/HTMLDocumentParser.h:
639
640 2011-08-30  Dmitry Titov  <dimich@chromium.org>
641
642         https://bugs.webkit.org/show_bug.cgi?id=67210
643         [Chromium] Use after free in ScheduledAction::execute(WebCore::V8Proxy*)
644
645         Reviewed by David Levin.
646
647         * bindings/v8/ScheduledAction.cpp:
648         (WebCore::ScheduledAction::execute):
649         Removed usage of V8Proxy instance after it could have been deleted.
650
651         * bindings/v8/V8Proxy.cpp:
652         (WebCore::V8Proxy::V8Proxy):
653         * bindings/v8/V8Proxy.h:
654         Removed unused timerCallback() and setTimerCallback().
655
656 2011-08-30  Abhishek Arya  <inferno@chromium.org>
657
658         Style not updated for table parts in :before, :after content.
659         https://bugs.webkit.org/show_bug.cgi?id=66141        
660
661         Reviewed by Dave Hyatt.
662
663         Tests: fast/table/table-before-child-style-update.html
664                fast/table/table-row-before-child-style-update.html
665
666         * rendering/RenderObjectChildList.cpp:
667         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
668
669 2011-08-30  Tony Chang  <tony@chromium.org>
670
671         refactor box-ordinal-group handling so we don't timeout on large values
672         https://bugs.webkit.org/show_bug.cgi?id=65783
673
674         Reviewed by David Hyatt.
675
676         The old code walked from 1 to the last box-ordinal-group while
677         iterating over each flex item.  The new code collects ordinals as
678         we do the first walk and sorts them.  Each additional iteration
679         through the flex items gets the next oridnal from the sorted list.
680
681         This maintains the single pass for the common case of no
682         box-ordinal-groups specified.  If there are ordinal groups,
683         the runtime is O(n*m + m lg m) where n is the # of flex items and
684         m is the number of unique box-ordinal-group values.  The memory
685         usage is O(2m).
686
687         Test: fast/flexbox/box-ordinal-group.html
688
689         * rendering/RenderDeprecatedFlexibleBox.cpp:
690         (WebCore::FlexBoxIterator::FlexBoxIterator):
691         (WebCore::FlexBoxIterator::reset):
692         (WebCore::FlexBoxIterator::next):
693         (WebCore::FlexBoxIterator::compareFlexOrder):
694
695 2011-08-30  Abhishek Arya  <inferno@chromium.org>
696
697         Removed m_owner accessed in custom scrollbars.
698         https://bugs.webkit.org/show_bug.cgi?id=64737
699
700         Reviewed by David Hyatt.
701
702         Problem does not reproduce in DRT, even with Eventhandler tricks
703         and gc(). So, adding a manual test.
704
705         * manual-tests/custom-scrollbar-renderer-removed-crash.html: Added.
706         * page/FrameView.cpp:
707         (WebCore::FrameView::clearOwningRendererForCustomScrollbars):
708         * page/FrameView.h:
709         * rendering/RenderBox.cpp:
710         (WebCore::RenderBox::willBeDestroyed): when this renderbox is getting
711         destroyed, clear the custom scrollbar in this frameview having this renderbox
712         as its owning renderer.
713         * rendering/RenderScrollbar.cpp:
714         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): fix the null check.
715
716 2011-08-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
717
718         Emit last progress notification before calling dispatchDidFinishLoad
719         https://bugs.webkit.org/show_bug.cgi?id=28851
720
721         Reviewed by Adam Barth.
722
723         Original patch by Xan Lopez. Change FrameLoader to dispatch the notifications in
724         a more natural sequence.
725
726         Test: http/tests/loading/progress-finished-callback.html
727
728         * loader/FrameLoader.cpp:
729         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
730
731 2011-08-30  Ojan Vafai  <ojan@chromium.org>
732
733         CSS parsing for -webkit-flex-flow
734         https://bugs.webkit.org/show_bug.cgi?id=67224
735
736         Reviewed by Tony Chang.
737         
738         Adds support for the first value of -webkit-flex-flow.
739         Later we'll need to add support for the second "wrap" value,
740         but that can wait until we are ready to implement multiline
741         flex and the spec has stabilized a bit.
742
743         * css/CSSComputedStyleDeclaration.cpp:
744         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
745         * css/CSSParser.cpp:
746         (WebCore::CSSParser::parseValue):
747         * css/CSSPrimitiveValueMappings.h:
748         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
749         (WebCore::CSSPrimitiveValue::operator EFlexFlow):
750         * css/CSSPropertyNames.in:
751         * css/CSSStyleApplyProperty.cpp:
752         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
753         * css/CSSStyleSelector.cpp:
754         (WebCore::CSSStyleSelector::applyProperty):
755         * css/CSSValueKeywords.in:
756         * rendering/style/RenderStyle.h:
757         (WebCore::InheritedFlags::flexFlow):
758         (WebCore::InheritedFlags::setFlexFlow):
759         (WebCore::InheritedFlags::initialFlexFlow):
760         * rendering/style/RenderStyleConstants.h:
761         * rendering/style/StyleFlexibleBoxData.cpp:
762         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
763         (WebCore::StyleFlexibleBoxData::operator==):
764         * rendering/style/StyleFlexibleBoxData.h:
765
766 2011-08-30  Dawit Alemayehu  <adawit@kde.org>
767
768         [Qt] Replace QLibrary("libgtk-x11-2.0.so.0") with QLibrary("libgtk-x11-2.0", 0)
769         https://bugs.webkit.org/show_bug.cgi?id=66627
770
771         Reviewed by Simon Hausmann.
772
773         * plugins/qt/PluginPackageQt.cpp:
774         (WebCore::initializeGtk):
775
776 2011-08-29  Oliver Hunt  <oliver@apple.com>
777
778         TypedArrays don't ensure that denormalised values are normalised
779         https://bugs.webkit.org/show_bug.cgi?id=67178
780
781         Reviewed by Gavin Barraclough.
782
783         Ensure that we convert singaling nans to silent nans when loading
784         from a typed array. 
785
786         * bindings/scripts/CodeGeneratorJS.pm:
787         (GenerateImplementation):
788
789 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
790
791         DumpRenderTree should begin each test with an empty cookie store
792         https://bugs.webkit.org/show_bug.cgi?id=63545
793         <rdar://problem/5666907>
794
795         Reviewed by Darin Adler.
796
797         Use a clean CFURLStorageSession when this functionality is available.
798
799         * WebCore.exp.in: Added exports.
800
801         * WebCore.xcodeproj/project.pbxproj: Made CookieStorageCFNet.h private, as currentCFHTTPCookieStorage
802         is used in WebKit.
803
804         * platform/mac/CookieJar.mm:
805         (WebCore::cookies):
806         (WebCore::cookieRequestHeaderFieldValue):
807         (WebCore::setCookies):
808         (WebCore::cookiesEnabled):
809         (WebCore::getRawCookies):
810         (WebCore::deleteCookie):
811         Updated to use currentCFHTTPCookieStorage().
812
813         * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
814
815         * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
816
817         * platform/network/ResourceHandle.h: Exposed default session support on Mac, too. Made
818         privateBrowsingStorageSession() private, as callers shouldn't be concerned about where the
819         current sssion came from.
820
821         * platform/network/cf/CookieJarCFNet.cpp:
822         (WebCore::setCookies):
823         (WebCore::cookies):
824         (WebCore::cookieRequestHeaderFieldValue):
825         (WebCore::cookiesEnabled):
826         (WebCore::getRawCookies):
827         (WebCore::deleteCookie):
828         (WebCore::getHostnamesWithCookies):
829         (WebCore::deleteCookiesForHostname):
830         (WebCore::deleteAllCookies):
831         Updated to use currentCFHTTPCookieStorage().
832
833         * platform/network/cf/CookieStorageCFNet.cpp:
834         (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
835         (WebCore::overrideCookieStorage): Ditto.
836         (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
837         unless it has been overridden on Windows. We can always get it from a session.
838         (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
839         use private session's storage. Note that Mac has a separate code path for OS versions that
840         don't support sessions.
841         (WebCore::startObservingCookieChanges): Updated to use currentCFHTTPCookieStorage().
842         (WebCore::stopObservingCookieChanges): Ditto.
843
844         * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
845
846         * platform/network/cf/ResourceHandleCFNet.cpp:
847         (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
848         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
849         as this function is also used with NSURLConnection when sessions are enabled.
850         (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
851         is now supported on Mac, too.
852         (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
853         (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
854         adopt the session, because nothing in method name says that it will steal a reference from
855         the caller.
856         (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
857         (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
858         (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
859         (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
860         (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
861         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
862         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
863
864         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
865         We no longer store a reference to cookie storage in a static variable, so nothing to do here.
866         On older OS versiosn, we still need to enable legacy private browsing mode.
867
868         * platform/network/mac/ResourceHandleMac.mm:
869         (WebCore::shouldRelaxThirdPartyCookiePolicy): Updated to use the new currentCFHTTPCookieStorage function.
870         (WebCore::ResourceHandle::createNSURLConnection): Updated to use currentStorageSession()
871         instead of privateBrowsingStorageSession().
872         (WebCore::ResourceHandle::willSendRequest): Ditto.
873
874 2011-08-30  David Hyatt  <hyatt@apple.com>
875
876         <rdar://problem/10002140> 9A309: Text gets clipped in book because of overflow:auto
877         
878         https://bugs.webkit.org/show_bug.cgi?id=67212 - Text gets clipped in multi-column layouts when overflow:auto
879         is used.
880         
881         Revise our overflow:auto pagination behavior. If the overflow block doesn't specify any logical height
882         information, then we'll just assume the plan is for it to enclose its contents, and we will be willing
883         to paginate in those circumstances.
884
885         Reviewed by Dan Bernstein.
886
887         Added overflow-across-columns.html and overflow-unsplittable.html
888
889         * rendering/LayoutState.cpp:
890         (WebCore::LayoutState::LayoutState):
891         * rendering/RenderBlock.cpp:
892         (WebCore::RenderBlock::adjustForUnsplittableChild):
893         * rendering/RenderBox.cpp:
894         (WebCore::RenderBox::hasUnsplittableScrollingOverflow):
895         * rendering/RenderBox.h:
896
897 2011-08-30  Antti Koivisto  <antti@apple.com>
898
899         querySelector/querySelectorAll should use selector checker fast path 
900         https://bugs.webkit.org/show_bug.cgi?id=67161
901
902         Reviewed by Sam Weinig.
903
904         Descendant and child selectors can be matches substantially faster using
905         SelectorChecker::fastCheckSelector() path. Currently it is used for style matching only.  
906         
907         Add SelectorQuery class that can do both querySelector and querySelectorAll efficiently using
908         fast path. Use inlined loop for DOM traversal.
909         
910         The patch is ~25% speedup in the overall native score of http://www.webkit.org/perf/slickspeed/.
911         Some individual subtests (using child or descendant selectors) execute twice as fast.
912
913         * CMakeLists.txt:
914         * GNUmakefile.list.am:
915         * WebCore.gypi:
916         * WebCore.pro:
917         * WebCore.vcproj/WebCore.vcproj:
918         * WebCore.xcodeproj/project.pbxproj:
919         * css/CSSStyleSelector.cpp:
920         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
921         (WebCore::CSSStyleSelector::SelectorChecker::isFastCheckableSelector):
922         (WebCore::RuleData::RuleData):
923         * css/CSSStyleSelector.h:
924         
925             Make fast path checking available outside CSSStyleSelector.
926             
927         * dom/DOMAllInOne.cpp:
928         * dom/Node.cpp:
929         (WebCore::Node::querySelector):
930         (WebCore::Node::querySelectorAll):
931         
932             Switch to SelectorQuery.
933         
934         * dom/SelectorNodeList.cpp: Removed.
935         * dom/SelectorNodeList.h: Removed.
936         
937             SelectorQuery makes these obsolete.
938
939         * dom/SelectorQuery.cpp: Added.
940         (WebCore::SelectorQuery::SelectorQuery):
941         (WebCore::SelectorQuery::queryAll):
942         (WebCore::SelectorQuery::queryFirst):
943         (WebCore::SelectorQuery::canUseIdLookup):
944         (WebCore::SelectorQuery::execute):
945         * dom/SelectorQuery.h: Added.
946         
947             Class for selector matching in tree.
948     
949 2011-08-30  Dmitry Titov  <dimich@chromium.org>
950
951         REGRESSION (r93913): Failures in fast/replaced/frame-removed-during-resize.html and scrollbars/scrollable-iframe-remove-crash.html
952         https://bugs.webkit.org/show_bug.cgi?id=67074
953
954         Reviewed by Darin Adler.
955
956         Added flag m_isClosed to prevent events that cause Frame to be destroyed
957         from posting more events into EventQueue of a dying Document.
958
959         The tests mentioned above should now pass.
960
961         * dom/Document.cpp:
962         (WebCore::Document::detach):
963         * dom/EventQueue.cpp:
964         (WebCore::EventQueue::EventQueue):
965         (WebCore::EventQueue::enqueueEvent):
966         (WebCore::EventQueue::close): Renamed method to reflect better what it does.
967         * dom/EventQueue.h:
968
969 2011-08-30  Tony Chang  <tony@chromium.org>
970
971         Fix compile warning on clang:
972         error: 'WebKit::ChromeClientImpl::scrollRectIntoView' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
973             virtual void scrollRectIntoView(
974                              ^
975         ../../WebCore/page/ChromeClient.h:171:22: note: hidden overloaded virtual function 'WebCore::ChromeClient::scrollRectIntoView' declared here
976             virtual void scrollRectIntoView(const IntRect&) { }; // Currently only Mac has a non empty implementation.
977
978         * page/ChromeClient.h:
979         (WebCore::ChromeClient::scrollRectIntoView):
980
981 2011-08-30  David Hyatt  <hyatt@apple.com>
982
983         <rdar://problem/8832814> With large line-height, column break can happen anywhere in the
984         inter-line gap, causing staggered lines.
985         
986         https://bugs.webkit.org/show_bug.cgi?id=67202 Handle positive leading when paginating lines.
987         
988         Technically we should paginate lines based solely off their line top and line bottom with
989         leading included. However there are two issues with always doing so. The first is that overflow
990         can cause lines to overlap, and the second is that negative leading can cause lines to overlap.
991
992         Since we're incapable of dealing with overlap until we stop clipping column boxes and allow them
993         to have a form of specialized overflow, we still have to at least factor in overflow and ignore
994         negative leading for now. However we can at least honor positive leading when the lines don't
995         overlap. This patch provides basic support for paginating when positive leading is involved.
996
997         Reviewed by Dan Bernstein.
998
999         Added fast/multicol/positive-leading.html.
1000
1001         * rendering/RenderBlock.cpp:
1002         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
1003         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
1004
1005         (WebCore::RenderBlock::adjustLinePositionForPagination):
1006         Grow the top and extent of the line to include our leading when deciding how to paginate
1007         the line.
1008
1009         * rendering/RenderBlockLineLayout.cpp:
1010         (WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
1011         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1012         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1013         (WebCore::RenderBlock::checkFloatsInCleanLine):
1014         (WebCore::RenderBlock::determineStartPosition):
1015         (WebCore::RenderBlock::determineEndPosition):
1016         (WebCore::RenderBlock::matchedEndLine):
1017         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
1018
1019         * rendering/RootInlineBox.cpp:
1020         (WebCore::RootInlineBox::RootInlineBox):
1021         (WebCore::RootInlineBox::adjustPosition):
1022         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1023         * rendering/RootInlineBox.h:
1024         (WebCore::RootInlineBox::lineTopWithLeading):
1025         (WebCore::RootInlineBox::lineBottomWithLeading):
1026         (WebCore::RootInlineBox::setLineTopBottomPositions):
1027         Instead of one member variable, blockLogicalHeight(), RootInlineBoxes now know both their top and
1028         bottom including leading. These values are obtainable using lineTopWithLeading() and lineBottomWithLeading().
1029         Add these two values to the setLineTopBottomPositions setter and remove setBlockLogicalHeight.
1030
1031         * rendering/svg/SVGRootInlineBox.cpp:
1032         (WebCore::SVGRootInlineBox::layoutRootBox):
1033         Renamed blockLogicalHeight() to lineBottomWithLeading(). The value is the same.
1034
1035 2011-08-29  Chris Marrin  <cmarrin@apple.com>
1036
1037         Rename GraphicsContext3DInternal to GraphicsContext3DPrivate and add a dummy version of this class for Mac
1038         https://bugs.webkit.org/show_bug.cgi?id=67172
1039
1040         Reviewed by Kenneth Russell.
1041
1042         * GNUmakefile.list.am:
1043         * platform/graphics/GraphicsContext3D.h:
1044         * platform/graphics/chromium/Extensions3DChromium.h:
1045         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
1046         (WebCore::GraphicsContext3D::create):
1047         (WebCore::GraphicsContext3D::GraphicsContext3D):
1048         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1049         (WebCore::GraphicsContext3D::makeContextCurrent):
1050         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1051         * platform/graphics/gtk/GraphicsContext3DInternal.h: Removed.
1052         * platform/graphics/gtk/GraphicsContext3DPrivate.h: Copied from Source/WebCore/platform/graphics/gtk/GraphicsContext3DInternal.h.
1053         * platform/graphics/mac/GraphicsContext3DMac.mm:
1054         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1055         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1056         (WebCore::GraphicsContext3D::GraphicsContext3D):
1057         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1058         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1059         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1060         (WebCore::GraphicsContext3DPrivate::getViewportGLWidget):
1061         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
1062         (WebCore::GraphicsContext3DPrivate::boundingRect):
1063         (WebCore::GraphicsContext3DPrivate::paint):
1064         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
1065         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
1066         (WebCore::GraphicsContext3D::create):
1067         (WebCore::GraphicsContext3D::GraphicsContext3D):
1068         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1069         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1070         (WebCore::GraphicsContext3D::platformLayer):
1071         (WebCore::GraphicsContext3D::makeContextCurrent):
1072         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1073         (WebCore::GraphicsContext3D::reshape):
1074         (WebCore::GraphicsContext3D::activeTexture):
1075         (WebCore::GraphicsContext3D::attachShader):
1076         (WebCore::GraphicsContext3D::getAttachedShaders):
1077         (WebCore::GraphicsContext3D::bindAttribLocation):
1078         (WebCore::GraphicsContext3D::bindBuffer):
1079         (WebCore::GraphicsContext3D::bindFramebuffer):
1080         (WebCore::GraphicsContext3D::bindRenderbuffer):
1081         (WebCore::GraphicsContext3D::bindTexture):
1082         (WebCore::GraphicsContext3D::blendColor):
1083         (WebCore::GraphicsContext3D::blendEquation):
1084         (WebCore::GraphicsContext3D::blendEquationSeparate):
1085         (WebCore::GraphicsContext3D::blendFunc):
1086         (WebCore::GraphicsContext3D::blendFuncSeparate):
1087         (WebCore::GraphicsContext3D::bufferData):
1088         (WebCore::GraphicsContext3D::bufferSubData):
1089         (WebCore::GraphicsContext3D::checkFramebufferStatus):
1090         (WebCore::GraphicsContext3D::clearColor):
1091         (WebCore::GraphicsContext3D::clear):
1092         (WebCore::GraphicsContext3D::clearDepth):
1093         (WebCore::GraphicsContext3D::clearStencil):
1094         (WebCore::GraphicsContext3D::colorMask):
1095         (WebCore::GraphicsContext3D::compileShader):
1096         (WebCore::GraphicsContext3D::copyTexImage2D):
1097         (WebCore::GraphicsContext3D::copyTexSubImage2D):
1098         (WebCore::GraphicsContext3D::cullFace):
1099         (WebCore::GraphicsContext3D::depthFunc):
1100         (WebCore::GraphicsContext3D::depthMask):
1101         (WebCore::GraphicsContext3D::depthRange):
1102         (WebCore::GraphicsContext3D::detachShader):
1103         (WebCore::GraphicsContext3D::disable):
1104         (WebCore::GraphicsContext3D::disableVertexAttribArray):
1105         (WebCore::GraphicsContext3D::drawArrays):
1106         (WebCore::GraphicsContext3D::drawElements):
1107         (WebCore::GraphicsContext3D::enable):
1108         (WebCore::GraphicsContext3D::enableVertexAttribArray):
1109         (WebCore::GraphicsContext3D::finish):
1110         (WebCore::GraphicsContext3D::flush):
1111         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
1112         (WebCore::GraphicsContext3D::framebufferTexture2D):
1113         (WebCore::GraphicsContext3D::frontFace):
1114         (WebCore::GraphicsContext3D::generateMipmap):
1115         (WebCore::GraphicsContext3D::getActiveAttrib):
1116         (WebCore::GraphicsContext3D::getActiveUniform):
1117         (WebCore::GraphicsContext3D::getAttribLocation):
1118         (WebCore::GraphicsContext3D::getError):
1119         (WebCore::GraphicsContext3D::getString):
1120         (WebCore::GraphicsContext3D::hint):
1121         (WebCore::GraphicsContext3D::isBuffer):
1122         (WebCore::GraphicsContext3D::isEnabled):
1123         (WebCore::GraphicsContext3D::isFramebuffer):
1124         (WebCore::GraphicsContext3D::isProgram):
1125         (WebCore::GraphicsContext3D::isRenderbuffer):
1126         (WebCore::GraphicsContext3D::isShader):
1127         (WebCore::GraphicsContext3D::isTexture):
1128         (WebCore::GraphicsContext3D::lineWidth):
1129         (WebCore::GraphicsContext3D::linkProgram):
1130         (WebCore::GraphicsContext3D::pixelStorei):
1131         (WebCore::GraphicsContext3D::polygonOffset):
1132         (WebCore::GraphicsContext3D::readPixels):
1133         (WebCore::GraphicsContext3D::releaseShaderCompiler):
1134         (WebCore::GraphicsContext3D::renderbufferStorage):
1135         (WebCore::GraphicsContext3D::sampleCoverage):
1136         (WebCore::GraphicsContext3D::scissor):
1137         (WebCore::GraphicsContext3D::shaderSource):
1138         (WebCore::GraphicsContext3D::stencilFunc):
1139         (WebCore::GraphicsContext3D::stencilFuncSeparate):
1140         (WebCore::GraphicsContext3D::stencilMask):
1141         (WebCore::GraphicsContext3D::stencilMaskSeparate):
1142         (WebCore::GraphicsContext3D::stencilOp):
1143         (WebCore::GraphicsContext3D::stencilOpSeparate):
1144         (WebCore::GraphicsContext3D::texParameterf):
1145         (WebCore::GraphicsContext3D::texParameteri):
1146         (WebCore::GraphicsContext3D::uniform1f):
1147         (WebCore::GraphicsContext3D::uniform1fv):
1148         (WebCore::GraphicsContext3D::uniform2f):
1149         (WebCore::GraphicsContext3D::uniform2fv):
1150         (WebCore::GraphicsContext3D::uniform3f):
1151         (WebCore::GraphicsContext3D::uniform3fv):
1152         (WebCore::GraphicsContext3D::uniform4f):
1153         (WebCore::GraphicsContext3D::uniform4fv):
1154         (WebCore::GraphicsContext3D::uniform1i):
1155         (WebCore::GraphicsContext3D::uniform1iv):
1156         (WebCore::GraphicsContext3D::uniform2i):
1157         (WebCore::GraphicsContext3D::uniform2iv):
1158         (WebCore::GraphicsContext3D::uniform3i):
1159         (WebCore::GraphicsContext3D::uniform3iv):
1160         (WebCore::GraphicsContext3D::uniform4i):
1161         (WebCore::GraphicsContext3D::uniform4iv):
1162         (WebCore::GraphicsContext3D::uniformMatrix2fv):
1163         (WebCore::GraphicsContext3D::uniformMatrix3fv):
1164         (WebCore::GraphicsContext3D::uniformMatrix4fv):
1165         (WebCore::GraphicsContext3D::useProgram):
1166         (WebCore::GraphicsContext3D::validateProgram):
1167         (WebCore::GraphicsContext3D::vertexAttrib1f):
1168         (WebCore::GraphicsContext3D::vertexAttrib1fv):
1169         (WebCore::GraphicsContext3D::vertexAttrib2f):
1170         (WebCore::GraphicsContext3D::vertexAttrib2fv):
1171         (WebCore::GraphicsContext3D::vertexAttrib3f):
1172         (WebCore::GraphicsContext3D::vertexAttrib3fv):
1173         (WebCore::GraphicsContext3D::vertexAttrib4f):
1174         (WebCore::GraphicsContext3D::vertexAttrib4fv):
1175         (WebCore::GraphicsContext3D::vertexAttribPointer):
1176         (WebCore::GraphicsContext3D::viewport):
1177         (WebCore::GraphicsContext3D::getBooleanv):
1178         (WebCore::GraphicsContext3D::getBufferParameteriv):
1179         (WebCore::GraphicsContext3D::getFloatv):
1180         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
1181         (WebCore::GraphicsContext3D::getIntegerv):
1182         (WebCore::GraphicsContext3D::getProgramiv):
1183         (WebCore::GraphicsContext3D::getProgramInfoLog):
1184         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
1185         (WebCore::GraphicsContext3D::getShaderiv):
1186         (WebCore::GraphicsContext3D::getShaderInfoLog):
1187         (WebCore::GraphicsContext3D::getShaderSource):
1188         (WebCore::GraphicsContext3D::getTexParameterfv):
1189         (WebCore::GraphicsContext3D::getTexParameteriv):
1190         (WebCore::GraphicsContext3D::getUniformfv):
1191         (WebCore::GraphicsContext3D::getUniformiv):
1192         (WebCore::GraphicsContext3D::getUniformLocation):
1193         (WebCore::GraphicsContext3D::getVertexAttribfv):
1194         (WebCore::GraphicsContext3D::getVertexAttribiv):
1195         (WebCore::GraphicsContext3D::getVertexAttribOffset):
1196         (WebCore::GraphicsContext3D::texImage2D):
1197         (WebCore::GraphicsContext3D::texSubImage2D):
1198         (WebCore::GraphicsContext3D::createBuffer):
1199         (WebCore::GraphicsContext3D::createFramebuffer):
1200         (WebCore::GraphicsContext3D::createProgram):
1201         (WebCore::GraphicsContext3D::createRenderbuffer):
1202         (WebCore::GraphicsContext3D::createShader):
1203         (WebCore::GraphicsContext3D::createTexture):
1204         (WebCore::GraphicsContext3D::deleteBuffer):
1205         (WebCore::GraphicsContext3D::deleteFramebuffer):
1206         (WebCore::GraphicsContext3D::deleteProgram):
1207         (WebCore::GraphicsContext3D::deleteRenderbuffer):
1208         (WebCore::GraphicsContext3D::deleteShader):
1209         (WebCore::GraphicsContext3D::deleteTexture):
1210
1211 2011-08-30  Tony Chang  <tony@chromium.org>
1212
1213         Remove webcore_bindings (including DerivedSources##.cpp) from the critical path
1214         https://bugs.webkit.org/show_bug.cgi?id=67168
1215
1216         Reviewed by Adam Barth.
1217
1218         webcore_bindings_sources generates various files (e.g., CSSPropertyNames,
1219         DerivedSources, HTMLNames, etc).  webcore_bindings depends on webcore_bindings_sources
1220         and compiles these files.  Previously, the other webcore libs (webcore_svg,
1221         webcore_html, webcore_remaining, etc) depended on webcore_bindings.  This changes the
1222         dependency on webocre_bindings_sources so the build can parallelize the compile of
1223         webcore_bindings and the other webcore_* libs.
1224
1225         No new tests, just changing the build dependencies.  Manually copy over the
1226         include dirs that we used to get from webcore_bindings' direct_dependent_settings.
1227
1228         * WebCore.gyp/WebCore.gyp:
1229
1230 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1231
1232         The unused ScrollView* argument can and should be removed from
1233         scrollRectIntoView.
1234         https://bugs.webkit.org/show_bug.cgi?id=67117
1235
1236         Reviewed by Darin Adler.
1237
1238         * loader/EmptyClients.h:
1239         (WebCore::EmptyChromeClient::scrollRectIntoView):
1240         * page/Chrome.cpp:
1241         (WebCore::Chrome::scrollRectIntoView):
1242         * page/ChromeClient.h:
1243         (WebCore::ChromeClient::scrollRectIntoView):
1244
1245 2011-08-30  Ben Wells  <benwells@chromium.org>
1246
1247         Update registerProtocolHandler scheme whitelist to match spec
1248         https://bugs.webkit.org/show_bug.cgi?id=67104
1249
1250         Reviewed by Darin Adler.
1251
1252         * page/Navigator.cpp:
1253         (WebCore::initProtocolHandlerWhitelist):
1254
1255 2011-08-30  Vsevolod Vlasov  <vsevik@chromium.org>
1256
1257         Web Inspector: Inspected page sometimes crashes in InspectorResourceAgent::didFailLoading
1258         https://bugs.webkit.org/show_bug.cgi?id=67193
1259
1260         Reviewed by Pavel Feldman.
1261
1262         * inspector/InspectorResourceAgent.cpp:
1263         (WebCore::InspectorResourceAgent::didFailLoading):
1264
1265 2011-08-30  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
1266
1267         [Qt] Do not unconditionally use pkg-config in .pro files
1268         https://bugs.webkit.org/show_bug.cgi?id=67055
1269
1270         Reviewed by Andreas Kling.
1271
1272         Original patch from Rohan McGovern <rohan.mcgovern@nokia.com>
1273
1274         Using the first pkg-config in PATH is prone to errors when cross
1275         compiling inside the Qt repository (using Qt's build-system).
1276
1277         This patch protect calls for pkg-config with
1278         !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to
1279         QT_CONFIG by Qt's 'configure' when cross-compiling on systems
1280         without pkg-config.
1281
1282         The respective change in Qt's configure has been submited already.
1283
1284         No new tests as this is just a build change.
1285
1286         * features.pri: protect pkg-config calls
1287
1288 2011-08-30  Andreas Kling  <kling@webkit.org>
1289
1290         HTMLImageElement: Don't cache "ismap" and "usemap" attributes.
1291         https://bugs.webkit.org/show_bug.cgi?id=66784
1292
1293         Reviewed by Darin Adler.
1294
1295         * html/HTMLImageElement.h: Remove the "ismap" and "usemap" members,
1296         shrinking HTMLImageElement by 16 bytes (on 64-bit.)
1297         * html/HTMLImageElement.cpp:
1298         (WebCore::HTMLImageElement::HTMLImageElement):
1299         (WebCore::HTMLImageElement::parseMappedAttribute): Most of the logic
1300         for "ismap" and "usemap" moved into isServerMap().
1301         (WebCore::HTMLImageElement::isServerMap): Out-of-lined and implemented
1302         using fast*Attribute().
1303
1304 2011-08-30  Ryosuke Niwa  <rniwa@webkit.org>
1305
1306         lastChangeWasUserEdit continues to return true when innerText or textContent is modified
1307         https://bugs.webkit.org/show_bug.cgi?id=67183
1308
1309         Reviewed by Kent Tamura.
1310
1311         Fixed the bug by calling setLastChangeWasNotUserEdit in HTMLTextAreaElement::childrenChanged.
1312
1313         Also got rid of HTMLTextFormControlElement::subtreeHasChanged because it was a needless indirection.
1314
1315         * html/HTMLInputElement.cpp:
1316         (WebCore::HTMLInputElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
1317         * html/HTMLTextAreaElement.cpp:
1318         (WebCore::HTMLTextAreaElement::childrenChanged): Calls setLastChangeWasNotUserEdit.
1319         (WebCore::HTMLTextAreaElement::subtreeHasChanged): No longer calls HTMLTextFormControlElement::subtreeHasChanged.
1320         * html/HTMLTextFormControlElement.cpp:
1321         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Merged subtreeHasChanged.
1322         (WebCore::HTMLTextFormControlElement::setInnerTextValue): No longer set m_lastChangeWasUserEdit to false
1323         since this is now done when renderers are set dirty.
1324         * html/HTMLTextFormControlElement.h: Made subtreeHasChanged a pure virtual function.
1325
1326 2011-08-29  Yury Semikhatsky  <yurys@chromium.org>
1327
1328         Web Inspector: wrong script display name when there is a slash in its URL query parameters
1329         https://bugs.webkit.org/show_bug.cgi?id=67120
1330
1331         Fixed folder name computation in ScriptsPanel. Now search query is ignored
1332         when searching for the script folder name.
1333
1334         Reviewed by Pavel Feldman.
1335
1336         * inspector/front-end/ScriptsPanel.js:
1337         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
1338
1339 2011-08-29  Yury Semikhatsky  <yurys@chromium.org>
1340
1341         Return value of window.onerror has inverted semantics
1342         https://bugs.webkit.org/show_bug.cgi?id=67119
1343
1344         Error is now treated as handled only when window.onerror function returns true.
1345
1346         Reviewed by Darin Adler.
1347
1348         Test: fast/events/window-onerror13.html
1349
1350         * bindings/js/JSErrorHandler.cpp:
1351         (WebCore::JSErrorHandler::handleEvent):
1352         * bindings/v8/V8WindowErrorHandler.cpp:
1353         (WebCore::V8WindowErrorHandler::callListenerFunction):
1354         * bindings/v8/V8WorkerContextErrorHandler.cpp:
1355         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
1356
1357 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1358
1359         Touch Internals.cpp in an attempt to fix GTK+ build.
1360
1361         * testing/Internals.cpp:
1362
1363 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1364
1365         Move setInnerTextValue from RenderTextControl to HTMLTextFormControlElement
1366         https://bugs.webkit.org/show_bug.cgi?id=67152
1367
1368         Reviewed by Darin Adler.
1369
1370         Moved setInnerTextValue from RenderTextControl to HTMLTextFormControlElement.
1371
1372         Also moved m_lastChangeWasUserEdit from RenderTextControl to HTMLTextFormControlElement
1373         and related inline functions from RenderTextControl to HTMLTextFormControlElement.
1374         Because m_lastChangeWasUserEdit is no longer reset when RenderTextControl is recreated,
1375         added explicit calls to setLastChangeWasNotUserEdit in setValue functions of HTMLInputElement
1376         and HTMLTextAreaElement.
1377
1378         This patch also fixes the bug that lastChangeWasUserEdit() incorrectly returns false
1379         when input or textarea don't have renderer (e.g. invisible).
1380
1381         Unfortunately, there is no way to test this behavioral change from layout tests.
1382
1383         * WebCore.exp.in: Exports lastChangeWasUserEdit in HTMLTextFormControlElement instead of
1384         that of HTMLInputElement and HTMLTextAreaElement.
1385         * html/HTMLInputElement.cpp:
1386         (WebCore::HTMLInputElement::setValue): Explicitly calls setLastChangeWasNotUserEdit.
1387         * html/HTMLInputElement.h:
1388         * html/HTMLTextAreaElement.cpp:
1389         (WebCore::HTMLTextAreaElement::setValueCommon): Ditto.
1390         * html/HTMLTextAreaElement.h:
1391         * html/HTMLTextFormControlElement.cpp:
1392         (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
1393         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Sets m_lastChangeWasUserEdit true
1394         as it used to do via respondToChangeByUser.
1395         (WebCore::HTMLTextFormControlElement::lastChangeWasUserEdit): Moved from HTMLInputElement
1396         and HTMLTextAreaElement.
1397         (WebCore::HTMLTextFormControlElement::setInnerTextValue): Moved from RenderTextControl.
1398         * html/HTMLTextFormControlElement.h:
1399         (WebCore::HTMLTextFormControlElement::setLastChangeWasNotUserEdit): Added.
1400         * rendering/RenderTextControl.cpp:
1401         (WebCore::RenderTextControl::RenderTextControl): No longer initializes m_lastChangeWasUserEdit.
1402         * rendering/RenderTextControl.h:
1403         * rendering/RenderTextControlSingleLine.cpp:
1404         (WebCore::RenderTextControlSingleLine::updateFromElement): Calls setInnerTextValue.
1405         * rendering/RenderTextControlMultiLine.cpp:
1406         (WebCore::RenderTextControlMultiLine::updateFromElement): Ditto.
1407
1408 2011-08-25  Kent Tamura  <tkent@chromium.org>
1409
1410         REGRESSION(r88115): Disabling a file upload control causes an endless busyloop.
1411         https://bugs.webkit.org/show_bug.cgi?id=66659
1412
1413         Reviewed by Darin Adler.
1414
1415         Test: fast/forms/file/disabling-file-busy-loop.html
1416
1417         * rendering/RenderFileUploadControl.cpp:
1418         (WebCore::RenderFileUploadControl::updateFromElement):
1419         Don't call setDisabled() if the disabled status is not changed.
1420         setDisabled() causes styleRecalc(), and
1421         HTMLFormControlElement::styleRecalc() causes
1422         updateFromElement(). updateFromElement() should not call
1423         setDisabled() again.
1424
1425 2011-08-29  Daniel Bates  <dbates@webkit.org>
1426
1427         Add HAVE(VASPRINTF) macro to test for vasprintf() support
1428         https://bugs.webkit.org/show_bug.cgi?id=67156
1429
1430         Reviewed by Darin Adler.
1431
1432         * xml/parser/XMLDocumentParserLibxml2.cpp:
1433         (WebCore::XMLDocumentParser::error): Modified to use HAVE(VASPRINTF).
1434
1435 2011-08-29  Yuta Kitamura  <yutak@chromium.org>
1436
1437         WebSocket: Receive binary message as Blob
1438         https://bugs.webkit.org/show_bug.cgi?id=67115
1439
1440         Reviewed by Kent Tamura.
1441
1442         Make WebSocketChannel be able to receive WebSocket binary messages and deliver them via
1443         didReceiveBinaryData() callback of WebSocketChannelClient.
1444
1445         Tests: http/tests/websocket/tests/hybi/fragmented-binary-frames.html
1446                http/tests/websocket/tests/hybi/receive-blob.html
1447                http/tests/websocket/tests/hybi/workers/receive-blob.html
1448
1449         * bindings/js/JSMessageEventCustom.cpp:
1450         (WebCore::JSMessageEvent::data): Convert Blob to JSValue.
1451         * bindings/v8/custom/V8MessageEventCustom.cpp:
1452         (WebCore::V8MessageEvent::dataAccessorGetter): Convert Blob to v8::Value.
1453         * dom/MessageEvent.cpp:
1454         (WebCore::MessageEvent::MessageEvent):
1455         * dom/MessageEvent.h:
1456         Added DataTypeBlob and Blob-related functions.
1457         (WebCore::MessageEvent::create):
1458         (WebCore::MessageEvent::dataAsBlob):
1459         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1460         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
1461         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
1462         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1463         * websockets/WebSocket.cpp:
1464         (WebCore::WebSocket::didReceiveBinaryData):
1465         If binaryType attribute is "blob", construct a Blob using BlobData filled with the given
1466         binary message.
1467         * websockets/WebSocket.h:
1468         * websockets/WebSocketChannel.cpp:
1469         (WebCore::WebSocketChannel::processFrame):
1470         Create continuousFrameData as OwnPtr<> rather than stack-allocated value so we can easily
1471         pass it to didReceiveBinaryData() callback.
1472         Save the content of a fragmented message even if it is a binary opcode.
1473         * websockets/WebSocketChannelClient.h:
1474         (WebCore::WebSocketChannelClient::didReceiveBinaryData):
1475         * websockets/WorkerThreadableWebSocketChannel.cpp:
1476         (WebCore::workerContextDidReceiveBinaryData):
1477         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
1478         Pass binaryData as PassOwnPtr<Vector<char> > to deliver the value efficiently (without
1479         copying the content) across threads.
1480         * websockets/WorkerThreadableWebSocketChannel.h:
1481
1482 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1483
1484         Add a test for lastChangeWasUserEdit in HTMLInputElement and HTMLTextAreaElement
1485         https://bugs.webkit.org/show_bug.cgi?id=67173
1486
1487         Reviewed by Darin Adler.
1488
1489         Exposed HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
1490         via internals.wasLastChangeUserEdit(Element*, ExceptionCode&). The first argument must be
1491         an input element or a textarea element lastChangeWasUserEdit is called upon.
1492
1493         Test: fast/forms/textfield-lastchange-was-useredit.html
1494
1495         * testing/Internals.cpp:
1496         (WebCore::Internals::wasLastChangeUserEdit):
1497         * testing/Internals.h:
1498         * testing/Internals.idl:
1499
1500 2011-08-29  Luke Macpherson   <macpherson@chromium.org>
1501
1502         Implement CSSPropertyWebkitColumns in CSSStyleApplyProperty.
1503         https://bugs.webkit.org/show_bug.cgi?id=67106
1504
1505         Reviewed by Darin Adler.
1506
1507         Tests:
1508         LayoutTests/fast/multicol/inherit-column-values.html
1509         LayoutTests/fast/multicol/initial-column-values.html
1510
1511         * css/CSSStyleApplyProperty.cpp:
1512         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1513         Initialize handler for CSSPropertyWebkitColumns.
1514         * css/CSSStyleSelector.cpp:
1515         (WebCore::CSSStyleSelector::applyProperty):
1516         Remove existing implementation for CSSPropertyWebkitColumns.
1517
1518 2011-08-29  Mark Hahnenberg  <mhahnenberg@apple.com>
1519
1520         Unzip initialization lists and constructors in JSCell hierarchy (3/7)
1521         https://bugs.webkit.org/show_bug.cgi?id=67064
1522
1523         Reviewed by Darin Adler.
1524
1525         No new tests.
1526
1527         Completed the third level of the refactoring to add finishCreation() 
1528         methods to all classes within the JSCell hierarchy with non-trivial 
1529         constructor bodies.
1530
1531         This primarily consists of pushing the calls to finishCreation() down 
1532         into the constructors of the subclasses of the second level of the hierarchy 
1533         as well as pulling the finishCreation() calls out into the class's corresponding
1534         create() method if it has one.  Doing both simultaneously allows us to 
1535         maintain the invariant that the finishCreation() method chain is called exactly 
1536         once during the creation of an object, since calling it any other number of 
1537         times (0, 2, or more) will cause an assertion failure.
1538
1539         * bindings/js/JSDOMWindowShell.cpp:
1540         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1541         (WebCore::JSDOMWindowShell::finishCreation):
1542         * bindings/js/JSDOMWindowShell.h:
1543
1544 2011-08-29  John Bauman  <jbauman@chromium.org>
1545
1546         Speed up texImage from BGRA
1547         https://bugs.webkit.org/show_bug.cgi?id=66884
1548
1549         Reviewed by Kenneth Russell.
1550
1551         BGRA input is common coming from skia, so optimize BGRA->RGBA
1552         conversion and also avoid the pointless RGBA to RGBA conversion.
1553
1554         * platform/graphics/GraphicsContext3D.cpp:
1555         (WebCore::doUnpackingAndPacking):
1556
1557 2011-08-29  Matthew Delaney  <mdelaney@apple.com>
1558
1559         [CG] ImageBufferCG should handle IOSurface allocation failure gracefully
1560         https://bugs.webkit.org/show_bug.cgi?id=67099
1561
1562         Reviewed by Simon Fraser.
1563
1564         No new tests. Testing the "fallback to old path" behavior is not easily testable.
1565
1566         * platform/graphics/cg/ImageBufferCG.cpp: Rearranged backing store creation to fall back to
1567           old path if IOSurface creation path fails.
1568         (WebCore::ImageBuffer::ImageBuffer):
1569
1570 2011-08-29  Cary Clark  <caryclark@google.com>
1571
1572         Only enable font smoothing as requested (Skia on Mac)
1573         https://bugs.webkit.org/show_bug.cgi?id=67143
1574
1575         This adjusts LayoutTest pixel output to more closely
1576         match other platforms.
1577
1578         Reviewed by Kenneth Russell.
1579
1580         No new tests. This platform is not yet enabled.
1581
1582         * platform/graphics/skia/FontSkia.cpp:
1583         (WebCore::setupPaint):
1584         LCD text was always enabled to test the code path. With this change,
1585         it is only enabled when instructed by the font state.
1586
1587 2011-08-29  Julien Chaffraix  <jchaffraix@webkit.org>
1588
1589         Assertion failure in RenderLayer::computeRepaintRects when scrolling
1590         https://bugs.webkit.org/show_bug.cgi?id=67140
1591
1592         Reviewed by David Hyatt.
1593
1594         Test: fast/repaint/scroll-fixed-layer-with-no-visible-content.html
1595
1596         * rendering/RenderLayer.cpp:
1597         (WebCore::RenderLayer::computeRepaintRects): Fixed style after r93837.
1598
1599         (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Tweaked the code
1600         to bail early if our layer has no visible content. This avoids the ASSERT
1601         and also makes sense as we shouldn't repaint / update empty layers.
1602
1603 2011-08-29  Anna Cavender  <annacc@chromium.org>
1604
1605         Implement WebVTT Cue Text Parsing rules and DOM construction
1606         https://bugs.webkit.org/show_bug.cgi?id=64132
1607
1608         Reviewed by Adam Barth.
1609
1610         Tests in media/track, particularly track-webvtt-tc[022 - 028]*.
1611
1612         * CMakeLists.txt:
1613         * GNUmakefile.list.am:
1614         * WebCore.gypi:
1615         * WebCore.pro:
1616         * WebCore.xcodeproj/project.pbxproj:
1617         * html/TextTrackCue.cpp:
1618         * html/TextTrackCue.h:
1619         * platform/track/CueParser.cpp:
1620         * platform/track/CueParser.h:
1621         * platform/track/WebVTTParser.cpp:
1622         * platform/track/WebVTTParser.h:
1623         * platform/track/WebVTTToken.h: Added.
1624         * platform/track/WebVTTTokenizer.cpp: Added.
1625         * platform/track/WebVTTTokenizer.h: Added.
1626
1627 2011-08-29  Patrick Gansterer  <paroga@webkit.org>
1628
1629         Add parsing support for extended attributes on IDL constants
1630         https://bugs.webkit.org/show_bug.cgi?id=65046
1631
1632         Reviewed by Brent Fulgham.
1633
1634         With support for extended attributes on constants we can
1635         replace some preprocessor lines from the IDL files with
1636         the corresponding [Conditional=XXX] later.
1637         Using the preprocessor causes much pain on native windows.
1638
1639         CodeGenerator support will be added in separate patches.
1640
1641         * bindings/scripts/IDLParser.pm:
1642         * bindings/scripts/IDLStructure.pm:
1643
1644 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
1645
1646         Cleanup: notifyFormStateChanged, formControlValueMatchesRenderer, and setFormControlValueMatchesRenderer
1647         https://bugs.webkit.org/show_bug.cgi?id=67141
1648
1649         Reviewed by Eric Seidel.
1650
1651         No new tests since this is a refactoring.
1652
1653         * dom/Element.h: Removed formControlValueMatchesRenderer and setFormControlValueMatchesRenderer.
1654         * html/HTMLInputElement.cpp: Removed notifyFormStateChanged.
1655         * html/HTMLInputElement.h:
1656         * html/HTMLTextAreaElement.cpp:
1657         (WebCore::HTMLTextAreaElement::updateValue): Calls notifyFormStateChanged; modifies m_wasModifiedByUser.
1658         (WebCore::HTMLTextAreaElement::setValueCommon): Calls notifyFormStateChanged; also renamed value to newValue
1659         to avoid the conflict with value().
1660         * html/HTMLTextAreaElement.h: Made m_wasModifiedByUser mutable.
1661         * html/HTMLTextFormControlElement.cpp:
1662         (WebCore::HTMLTextFormControlElement::notifyFormStateChanged): Extracted from notifyFormStateChanged in
1663         HTMLInputElement.cpp and HTMLTextAreaElement.cpp.
1664         * html/HTMLTextFormControlElement.h:
1665         * rendering/RenderTextControl.cpp:
1666         (WebCore::RenderTextControl::setInnerTextValue): Calls setFormControlValueMatchesRenderer.
1667
1668 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1669
1670         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
1671         r93999.
1672         http://trac.webkit.org/changeset/93987
1673         http://trac.webkit.org/changeset/93992
1674         http://trac.webkit.org/changeset/93995
1675         http://trac.webkit.org/changeset/93998
1676         http://trac.webkit.org/changeset/93999
1677         https://bugs.webkit.org/show_bug.cgi?id=67147
1678
1679         Many failing tests (Requested by ap on #webkit).
1680
1681         * WebCore.exp.in:
1682         * platform/mac/CookieJar.mm:
1683         (WebCore::cookies):
1684         (WebCore::cookieRequestHeaderFieldValue):
1685         (WebCore::setCookies):
1686         (WebCore::cookiesEnabled):
1687         (WebCore::getRawCookies):
1688         (WebCore::deleteCookie):
1689         * platform/network/CookieStorage.h:
1690         * platform/network/ResourceHandle.cpp:
1691         (WebCore::privateStorageSession):
1692         (WebCore::privateBrowsingStorageSessionIdentifierBase):
1693         (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
1694         (WebCore::ResourceHandle::privateBrowsingStorageSession):
1695         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
1696         * platform/network/ResourceHandle.h:
1697         * platform/network/cf/CookieJarCFNet.cpp:
1698         (WebCore::setCookies):
1699         (WebCore::cookies):
1700         (WebCore::cookieRequestHeaderFieldValue):
1701         (WebCore::cookiesEnabled):
1702         (WebCore::getRawCookies):
1703         (WebCore::deleteCookie):
1704         (WebCore::getHostnamesWithCookies):
1705         (WebCore::deleteCookiesForHostname):
1706         (WebCore::deleteAllCookies):
1707         * platform/network/cf/CookieStorageCFNet.cpp:
1708         (WebCore::privateBrowsingCookieStorage):
1709         (WebCore::defaultSessionCookieStorage):
1710         (WebCore::defaultCookieStorage):
1711         (WebCore::currentCookieStorage):
1712         (WebCore::setCurrentCookieStorage):
1713         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1714         (WebCore::startObservingCookieChanges):
1715         (WebCore::stopObservingCookieChanges):
1716         * platform/network/cf/CookieStorageCFNet.h:
1717         * platform/network/cf/ResourceHandleCFNet.cpp:
1718         (WebCore::makeFinalRequest):
1719         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
1720         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
1721         (WebCore::ResourceHandle::currentStorageSession):
1722         (WebCore::defaultCFURLStorageSession):
1723         (WebCore::ResourceHandle::setDefaultStorageSession):
1724         (WebCore::ResourceHandle::defaultStorageSession):
1725         * platform/network/mac/CookieStorageMac.mm:
1726         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1727         * platform/network/mac/ResourceHandleMac.mm:
1728         (WebCore::shouldRelaxThirdPartyCookiePolicy):
1729         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
1730
1731 2011-08-29  Nayan Kumar K  <nayankk@motorola.com>
1732
1733         As per HTML specification, default font style of dfn tag should be italic.
1734         https://bugs.webkit.org/show_bug.cgi?id=56670
1735
1736         Reviewed by Adam Barth.
1737
1738         Test: fast/css/dfn-default-font-style.html
1739
1740         * css/html.css:
1741         (i, cite, em, var, address, dfn):
1742
1743 2011-08-29  Patrick Gansterer  <paroga@webkit.org>
1744
1745         Consider Conditional attribute in CodeGeneratorJS' JSValueToNative and NativeToJSValue function
1746         https://bugs.webkit.org/show_bug.cgi?id=65040
1747
1748         Reviewed by Brent Fulgham.
1749
1750         JSValueToNative and NativeToJSValue add additional include statements
1751         to the implementation and need to handle the Conditional attribute from
1752         the IDL file. The Conditional attribute adds appropriate #if ENABLE()
1753         lines for the preprocessor around the include statements to remove
1754         some unneeded build dependencies.
1755
1756         * bindings/scripts/CodeGeneratorJS.pm:
1757
1758 2011-08-29  Nate Chapin  <japhet@chromium.org>
1759
1760         Plumb ResourceLoaderOptions out to CachedResourceLoader::requestResource().
1761         This will be needed in order for DocumentThreadableLoader to become a CachedResourceClient.
1762         https://bugs.webkit.org/show_bug.cgi?id=66018
1763
1764         Reviewed by Antti Koivisto.
1765
1766         No new tests, refactor only.
1767
1768         * loader/cache/CachedImage.cpp:
1769         (WebCore::CachedImage::load):
1770         * loader/cache/CachedResource.cpp:
1771         (WebCore::CachedResource::CachedResource):
1772         (WebCore::CachedResource::load):
1773         * loader/cache/CachedResource.h:
1774        (WebCore::CachedResource::load):
1775         (WebCore::CachedResource::setResourceLoaderOptions):
1776         (WebCore::CachedResource::sendResourceLoadCallbacks):
1777         * loader/cache/CachedResourceLoader.cpp:
1778         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1779         (WebCore::CachedResourceLoader::requestResource):
1780         (WebCore::CachedResourceLoader::loadResource):
1781         * loader/cache/CachedResourceLoader.h:
1782         * loader/cache/CachedResourceRequest.cpp:
1783         (WebCore::CachedResourceRequest::load):
1784         * loader/cache/CachedResourceRequest.h:
1785
1786 2011-08-29  Chris Palmer  <palmer@google.com>
1787
1788         Fix failures when FFT size is changed.
1789         https://bugs.webkit.org/show_bug.cgi?id=66916
1790
1791         Reviewed by Kenneth Russell.
1792
1793         Test: webaudio/fft-sizing.html
1794
1795         * webaudio/RealtimeAnalyser.cpp:
1796         (WebCore::RealtimeAnalyser::setFftSize): Assert size sanity.
1797         (WebCore::RealtimeAnalyser::doFFTAnalysis): Iterate the correct number of times over magnitudeBuffer.
1798         * webaudio/RealtimeAnalyser.h: Put member fields in the correct order (Min before Max).
1799
1800 2011-08-29  Abhishek Arya  <inferno@chromium.org>
1801
1802         Crash in InlineBox::deleteLine due to accessing removed
1803         renderer.
1804         https://bugs.webkit.org/show_bug.cgi?id=66015
1805
1806         Reviewed by Simon Fraser.
1807
1808         Test: fast/block/line-layout/inline-box-wrapper-crash.html
1809
1810         * rendering/RenderBox.cpp:
1811         (WebCore::RenderBox::positionLineBox): Make sure that the
1812         previous inline box wrapper is destroyed properly, before
1813         setting a new one.
1814
1815 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
1816
1817         Lion build fix.
1818
1819         * WebCore.exp.in: We have different definitions of CFURLStorageSessionRef on different versions
1820         of Mac OS X, and need separate exports.
1821
1822 2011-08-29  Tony Chang  <tony@chromium.org>
1823
1824         Implement -webkit-flex-pack for horizontal flexboxen
1825         https://bugs.webkit.org/show_bug.cgi?id=66898
1826
1827         Reviewed by Ojan Vafai.
1828
1829         Test: css3/flexbox/004.html
1830
1831         * rendering/RenderFlexibleBox.cpp:
1832         (WebCore::RenderFlexibleBox::layoutHorizontalBlock):
1833         (WebCore::hasPackingSpace):
1834         (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmHorizontal):
1835
1836 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
1837
1838         Windows build fix.
1839
1840         * platform/network/cf/CookieJarCFNet.cpp:
1841         (WebCore::setCookies):
1842         (WebCore::cookies):
1843         (WebCore::cookieRequestHeaderFieldValue):
1844         (WebCore::cookiesEnabled):
1845         (WebCore::getRawCookies):
1846         (WebCore::deleteCookie):
1847         (WebCore::getHostnamesWithCookies):
1848         (WebCore::deleteCookiesForHostname):
1849         (WebCore::deleteAllCookies):
1850         Updated for new function name and signature: currentCFHTTPCookieStorage().
1851
1852 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
1853
1854         Mac build fix.
1855
1856         * platform/network/cf/CookieStorageCFNet.cpp: Move Windows specific includes into PLATFORM(WIN).
1857
1858 2011-08-29  Andreas Kling  <kling@webkit.org>
1859
1860         Viewing a post on reddit.com wastes a lot of memory on event listeners.
1861         https://bugs.webkit.org/show_bug.cgi?id=67133
1862
1863         Reviewed by Darin Adler.
1864
1865         Specialize the HashMap used to store registered listeners on an EventTarget
1866         to have a minimum size of 32 (rather than the default 64.)
1867         It's very rare for pages to register listeners for so many different events
1868         and this cuts memory consumption in half for the common case.
1869
1870         As an example, for a typical post on the reddit.com front page,
1871         this reduces memory used by ~700kB on 64-bit.
1872
1873         * dom/EventTarget.h:
1874
1875 2011-08-29  Stephen White  <senorblanco@chromium.org>
1876
1877         Skia's accelerated canvas 2D implementation should use GrTexture, not DrawingBuffer
1878         https://bugs.webkit.org/show_bug.cgi?id=67050
1879
1880         Reviewed by Kenneth Russell.
1881
1882         Covered by existing tests.
1883
1884         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1885         (WebCore::Canvas2DLayerChromium::create):
1886         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
1887         (WebCore::Canvas2DLayerChromium::drawsContent):
1888         Construct Canvas2DLayerChromium with a GraphicsContext3D, not a
1889         DrawingBuffer.
1890         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1891         Flush the GrContext and GraphicsContext3D on compositor update.
1892         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1893         * platform/graphics/chromium/CanvasLayerChromium.cpp:
1894         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
1895         * platform/graphics/chromium/CanvasLayerChromium.h:
1896         Put textureId() back on the base class (CanvasLayerChromium) and
1897         de-virtualize it.
1898         (WebCore::CanvasLayerChromium::textureId):
1899         (WebCore::CanvasLayerChromium::setTextureId):
1900         Move m_textureId from WebGLLayerChromium, since canvas2D now uses
1901         it too.  Provide getters and setters.
1902         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1903         (WebCore::DrawingBuffer::DrawingBuffer):
1904         (WebCore::DrawingBuffer::~DrawingBuffer):
1905         Remove all Canvas2D-related calls from DrawingBuffer.
1906         (WebCore::DrawingBuffer::publishToPlatformLayer):
1907         Remove GrContext::flush call, since it's now handled by the platform layer.
1908         (WebCore::DrawingBuffer::platformLayer):
1909         Return NULL for now (WebGL may rescussitate this later).
1910         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1911         Remove a useless #include.
1912         * platform/graphics/chromium/ImageBufferDataSkia.h:
1913         Add ownership of the Canvas2DLayerChromium.
1914         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1915         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
1916         * platform/graphics/chromium/WebGLLayerChromium.h:
1917         Remove all texture ID stuff (now on base class).
1918         * platform/graphics/gpu/DrawingBuffer.h:
1919         Remove Canvas2DLayerChromium and all Ganesh datatypes from
1920         DrawingBuffer, since it's no longer used by canvas2D.
1921         * platform/graphics/skia/ImageBufferSkia.cpp:
1922         (WebCore::ImageBuffer::ImageBuffer):
1923         On accelerated ImageBuffer creation, create a GrTexture instead of a
1924         DrawingBuffer.  If all is cool, create and set the SkGpuDevice here,
1925         and create a Canvas2DLayerChromium platform layer.
1926         (WebCore::ImageBuffer::platformLayer):
1927         * platform/graphics/skia/PlatformContextSkia.cpp:
1928         (WebCore::PlatformContextSkia::setGraphicsContext3D):
1929         * platform/graphics/skia/PlatformContextSkia.h:
1930         Remove all GrContext creation and DrawingBuffer "scraping" from 
1931         PlatformContextSkia::setGraphicsContext3D().  This is handled in
1932         the ImageBuffer constructor instead.
1933
1934 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
1935
1936         DumpRenderTree should begin each test with an empty cookie store
1937         https://bugs.webkit.org/show_bug.cgi?id=63545
1938         <rdar://problem/5666907>
1939
1940         Reviewed by Darin Adler.
1941
1942         Use a clean CFURLStorageSession when this functionality is available.
1943
1944         * WebCore.exp.in: Added exports
1945
1946         * platform/mac/CookieJar.mm:
1947         (WebCore::cookies):
1948         (WebCore::cookieRequestHeaderFieldValue):
1949         (WebCore::setCookies):
1950         (WebCore::cookiesEnabled):
1951         (WebCore::getRawCookies):
1952         (WebCore::deleteCookie):
1953         Updated for privateBrowsingCookieStorage->currentCFHTTPCookieStorage change.
1954
1955         * platform/network/CookieStorage.h: Moved CFNetwork specific declarations to CookieStorageCFNet.h.
1956
1957         * platform/network/ResourceHandle.cpp: Moved CFNetwork specific code to ResourceHandleCFNet.cpp.
1958         This file contains cross platform functionality, and we no longer need to put code in it to
1959         share it between Mac and Windows.
1960
1961         * platform/network/ResourceHandle.h: Expose methods to manipulate default session on Mac, too.
1962
1963         * platform/network/cf/CookieStorageCFNet.cpp:
1964         (WebCore::cookieStorageOverride): Make it clear that this override is only for a Windows API.
1965         (WebCore::overrideCookieStorage): Ditto.
1966         (WebCore::currentCFHTTPCookieStorage): We no longer store a cookie storage in a static variable,
1967         unless it has been overridden on Windows. We can always get it from a session.
1968         (WebCore::setCookieStoragePrivateBrowsingEnabled): There is nothing to do here - we'll just
1969         use private session's storage. Note that Mac has a separate code path for OS versions that
1970         don't support sessions.
1971
1972         * platform/network/cf/CookieStorageCFNet.h: Changed exposed methods for more clarity.
1973
1974         * platform/network/cf/ResourceHandleCFNet.cpp:
1975         (WebCore::makeFinalRequest): Updated for currentCookieStorage->currentCFHTTPCookieStorage change.
1976         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): Moved out of USE(CFNETWORK),
1977         as this function is also used with NSURLConnection when sessions are enabled.
1978         (WebCore::ResourceHandle::currentStorageSession): Ditto. Removed an #if since default session
1979         is now supported on Mac, too.
1980         (WebCore::defaultCFURLStorageSession): Moved out of USE(CFNETWORK).
1981         (WebCore::ResourceHandle::setDefaultStorageSession): Moved out of USE(CFNETWORK). No longer
1982         adopt the session, because nothing in method name says that it will steal a reference from
1983         the caller.
1984         (WebCore::ResourceHandle::defaultStorageSession): Moved out of USE(CFNETWORK).
1985         (WebCore::privateStorageSession): Moved from ResourceHandle.cpp.
1986         (WebCore::privateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
1987         (WebCore::ResourceHandle::setPrivateBrowsingEnabled): Moved from ResourceHandle.cpp.
1988         (WebCore::ResourceHandle::privateBrowsingStorageSession): Moved from ResourceHandle.cpp.
1989         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): Moved from ResourceHandle.cpp.
1990         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): Moved from ResourceHandle.cpp.
1991
1992         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
1993         We no longer store a reference to cookie storage in a static variable, so nothing to do here.
1994         On older OS versiosn, we still need to enable legacy private browsing mode.
1995
1996         * platform/network/mac/ResourceHandleMac.mm: (WebCore::shouldRelaxThirdPartyCookiePolicy):
1997         Updated to use the new currentCFHTTPCookieStorage function.
1998
1999 2011-08-22  David Levin  <levin@chromium.org>
2000
2001         postMessage raises INVALID_STATE_ERR instead of DATA_CLONE_ERR in many cases.
2002         https://bugs.webkit.org/show_bug.cgi?id=66713
2003
2004         Reviewed by Dmitry Titov.
2005
2006         See http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#posting-messages for postMessage
2007
2008         * bindings/js/JSMessagePortCustom.cpp:
2009         (WebCore::fillMessagePortArray):
2010         * bindings/v8/custom/V8MessagePortCustom.cpp:
2011         (WebCore::getMessagePortArray):
2012         * dom/MessagePort.cpp:
2013         (WebCore::MessagePort::postMessage):
2014         (WebCore::MessagePort::disentanglePorts):
2015
2016 2011-08-29  Tom Zakrajsek  <tomz@codeaurora.org>
2017
2018         canvas arc() missing line to start of arc if swing is zero
2019         https://bugs.webkit.org/show_bug.cgi?id=55696
2020
2021         Reviewed by Andreas Kling.
2022
2023         Test: fast/canvas/canvas-arc-zero-lineto.html
2024
2025         * html/canvas/CanvasRenderingContext2D.cpp:
2026         (WebCore::CanvasRenderingContext2D::arc):
2027
2028 2011-08-23  Chris Marrin  <cmarrin@apple.com>
2029
2030         [mac] requestAnimationFrame support for mac port
2031         https://bugs.webkit.org/show_bug.cgi?id=59146
2032
2033         Reviewed by Simon Fraser.
2034
2035         Enable REQUEST_ANIMATION_FRAME logic and add ScriptedAnimationController
2036         to build. Added JavaScript support for Mac, too.
2037
2038         * CodeGenerators.pri:
2039         * Configurations/FeatureDefines.xcconfig:
2040         * DerivedSources.make:
2041         * WebCore.exp.in:
2042         * WebCore.xcodeproj/project.pbxproj:
2043         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp: Added.
2044         (WebCore::JSRequestAnimationFrameCallback::handleEvent):
2045         * bindings/scripts/CodeGeneratorJS.pm:
2046         (AddIncludesForType):
2047         * dom/RequestAnimationFrameCallback.idl:
2048
2049 2011-08-29  Alexander Pavlov  <apavlov@chromium.org>
2050
2051         Web Inspector: <button hidden>..</button> has a different computed "display" value than "none"
2052         https://bugs.webkit.org/show_bug.cgi?id=67124
2053
2054         Attribute styles have a higher priority than user agent styles and thus should be rendered above them.
2055
2056         Reviewed by Yury Semikhatsky.
2057
2058         * inspector/front-end/StylesSidebarPane.js:
2059         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2060         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
2061
2062 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
2063
2064         Web Inspector: rename sourceFile to (raw|ui)SourceCode in DebuggerPresentationModel.
2065         https://bugs.webkit.org/show_bug.cgi?id=66769
2066
2067         Reviewed by Pavel Feldman.
2068
2069         * inspector/front-end/DebuggerPresentationModel.js:
2070         (WebInspector.DebuggerPresentationModel):
2071         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCode):
2072         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation.didCreateSourceMapping):
2073         (WebInspector.DebuggerPresentationModel.prototype._scriptLocationToUILocation):
2074         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation.didCreateSourceMapping):
2075         (WebInspector.DebuggerPresentationModel.prototype._uiLocationToScriptLocation):
2076         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
2077         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
2078         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2079         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
2080         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2081         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
2082         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
2083         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
2084         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
2085         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
2086         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
2087         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
2088         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
2089         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2090         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2091         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
2092         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2093         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
2094         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
2095         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
2096         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
2097         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2098         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2099         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2100         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
2101         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
2102         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
2103         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2104         (WebInspector.PresentationBreakpoint):
2105         (WebInspector.PresenationCallFrame.prototype.sourceLine.didGetUILocation):
2106         (WebInspector.PresenationCallFrame.prototype.sourceLine):
2107         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
2108         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
2109         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
2110         * inspector/front-end/ScriptsPanel.js:
2111         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
2112         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2113         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2114         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
2115         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2116         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
2117         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
2118         * inspector/front-end/SourceFile.js:
2119         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
2120         (WebInspector.UILocation):
2121
2122 2011-08-29  Ilya Tikhonovsky  <loislo@chromium.org>
2123
2124         Web Inspector: cached permanent redirects don't show redirect code and text in Network panel.
2125         https://bugs.webkit.org/show_bug.cgi?id=67126
2126
2127         Reviewed by Yury Semikhatsky.
2128
2129         * inspector/InspectorResourceAgent.cpp:
2130         (WebCore::buildObjectForResourceResponse):
2131         * inspector/front-end/NetworkPanel.js:
2132         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
2133
2134 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
2135
2136         Web Inspector: extract FormattedContentProvider from RawSourceCode.
2137         https://bugs.webkit.org/show_bug.cgi?id=66938
2138
2139         Reviewed by Pavel Feldman.
2140
2141         * inspector/front-end/SourceFile.js:
2142         (WebInspector.RawSourceCode.prototype._setContentProvider):
2143         (WebInspector.RawSourceCode.prototype._loadResourceContent):
2144         (WebInspector.RawSourceCode.prototype._loadScriptContent):
2145         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
2146         (WebInspector.RawSourceCode.prototype._didRequestContent):
2147         (WebInspector.FormattedContentProvider):
2148         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
2149         (WebInspector.FormattedContentProvider.prototype.requestContent):
2150
2151 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
2152
2153         Web Inspector: link UISourceCode to RawSourceCode.
2154         https://bugs.webkit.org/show_bug.cgi?id=66944
2155
2156         Reviewed by Pavel Feldman.
2157
2158         * inspector/front-end/UISourceCode.js:
2159         (WebInspector.UISourceCode):
2160         (WebInspector.UISourceCode.prototype.get rawSourceCode):
2161
2162 2011-08-25  Pavel Podivilov  <podivilov@chromium.org>
2163
2164         Web Inspector: remove RawSourceCode.setFormatted.
2165         https://bugs.webkit.org/show_bug.cgi?id=66947
2166
2167         Reviewed by Pavel Feldman.
2168
2169         * inspector/front-end/DebuggerPresentationModel.js:
2170         * inspector/front-end/SourceFile.js:
2171         (WebInspector.RawSourceCode):
2172
2173 2011-08-26  Pavel Podivilov  <podivilov@chromium.org>
2174
2175         Web Inspector: Debugger.setBreakpointByUrl should return error when setting breakpoint on the same location twice.
2176         https://bugs.webkit.org/show_bug.cgi?id=67030
2177
2178         Reviewed by Pavel Feldman.
2179
2180         Test: inspector/debugger/set-breakpoint.html
2181
2182         * inspector/InspectorDebuggerAgent.cpp:
2183         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2184
2185 2011-08-29  Matthew Delaney  <mdelaney@apple.com>
2186
2187         fast/canvas/shadow-offset-*.html fail on Leopard/Snow Leopard when removing the work around for <rdar://problem/5539388>.
2188         https://bugs.webkit.org/show_bug.cgi?id=67107
2189
2190         Reviewed by David Levin.
2191
2192         No new tests. Effectively reverting the change from https://bugs.webkit.org/show_bug.cgi?id=67052 for Leopard and SL
2193         because it caused test regressions on Leopard and SL, but not Lion.
2194
2195         * platform/graphics/cg/GraphicsContextCG.cpp:
2196         (WebCore::GraphicsContext::setPlatformShadow):
2197
2198 2011-08-29  Zoltan Herczeg  <zherczeg@webkit.org>
2199
2200         [Qt] Unreviewed minimal-build buildfix after r93937.
2201
2202         * platform/qt/RenderThemeQt.cpp:
2203         (WebCore::RenderThemeQt::paintInnerSpinButton):
2204         * platform/qt/RenderThemeQt.h:
2205
2206 2011-08-28  Keishi Hattori  <keishi@webkit.org>
2207
2208         Chromium Win: Setting square-button appearance reaches NOTREACHED
2209         https://bugs.webkit.org/show_bug.cgi?id=66918
2210
2211         Reviewed by Kent Tamura.
2212
2213         Test: fast/css/square-button-appearance.html
2214
2215         * rendering/RenderThemeChromiumWin.cpp:
2216         (WebCore::supportsFocus): Add case for SquareButtonPart.
2217         (WebCore::RenderThemeChromiumWin::supportsFocusRing): Add case for SquareButtonPart.
2218         (WebCore::RenderThemeChromiumWin::getThemeData): Add case for SquareButtonPart.
2219
2220 2011-08-28  Luke Macpherson   <macpherson@chromium.org>
2221
2222         Fix reference counting of values in CSSSelector.
2223         https://bugs.webkit.org/show_bug.cgi?id=66452
2224
2225         Reviewed by Darin Adler.
2226
2227         No new tests / no functionality changed.
2228
2229         Call deref when reassigning the value.
2230
2231         * css/CSSSelector.h:
2232         (WebCore::CSSSelector::setValue):
2233
2234 2011-08-28  Sam Weinig  <sam@webkit.org>
2235
2236         Add support for constructor syntax for Events
2237         https://bugs.webkit.org/show_bug.cgi?id=63878
2238
2239         Reviewed by Oliver Hunt.
2240
2241         Add basic support for Event constructors, starting with just supporting
2242         the constructor for the base Event class and just JSC support.  This lays
2243         the infrastructure for the other events as well.
2244
2245         Test: fast/events/event-constructors.html
2246
2247         * GNUmakefile.list.am:
2248         * UseJSC.cmake:
2249         * WebCore.gypi:
2250         * WebCore.pro:
2251         * WebCore.vcproj/WebCore.vcproj:
2252         * WebCore.xcodeproj/project.pbxproj:
2253         * bindings/js/JSBindingsAllInOne.cpp:
2254         Add files.
2255
2256         * bindings/generic/EventConstructors.h: Added.
2257         Add binding agnostic header that defines the Event initializers
2258         using a macro based DSL.
2259
2260         * bindings/js/JSEventConstructors.cpp: Added.
2261         (WebCore::convertValue):
2262         (WebCore::tryGetProperty):
2263         (WebCore::constructJSEventWithInitializer):
2264         Add JSC implementation of Event initializer DSL.
2265
2266         * dom/Event.cpp:
2267         (WebCore::EventInit::EventInit):
2268         (WebCore::Event::Event):
2269         * dom/Event.h:
2270         (WebCore::Event::create):
2271         Add Event initializer interface for base Event.
2272
2273         * dom/Event.idl:
2274         Mark Event as having a custom constructor function.
2275
2276 2011-08-27  Andreas Kling  <kling@webkit.org>
2277
2278         SQLiteStatement::getColumnText() could construct WTF::String result more efficiently.
2279         https://bugs.webkit.org/show_bug.cgi?id=67090
2280
2281         Reviewed by Darin Adler.
2282
2283         * platform/sql/SQLiteStatement.cpp:
2284         (WebCore::SQLiteStatement::getColumnText): Use sqlite3_column_bytes16()
2285         to get the length of the column text without looking for the null terminator.
2286
2287 2011-08-07  Robert Hogan  <robert@webkit.org>
2288
2289         The child div element with position:absolute will overlap with its parent div when a 'break' element is present in between
2290         https://bugs.webkit.org/show_bug.cgi?id=21934
2291
2292         Reviewed by David Hyatt.
2293
2294         Test: fast/block/positioning/absolute-appended-to-inline.html
2295
2296         Appending a positioned child node to an inline flow should dirty the lines in the flow, just as
2297         inserting a positioned child node does. Treating an appended and inserted node differently meant that updating the display type
2298         from 'none' to 'block' for the following markup would result in the div getting positioned correctly under
2299         the line block:
2300
2301             <div><a onMouseOver="mopen()">Hover</a><div style="display:none; position:absolute; background:#4682b4; height:10px; width:20px"><br></div></div>
2302
2303         but this would not happen with the following markup (the <br> is before the child div rather than after it):
2304
2305             <div><a onMouseOver="mopen()">Hover</a><br><div style="display:none; position:absolute; background:#4682b4; height:10px; width:20px"></div></div>
2306
2307         This problem is specific to cases where an object is appended to a line block whose last child is a <br>. When the line is relaid out after appending
2308         the positioned object the last line in the line block is always considered dirty unless it broke cleanly (ie. with a <br>, see RenderBlock::determineStartPosition),
2309         So in the second case above, the clean break and failing to dirty any lines in the block when appending the object means that the line block doesn't get relaid out
2310         to position the new positioned object relative to its containing line block.
2311
2312         So the change could special-case appending a node when the previous sibling isBR(), but it seems just as well to behave the same way as insertChildNode().
2313
2314         * rendering/RenderObjectChildList.cpp:
2315         (WebCore::RenderObjectChildList::appendChildNode):
2316             Call dirtyLinesFromChangedChild() if the child is positioned, just like insertChildNode().
2317
2318 2011-08-27  Anders Carlsson  <andersca@apple.com>
2319
2320         iChat: Receiving a message containing only a single-quote (') causes bubble to fail
2321         https://bugs.webkit.org/show_bug.cgi?id=67076
2322         <rdar://problem/10026089>
2323
2324         Reviewed by Dan Bernstein.
2325
2326         Test: fast/borders/border-fit-2.html
2327
2328         * rendering/RenderBlock.cpp:
2329         (WebCore::RenderBlock::borderFitAdjust):
2330         Make sure that the resulting rect isn't smaller than the border + padding.
2331
2332         (WebCore::RenderBlock::clearTruncation):
2333         Fix blatant coding style violations.
2334
2335 2011-08-27  Andreas Kling  <kling@webkit.org>
2336
2337         Shrink RenderLayer.
2338         https://bugs.webkit.org/show_bug.cgi?id=67089
2339
2340         Reviewed by Antonio Gomes.
2341
2342         * rendering/RenderLayer.cpp:
2343         (WebCore::RenderLayer::RenderLayer):
2344         * rendering/RenderLayer.h: Make m_inResizeMode a bitfield,
2345         shrinking RenderLayer by 8 bytes (on 64-bit.)
2346
2347 2011-08-27  Young Han Lee  <joybro@company100.net>
2348
2349         Reviewed by Dirk Schulze.
2350
2351         SVG animation fill="freeze" doesn't set baseVal to current animVal if animation stops before reaching the end
2352         https://bugs.webkit.org/show_bug.cgi?id=63553
2353
2354         calculateAnimationPercentAndRepeat() is returning 1, which means 100%, whenever
2355         elapsed >= m_intervalEnd, but this is wrong because m_intervalEnd can be in the middle
2356         of the animation duration. (e.g. begin="0s" end="2s" dur="3s")
2357
2358         This change makes the function return the animations's true progress instead of 100%
2359         when the animation ends.
2360
2361         Test: svg/animations/animate-end-attribute.html
2362
2363         * svg/animation/SVGSMILElement.cpp:
2364         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
2365
2366 2011-08-27  Jarred Nicholls  <jarred@sencha.com>
2367
2368         [Qt] Need spin-button implementation
2369         https://bugs.webkit.org/show_bug.cgi?id=65896
2370
2371         Reviewed by Kenneth Rohde Christiansen.
2372
2373         * platform/qt/RenderThemeQt.cpp:
2374         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
2375         (WebCore::RenderThemeQt::paintInnerSpinButton):
2376         * platform/qt/RenderThemeQt.h:
2377
2378 2011-08-26  Xiaomei Ji  <xji@chromium.org>
2379
2380         Regression(91788): Bad cast in WebCore::blockWithNextLineBox
2381         https://bugs.webkit.org/show_bug.cgi?id=66090
2382
2383         Reviewed by Ryosuke Niwa.
2384
2385         This is more like (but not exactly) a revert of r91788.
2386         It does not search for previous or next root inline box in different
2387         render object, which completely eliminates the cause of this issue.
2388         And it removes createPositionAvoidingIgnoredNode(), changed its caller
2389         to use createLegacyEditingPosition(). createPositionAvoidingIgnoredNode
2390         is not correct when node is a replaced element whose caretMaxOffset
2391         could be greater than 1.
2392
2393         Tests: editing/selection/move-by-word-visually-crash-test-1.html
2394                editing/selection/move-by-word-visually-crash-test-2.html
2395                editing/selection/move-by-word-visually-crash-test-3.html
2396                editing/selection/move-by-word-visually-crash-test-4.html
2397
2398         * editing/htmlediting.cpp:
2399         * editing/htmlediting.h:
2400         * editing/visible_units.cpp:
2401         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
2402         (WebCore::leftmostPositionInRTLBoxInLTRBlock):
2403         (WebCore::rightmostPositionInLTRBoxInRTLBlock):
2404         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
2405         (WebCore::appendPositionAtLogicalEndOfLine):
2406         (WebCore::leftInlineBox):
2407         (WebCore::rightInlineBox):
2408
2409 2011-08-26  James Robinson  <jamesr@chromium.org>
2410
2411         [Chromium] Possible leak of LayerRendererChromium
2412         https://bugs.webkit.org/show_bug.cgi?id=66981
2413
2414         Reviewed by Kenneth Russell.
2415
2416         Fix a number of reference cycle leaks that prevent LayerRendererChromiums from being destroyed when a tab is
2417         closed.
2418
2419         Not possible to write a layout test where an entire WebView goes away.
2420
2421         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2422         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2423         * platform/graphics/chromium/LayerRendererChromium.cpp:
2424         (WebCore::LayerRendererChromium::clearRenderSurfacesOnCCLayerImplRecursive):
2425         (WebCore::LayerRendererChromium::clearRootCCLayerImpl):
2426         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2427         * platform/graphics/chromium/LayerRendererChromium.h:
2428         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2429         (WebCore::CCLayerTreeHost::setRootLayer):
2430
2431 2011-08-26  Nate Chapin  <japhet@chromium.org>
2432
2433         Move allowCredentials from ThreadableLoaderOptions down
2434         to ResourceLoaderOptions. This allows us to remove
2435         getShouldUseCredentialStorage() from SubresourceLoaderClient
2436         and check allowCredentials in ResourceLoader.
2437         https://bugs.webkit.org/show_bug.cgi?id=65330
2438
2439         Reviewed by Alexey Proskuryakov.
2440
2441         No new tests, refractor only.
2442
2443         * loader/DocumentThreadableLoader.cpp:
2444         * loader/DocumentThreadableLoader.h:
2445         * loader/MainResourceLoader.cpp:
2446         * loader/NetscapePlugInStreamLoader.cpp:
2447         * loader/ResourceLoadScheduler.h:
2448         * loader/ResourceLoader.cpp:
2449         (WebCore::ResourceLoader::shouldUseCredentialStorage): Check
2450             m_options.allowCredentials instead of calling a client.
2451         * loader/ResourceLoaderOptions.h:
2452         * loader/SubresourceLoader.cpp:
2453         * loader/SubresourceLoader.h:
2454         * loader/SubresourceLoaderClient.h:
2455         * loader/ThreadableLoader.h:
2456         * loader/cache/CachedResourceRequest.cpp:
2457
2458 2011-08-26  Ojan Vafai  <ojan@chromium.org>
2459
2460         change the default preferred width of the flex() function to 0px per the new spec
2461         https://bugs.webkit.org/show_bug.cgi?id=67067
2462
2463         Reviewed by Tony Chang.
2464
2465         * css/CSSParser.cpp:
2466         (WebCore::CSSParser::parseFlex):
2467
2468 2011-08-26  Matthew Delaney  <mdelaney@apple.com>
2469
2470         Remove offset hack from GraphicsContextCG setShadow code
2471         https://bugs.webkit.org/show_bug.cgi?id=67052
2472
2473         Reviewed by Simon Fraser.
2474
2475         No new tests - current tests cover it.
2476
2477         * platform/graphics/cg/GraphicsContextCG.cpp:
2478         Removing the offset hack introduced in http://trac.webkit.org/changeset/28714
2479         for an issue with offsets in an old version of CoreGraphics that's long since been fixed.
2480
2481 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
2482
2483         Get rid of frame life support timer
2484         https://bugs.webkit.org/show_bug.cgi?id=66874
2485
2486         Reviewed by Geoff Garen. V8 fixes courtesy of Dmitry Titov.
2487
2488         Test: fast/frames/detached-frame-property.html
2489
2490         * bindings/js/JSDOMWindowBase.cpp:
2491         * bindings/js/JSDOMWindowBase.h:
2492         * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld):
2493         * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::evaluate):
2494         * bindings/v8/V8Proxy.cpp:
2495         (WebCore::V8Proxy::runScript):
2496         (WebCore::V8Proxy::callFunction):
2497         (WebCore::V8Proxy::newInstance):
2498         * page/Frame.cpp:
2499         (WebCore::Frame::Frame):
2500         (WebCore::Frame::~Frame):
2501         (WebCore::Frame::pageDestroyed):
2502         * page/Frame.h:
2503         * page/Page.cpp: (WebCore::Page::~Page):
2504         Removed all code that dealt with the life support timer. Protect Frame inside runScript()
2505         and callFunction() for v8 bindings.
2506
2507         * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent):
2508         Replaced ref/deref calls on self with a RefPtr.
2509
2510 2011-08-26  Ned Holbrook  <nholbrook@apple.com>
2511
2512         RenderText::computePreferredLogicalWidths() should measure words with trailing spaces
2513         https://bugs.webkit.org/show_bug.cgi?id=66733
2514
2515         Reviewed by Dan Bernstein.
2516
2517         Test: fast/text/complex-preferred-logical-widths.html
2518
2519         * rendering/RenderText.cpp:
2520         (WebCore::RenderText::computePreferredLogicalWidths): Apply logic from RenderBlock::LineBreaker::nextLineBreak().
2521
2522 2011-08-26  Tony Chang  <tony@chromium.org>
2523
2524         Add CSS parsing for -webkit-flex-align
2525         https://bugs.webkit.org/show_bug.cgi?id=66726
2526
2527         Reviewed by Ojan Vafai.
2528
2529         * css/CSSComputedStyleDeclaration.cpp:
2530         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2531         * css/CSSParser.cpp:
2532         (WebCore::CSSParser::parseValue):
2533         * css/CSSPrimitiveValueMappings.h:
2534         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2535         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
2536         * css/CSSPropertyNames.in:
2537         * css/CSSStyleApplyProperty.cpp:
2538         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2539         * css/CSSStyleSelector.cpp:
2540         (WebCore::CSSStyleSelector::applyProperty):
2541         * css/CSSValueKeywords.in:
2542         * rendering/style/RenderStyle.h:
2543         (WebCore::InheritedFlags::flexAlign):
2544         (WebCore::InheritedFlags::setFlexAlign):
2545         (WebCore::InheritedFlags::initialFlexAlign):
2546         * rendering/style/RenderStyleConstants.h:
2547         * rendering/style/StyleFlexibleBoxData.cpp:
2548         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2549         (WebCore::StyleFlexibleBoxData::operator==):
2550         * rendering/style/StyleFlexibleBoxData.h:
2551
2552 2011-08-26  Nate Chapin  <japhet@chromium.org>
2553
2554         Fix http/tests/misc/willCacheResponse-delegate-callback.html
2555         after r93886. We're implicitly converting an enum to a bool.
2556
2557         Rubber-stamped by David Levin.
2558
2559         * loader/mac/ResourceLoaderMac.mm:
2560         (WebCore::ResourceLoader::willCacheResponse):
2561
2562 2011-08-26  Chris Rogers  <crogers@google.com>
2563
2564         Add MediaPlayer::audioSourceProvider() method for audio stream access by the Web Audio API.
2565         https://bugs.webkit.org/show_bug.cgi?id=66398
2566
2567         Reviewed by Eric Carlson.
2568
2569         * html/HTMLMediaElement.cpp:
2570         (WebCore::HTMLMediaElement::HTMLMediaElement):
2571         (WebCore::HTMLMediaElement::prepareForLoad):
2572         (WebCore::HTMLMediaElement::loadNextSourceChild):
2573         (WebCore::HTMLMediaElement::ensureMediaPlayer):
2574         (WebCore::HTMLMediaElement::createMediaPlayer):
2575             MediaPlayer creation has now been put into createMediaPlayer() instead of it being created
2576             separately in these various methods.  It has been made thread-safe for use with the Web Audio API
2577             in conjunction with an MediaElementAudioSourceNode.
2578         (WebCore::HTMLMediaElement::setAudioSourceNode):
2579         (WebCore::HTMLMediaElement::audioSourceProvider):
2580         * html/HTMLMediaElement.h:
2581         (WebCore::HTMLMediaElement::audioSourceNode):
2582             The HTMLMediaElement now keeps track of an optional MediaElementAudioSourceNode if
2583             the audio stream is being processed using the Web Audio API.
2584         
2585         * platform/graphics/MediaPlayer.cpp:
2586         (WebCore::MediaPlayer::audioSourceProvider):
2587         * platform/graphics/MediaPlayer.h:
2588         * platform/graphics/MediaPlayerPrivate.h:
2589         (WebCore::MediaPlayerPrivateInterface::audioSourceProvider):
2590             MediaPlayer now has an audioSourceProvider() method with a default "empty" implementation.
2591             audioSourceProvider() returns an AudioSourceProvider object which the Web Audio API's
2592             MediaElementAudioSourceNode uses (indirectly through an HTMLMediaElement method) to get the rendered audio stream.
2593
2594         * webaudio/AudioContext.cpp:
2595         (WebCore::AudioContext::createMediaElementSource):
2596         * webaudio/AudioContext.h:
2597         * webaudio/AudioContext.idl:
2598             AudioContext::createMediaElementSource() is now more careful to check that an HTMLMediaElement
2599             doesn't already have a MediaElementAudioSourceNode attached to it.
2600             
2601         * webaudio/MediaElementAudioSourceNode.cpp:
2602         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
2603         (WebCore::MediaElementAudioSourceNode::~MediaElementAudioSourceNode):
2604         (WebCore::MediaElementAudioSourceNode::process):
2605         (WebCore::MediaElementAudioSourceNode::lock):
2606         (WebCore::MediaElementAudioSourceNode::unlock):
2607         * webaudio/MediaElementAudioSourceNode.h:
2608             Implement thread-safe processing (replacing the old stub implementation).
2609
2610 2011-08-23  Stephen White  <senorblanco@chromium.org>
2611
2612         Assertion fires if canvas is resized while save() active
2613         https://bugs.webkit.org/show_bug.cgi?id=66710
2614
2615         Reviewed by Simon Fraser.
2616
2617         Test: fast/canvas/resize-while-save-active.html
2618
2619         * html/HTMLCanvasElement.cpp:
2620         (WebCore::HTMLCanvasElement::reset):
2621         Call CanvasRenderingContext2D::reset() before resizing the canvas,
2622         so that the GraphicsContext state stack can be unwound.
2623         * html/canvas/CanvasRenderingContext2D.cpp:
2624         (WebCore::CanvasRenderingContext2D::unwindStateStack):
2625         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2626         Refactor the state stack unwinding code from the destructor to 
2627         unwindStateStack() (new).
2628         (WebCore::CanvasRenderingContext2D::reset):
2629         Unwind the GraphicsContext state stack when the context is reset.
2630         * html/canvas/CanvasRenderingContext2D.h:
2631
2632 2011-08-26  Darin Adler  <darin@apple.com>
2633
2634         [Mac] Use the progress cursor instead of the wristwatch for CSS "wait" cursor
2635         https://bugs.webkit.org/show_bug.cgi?id=67049
2636
2637         Reviewed by Beth Dakin.
2638
2639         * platform/mac/CursorMac.mm:
2640         (WebCore::Cursor::ensurePlatformCursor): Use BusyButClickable cursor for wait
2641         as well as for Progress.
2642
2643 2011-08-26  Nate Chapin  <japhet@chromium.org>
2644
2645         Fix gtk build after r93886.
2646
2647         * platform/track/CueParser.cpp:
2648         (WebCore::CueParser::load):
2649
2650 2011-08-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
2651
2652         [EFL] Update searchableIndexIntroduction() to match GTK+'s.
2653         https://bugs.webkit.org/show_bug.cgi?id=66885
2654
2655         Reviewed by Gustavo Noronha Silva.
2656
2657         Using this new string allows us to share the test expectations with
2658         other ports, and thus makes
2659         fast/replaced/table-percent-height-text-controls.html pass.
2660
2661         No new tests, as this is covered by an existing one.
2662
2663         * platform/efl/LocalizedStringsEfl.cpp:
2664         (WebCore::searchableIndexIntroduction):
2665
2666 2011-08-26  Raphael Kubo da Costa  <kubo@profusion.mobi>
2667
2668         [EFL] Do not log an error if a fallback cursor cannot be found.
2669         https://bugs.webkit.org/show_bug.cgi?id=67037
2670
2671         Reviewed by Gustavo Noronha Silva.
2672
2673         Ecore_X does not necessarily have to be used (DumpRenderTree does not
2674         use it, for example), so showing an error message here is bogus.
2675
2676         No new tests, as it just removes erroneous error messages from
2677         when running DRT with existing tests.
2678
2679         * platform/efl/WidgetEfl.cpp:
2680         (WebCore::Widget::applyFallbackCursor):
2681
2682 2011-08-26  Nate Chapin  <japhet@chromium.org>
2683
2684         Change a bunch of nondescript bools to
2685         descriptive enums in ResourceLoaderOptions and
2686         ThreadableLoaderOptions.
2687         https://bugs.webkit.org/show_bug.cgi?id=66984
2688
2689         Reviewed by David Levin.
2690
2691         No new tests, no functionality change intended.
2692
2693         * WebCore.exp.in:
2694         * fileapi/FileReaderLoader.cpp:
2695         * html/MediaDocument.cpp:
2696         * html/PluginDocument.cpp:
2697         * loader/CrossOriginAccessControl.cpp:
2698         * loader/CrossOriginAccessControl.h:
2699         * loader/CrossOriginPreflightResultCache.cpp:
2700         * loader/CrossOriginPreflightResultCache.h:
2701         * loader/DocumentThreadableLoader.cpp:
2702         * loader/FrameLoader.h:
2703         * loader/ImageLoader.cpp:
2704         * loader/MainResourceLoader.cpp:
2705         * loader/NetscapePlugInStreamLoader.cpp:
2706         * loader/ResourceLoadScheduler.h:
2707         * loader/ResourceLoader.cpp:
2708         * loader/ResourceLoader.h:
2709         * loader/ResourceLoaderOptions.h:
2710         * loader/ThreadableLoader.h:
2711         * loader/cache/CachedResource.cpp:
2712         * loader/cache/CachedResourceRequest.cpp:
2713         * loader/cf/ResourceLoaderCFNet.cpp:
2714         * loader/mac/ResourceLoaderMac.mm:
2715         * page/EventSource.cpp:
2716         * platform/network/ResourceHandle.h:
2717         * workers/WorkerScriptLoader.cpp:
2718         * xml/XMLHttpRequest.cpp:
2719
2720 2011-08-26  Andreas Kling  <kling@webkit.org>
2721
2722         HTMLMetaElement: Don't cache "http-equiv" and "content" attributes.
2723         https://bugs.webkit.org/show_bug.cgi?id=67040
2724
2725         Reviewed by Darin Adler.
2726
2727         * html/HTMLMetaElement.h: Remove m_equiv and m_content members,
2728         shrinking HTMLMetaElement by 16 bytes (on 64-bit.)
2729         * html/HTMLMetaElement.cpp:
2730         (WebCore::HTMLMetaElement::parseMappedAttribute):
2731         (WebCore::HTMLMetaElement::process): Implemented using fastGetAttribute().
2732
2733 2011-08-26  Pavel Feldman  <pfeldman@google.com>
2734
2735         Web Inspector: [REGRESSION] No way to expand hovered objects while debugging.
2736         https://bugs.webkit.org/show_bug.cgi?id=67039
2737
2738         Reviewed by Yury Semikhatsky.
2739
2740         * inspector/front-end/Popover.js:
2741         (WebInspector.Popover):
2742         (WebInspector.Popover.prototype.show):
2743         (WebInspector.PopoverHelper.prototype._mouseDown):
2744         (WebInspector.PopoverHelper.prototype._hidePopover):
2745         (WebInspector.PopoverHelper.prototype._mouseHover):
2746         (WebInspector.PopoverHelper.prototype._killHidePopoverTimer):
2747
2748 2011-08-26  Pavel Podivilov  <podivilov@chromium.org>
2749
2750         Unreviewed, rolling out r93870.
2751         http://trac.webkit.org/changeset/93870
2752         https://bugs.webkit.org/show_bug.cgi?id=65203
2753
2754         Broke i18n chromium tests
2755
2756         * platform/graphics/chromium/FontChromiumWin.cpp:
2757         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
2758         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init):
2759         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
2760         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
2761         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2762         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
2763         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2764         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc):
2765         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
2766         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter):
2767         (WebCore::drawGlyphsWin):
2768         (WebCore::Font::drawComplexText):
2769         * platform/graphics/chromium/UniscribeHelper.cpp:
2770         (WebCore::UniscribeHelper::draw):
2771         * platform/graphics/skia/PlatformContextSkia.cpp:
2772         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2773         * platform/graphics/skia/PlatformContextSkia.h:
2774         * platform/graphics/skia/SkiaFontWin.cpp:
2775         (WebCore::windowsCanHandleDrawTextShadow):
2776         (WebCore::windowsCanHandleTextDrawing):
2777         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
2778         * platform/graphics/skia/SkiaFontWin.h:
2779
2780 2011-08-26  Alexei Svitkine  <asvitkine@chromium.org>
2781
2782         Chromium Mac: Use a custom pattern image for rubber banding overhang area
2783         https://bugs.webkit.org/show_bug.cgi?id=66707
2784
2785         Also roll Chromium revision to 98101, to include dependency: http://codereview.chromium.org/7714036/
2786
2787         Reviewed by Dimitri Glazkov.
2788
2789         No new tests since its just changing the Chromium-specific overhang pattern.
2790
2791         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2792         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
2793         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
2794
2795 2011-08-26  Eric Carlson  <eric.carlson@apple.com>
2796
2797         <video> playlist can not advance when playing in background tab
2798         https://bugs.webkit.org/show_bug.cgi?id=66978
2799
2800         Reviewed by Darin Adler.
2801
2802         No new tests added because it isn't possible to simulate a background tab in DRT.
2803
2804         * html/HTMLMediaElement.cpp:
2805         (WebCore::HTMLMediaElement::HTMLMediaElement): Set RequirePageConsentToLoadMedia restriction.
2806         (WebCore::HTMLMediaElement::loadInternal): Don't consider page->canStartMedia if it has ever
2807             allowed a file to load.
2808         * html/HTMLMediaElement.h:
2809         (WebCore::HTMLMediaElement::requirePageConsentToLoadMedia): New.
2810         (WebCore::HTMLMediaElement::removeBehaviorRestriction): New.
2811
2812 2011-08-26  Andreas Kling  <kling@webkit.org>
2813
2814         [Qt] Path::boundingRect() is unnecessarily slow.
2815         https://bugs.webkit.org/show_bug.cgi?id=66854
2816
2817         Reviewed by Benjamin Poulain.
2818
2819         * html/canvas/CanvasRenderingContext2D.cpp:
2820         (WebCore::CanvasRenderingContext2D::stroke): Remove Qt-specific optimization
2821         since calling Path::boundingRect() will now do exactly the same thing.
2822         * platform/graphics/qt/PathQt.cpp:
2823         (WebCore::Path::boundingRect): Return QPainterPath::controlPointRect() since
2824         that is much faster than computing the (precise) QPainterPath::boundingRect()
2825         and Path::boundingRect() is not expected to be 100% precise anyway.
2826
2827 2011-08-26  Gavin Peters  <gavinp@chromium.org>
2828
2829         add a state enumeration to track down cause of null CachedScript execution
2830         https://bugs.webkit.org/show_bug.cgi?id=66939
2831
2832         Reviewed by Alexey Proskuryakov.
2833
2834         Over in http://code.google.com/p/chromium/issues/detail?id=75604 I
2835         have a bug I cannot reproduce.  I added an earlier crash in
2836         https://bugs.webkit.org/show_bug.cgi?id=65563 , and we've since
2837         gotten many good stacks, all coming in through a failed request that
2838         eventually calls notifyFinished() on a ScriptElement with a NULL
2839         m_cachedScript.
2840
2841         I'd like to know how this got NULL.  This enumeration should let
2842         me find that in stack dumps from reproductions.
2843
2844         No new tests, as my goal here is to get telemetry on a bug that I cannot reproduce.
2845
2846         * dom/ScriptElement.cpp:
2847         (WebCore::ScriptElement::ScriptElement):
2848         (WebCore::ScriptElement::requestScript):
2849         (WebCore::ScriptElement::stopLoadRequest):
2850         (WebCore::ScriptElement::notifyFinished):
2851         * dom/ScriptElement.h:
2852
2853 2011-08-26  Mike Reed  <reed@google.com>
2854
2855         [skia] never draw with GDI, so that all text can be gpu-accelerated
2856         https://bugs.webkit.org/show_bug.cgi?id=65203
2857
2858         Reviewed by Kenneth Russell.
2859
2860         * platform/graphics/chromium/FontChromiumWin.cpp:
2861         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
2862         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
2863         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
2864         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
2865         (WebCore::drawGlyphsWin):
2866         (WebCore::Font::drawComplexText):
2867         * platform/graphics/chromium/UniscribeHelper.cpp:
2868         (WebCore::UniscribeHelper::draw):
2869         * platform/graphics/skia/PlatformContextSkia.cpp:
2870         * platform/graphics/skia/PlatformContextSkia.h:
2871         * platform/graphics/skia/SkiaFontWin.cpp:
2872         * platform/graphics/skia/SkiaFontWin.h:
2873
2874 2011-08-26  Ilya Tikhonovsky  <loislo@chromium.org>
2875
2876         Web Inspector: in some cases Popover code is failing to calculate popover box position.
2877         https://bugs.webkit.org/show_bug.cgi?id=67029
2878
2879         Reviewed by Yury Semikhatsky.
2880
2881         * inspector/front-end/Popover.js:
2882         (WebInspector.Popover.prototype._positionElement):
2883
2884 2011-08-26  Nikolas Zimmermann  <nzimmermann@rim.com>
2885
2886         [Qt] http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm fails intermittently
2887         https://bugs.webkit.org/show_bug.cgi?id=65969
2888
2889         Reviewed by Zoltan Herczeg.
2890
2891         Fix intrinsic size negotiation flakiness, most visible on the Qt port.
2892
2893         The http/tests/misc/object-embedding-svg-delayed-size-negotiation-2.htm testcase triggered
2894         an assertion on a Qt debug build indicating that the HashSet updateLayoutAndStyleIfNeededRecursive()
2895         operates on is mutated while its iterated, leading to an assertion/crash. Due the new forceLayoutParentViewIfNeeded()
2896         logic it's no longer safe to directly use the children() HashSet in that method - we have to make a copy first.
2897
2898         The second part of the fix is to stop entering forceLayoutParentViewIfNeeded(), if the origin of that call
2899         is forceLayoutParentViewIfNeeded() itself. Set m_inLayoutParentView to true before calling FrameView::layout()
2900         on our parent frame view - this is only an optimization to avoid doing layout() twice.
2901
2902         The third part of the fix is to call updateWidgetPositions() on the parent FrameView, _before_ calling layout()
2903         on the parent view itself, as the SVG document needs to report the correct intrinsic size (which can depend
2904         on the host object/embed/iframe) when we're running RenderReplaced::layout() on the host renderer.
2905
2906         * page/FrameView.cpp:
2907         (WebCore::FrameView::FrameView):
2908         (WebCore::collectFrameViewChildren):
2909         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
2910         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2911         * page/FrameView.h:
2912
2913 2011-08-26  Mikhail Naganov  <mnaganov@chromium.org>
2914
2915         Web Inspector: [Chromium] Double clicking on numbers in Count & size columns doesn't toggle between values and percents in the Heap Snapshot.
2916         https://bugs.webkit.org/show_bug.cgi?id=66988
2917
2918         Reviewed by Pavel Feldman.
2919
2920         * inspector/front-end/DetailedHeapshotView.js:
2921         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContentsGrid):
2922         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
2923
2924 2011-08-26  Shinya Kawanaka  <shinyak@google.com>
2925
2926         REGRESSION(r93390): Empty or invalid maxlength of an input tag should be ignored.
2927         https://bugs.webkit.org/show_bug.cgi?id=67015
2928
2929         Reviewed by Kent Tamura.
2930
2931         * html/HTMLInputElement.cpp:
2932         (WebCore::HTMLInputElement::parseMaxLengthAttribute):
2933           Checks the validity of maxlength attribute when converting it to integer.
2934
2935 2011-08-25  Yuta Kitamura  <yutak@chromium.org>
2936
2937         WebSocket: Fix indentation of WebSocket header files
2938         https://bugs.webkit.org/show_bug.cgi?id=67018
2939
2940         Reviewed by Kent Tamura.
2941
2942         No new tests. Style fix only.
2943
2944         * websockets/WebSocket.h:
2945         (WebCore::WebSocket::create):
2946         (WebCore::WebSocket::toWebSocket):
2947         (WebCore::WebSocket::refEventTarget):
2948         (WebCore::WebSocket::derefEventTarget):
2949         * websockets/WebSocketChannel.h:
2950         Removed formal parameter name of resumeTimerFired().
2951         (WebCore::WebSocketChannel::create):
2952         (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
2953         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
2954         (WebCore::WebSocketChannel::isNonControlOpCode):
2955         (WebCore::WebSocketChannel::isControlOpCode):
2956         (WebCore::WebSocketChannel::isReservedOpCode):
2957         * websockets/WebSocketHandshake.h:
2958         Removed formal parameter name of setClientProtocol().
2959
2960 2011-08-25  Martin Robinson  <mrobinson@igalia.com>
2961
2962         Touch GtkVersioning.c so that the release bot rebuilds it. This
2963         is necessary because of the switch to GTK+ 3.x.
2964
2965         * platform/gtk/GtkVersioning.c: Touch this file.
2966
2967 2011-08-25  Ben Wells  <benwells@chromium.org>
2968
2969         Use PATH_BASED_BORDER_RADIUS_DRAWING for skia
2970         https://bugs.webkit.org/show_bug.cgi?id=65583
2971
2972         This change brings in the new border rendering for Skia. To support this without aliasing the skia
2973         graphics context has been updated to support anti-aliased clipping around convex polygons and also
2974         anti-aliased clipping outside a path.
2975
2976         Reviewed by James Robinson.
2977
2978         * platform/graphics/skia/GraphicsContextSkia.cpp:
2979         (WebCore::GraphicsContext::clipOut):
2980         (WebCore::GraphicsContext::clipConvexPolygon):
2981         * platform/graphics/skia/PlatformContextSkia.cpp:
2982         (WebCore::PlatformContextSkia::clipPathAntiAliased):
2983         * rendering/RenderObject.h:
2984
2985 2011-08-25  Luke Macpherson   <macpherson@chromium.org>
2986
2987         Implement animation and transition properties in CSSStyleApplyProperty.
2988         https://bugs.webkit.org/show_bug.cgi?id=66126
2989
2990         Reviewed by Dean Jackson.
2991
2992         No new tests. This is essentially a refactoring of the HANDLE_ANIMATION* and HANDLE_TRANSITION* macros in CSSStyleSelector.cpp.
2993         The only functional change is to iterate correctly over the lists instead of setting only the first element. See bug 66118 for details on that.
2994
2995         * css/CSSStyleApplyProperty.cpp:
2996         Added new class ApplyPropertyAnimation to handle animation and transition properties.
2997         (WebCore::ApplyPropertyAnimation::ApplyPropertyAnimation):
2998         (WebCore::ApplyPropertyAnimation::applyInheritValue):
2999         (WebCore::ApplyPropertyAnimation::applyInitialValue):
3000         (WebCore::ApplyPropertyAnimation::applyValue):
3001         (WebCore::ApplyPropertyAnimation::setValue):
3002         (WebCore::ApplyPropertyAnimation::value):
3003         (WebCore::ApplyPropertyAnimation::test):
3004         (WebCore::ApplyPropertyAnimation::clear):
3005         (WebCore::ApplyPropertyAnimation::initial):
3006         (WebCore::ApplyPropertyAnimation::map):
3007         (WebCore::ApplyPropertyAnimation::accessAnimations):
3008         (WebCore::ApplyPropertyAnimation::animations):
3009         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3010         * css/CSSStyleSelector.cpp:
3011         Removed animation and transition macros (celebrate!)
3012         (WebCore::CSSStyleSelector::applyProperty):
3013         Removed old implementations of animation and transition properties.
3014         * platform/animation/Animation.h:
3015         Changed return types of initial values to match the setters and getters.
3016         (WebCore::Animation::initialAnimationDelay):
3017         (WebCore::Animation::initialAnimationName):
3018         (WebCore::Animation::initialAnimationTimingFunction):
3019
3020 2011-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
3021
3022         Concentrate RenderLayer repaint rects updates
3023         https://bugs.webkit.org/show_bug.cgi?id=64993
3024
3025         Reviewed by David Hyatt.
3026
3027         The change moves the update of the repaint rects to 2 methods
3028         (computeRepaintRects and clearRepaintRects) to better track
3029         those changes.
3030
3031         No new test, refactoring covered by the existing test cases.
3032
3033         * rendering/RenderLayer.cpp:
3034         (WebCore::RenderLayer::updateLayerPositions): Reverse the logic and
3035         calculate the new bounds upfront. This should have no impact as none
3036         of the methods rely on the internal value.
3037
3038         (WebCore::RenderLayer::computeRepaintRects): Added the cachedOffset parameter
3039         to avoid breaking the performance optimization in updateLayerPositions. Added
3040         some ASSERTS.
3041
3042         (WebCore::RenderLayer::clearRepaintRects): Added some ASSERTs here.
3043         (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Added a FIXME as this
3044         method could use the cachedOffset trick too.
3045
3046         (WebCore::RenderLayer::setHasVisibleContent): Changed the code to use
3047         computeRepaintRects.
3048
3049         * rendering/RenderLayer.h: Updated the signature of computeRepaintRects and moved
3050         those 2 methods into the private section of the class.
3051
3052 2011-08-25  Van Lam  <vanlam@google.com>
3053
3054         Remove use of magic number -1 in WebCore/editing/visible_units.cpp
3055         https://bugs.webkit.org/show_bug.cgi?id=66980
3056
3057         Reviewed by Ryosuke Niwa.
3058
3059         Replaced use of magic number -1 with constant offsetNotFound.
3060
3061         * editing/visible_units.cpp:
3062         (WebCore::greatestOffsetUnder):
3063         (WebCore::smallestOffsetAbove):
3064
3065 2011-08-25  Igor Oliveira  <igor.oliveira@openbossa.org>
3066
3067         Rollout r93799: Caused bad clipping on the bottom of tall glyphs inside a button label
3068
3069         * rendering/RenderBlockLineLayout.cpp:
3070         (WebCore::RenderBlock::layoutInlineChildren):
3071         * rendering/RenderBox.cpp:
3072         * rendering/RenderBox.h:
3073         (WebCore::RenderBox::hasControlClip):
3074         (WebCore::RenderBox::controlClipRect):
3075         * rendering/RenderButton.cpp:
3076         (WebCore::RenderButton::setupInnerStyle):
3077
3078 2011-08-25  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
3079
3080         [Qt] Enable password echo on Symbian builds
3081         https://bugs.webkit.org/show_bug.cgi?id=66954
3082
3083         Reviewed by Chang Shu.
3084
3085         No tests, as this is just a build change.
3086
3087         * config.h:
3088
3089 2011-08-25  Nate Chapin  <japhet@chromium.org>
3090
3091         Windows build fix after r93811.
3092
3093         * loader/cf/ResourceLoaderCFNet.cpp:
3094         (WebCore::ResourceLoader::shouldCacheResponse):
3095
3096 2011-08-25  Nate Chapin  <japhet@chromium.org>
3097
3098         Split some of the variables out of ThreadableLoaderOptions
3099         into a superclass, ResourceLoaderOptions. Use ResourceLoaderOptions
3100         all the way down to ResourceLoader.
3101         https://bugs.webkit.org/show_bug.cgi?id=63301
3102
3103         Reviewed by David Levin.
3104
3105         No new tests, refractor only.
3106
3107         * GNUmakefile.list.am:
3108         * WebCore.gypi:
3109         * WebCore.vcproj/WebCore.vcproj:
3110         * WebCore.xcodeproj/project.pbxproj:
3111         * loader/DocumentThreadableLoader.cpp:
3112         * loader/MainResourceLoader.cpp:
3113         * loader/NetscapePlugInStreamLoader.cpp:
3114         * loader/ResourceLoadScheduler.cpp:
3115         * loader/ResourceLoadScheduler.h:
3116         * loader/ResourceLoader.cpp:
3117         * loader/ResourceLoader.h:
3118         * loader/ResourceLoaderOptions.h: Added.
3119         * loader/SubresourceLoader.cpp:
3120         * loader/SubresourceLoader.h:
3121         * loader/ThreadableLoader.h:
3122         * loader/cache/CachedResourceRequest.cpp:
3123         * loader/mac/ResourceLoaderMac.mm:
3124
3125 2011-08-25  Adam Klein  <adamk@chromium.org>
3126
3127         use strict in CodeGeneratorJS and CodeGeneratorV8
3128         https://bugs.webkit.org/show_bug.cgi?id=66915
3129
3130         Reviewed by Darin Adler.
3131
3132         Making these files "use strict" makes changing them less
3133         time-consuming and error-prone, and helps avoid accidentally
3134         adding dead code (added a FIXME for one such case).
3135
3136         No expected change in behavior.
3137
3138         * bindings/scripts/CodeGeneratorJS.pm:
3139         (AddIncludesForType):
3140         (GenerateParametersCheckExpression):
3141         (GenerateFunctionParametersCheck):
3142         (GenerateImplementation):
3143         (GenerateImplementationFunctionCall):
3144         (NativeToJSValue):
3145         (GenerateHashValue):
3146         * bindings/scripts/CodeGeneratorV8.pm:
3147         (AddIncludesForType):
3148         (GenerateHeaderNamedAndIndexedPropertyAccessors):
3149         (GenerateNormalAttrSetter):
3150         (GetFunctionTemplateCallbackName):
3151         (GenerateNewFunctionTemplate):
3152         (GenerateParametersCheckExpression):
3153         (GenerateFunctionParametersCheck):
3154         (GenerateImplementation):
3155         ():
3156
3157 2011-08-25  Dean Jackson  <dino@apple.com>
3158
3159         https://bugs.webkit.org/show_bug.cgi?id=21586
3160         Apply CSS animations and transitions to SVG properties
3161
3162         Reviewed by Simon Fraser.
3163
3164         Expose the applicable SVG properties from SVGRenderStyle to
3165         RenderStyle and add them to the list of animatable
3166         properties. There aren't many SVG properties that are
3167         animatable directly. SVGPaint (used in "fill" and "stroke")
3168         is supported only when both ends of the animation are
3169         a Color. Also updated SVGLength to have some methods
3170         for converting to and from user space units.
3171
3172         Test: transitions/svg-transitions.html
3173
3174         * page/animation/AnimationBase.cpp:
3175         (WebCore::blendFunc):
3176             Calls the blend method on SVGLength
3177         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
3178             New property wrapper type for SVGPaint
3179         (WebCore::PropertyWrapperSVGPaint::equals):
3180         (WebCore::PropertyWrapperSVGPaint::blend):
3181         (WebCore::AnimationBase::ensurePropertyMap):
3182         * rendering/style/RenderStyle.h:
3183         (WebCore::InheritedFlags::fillPaintType):
3184         (WebCore::InheritedFlags::fillPaintColor):
3185         (WebCore::InheritedFlags::setFillPaintColor):
3186         (WebCore::InheritedFlags::strokePaintType):
3187         (WebCore::InheritedFlags::strokePaintColor):
3188         (WebCore::InheritedFlags::setStrokePaintColor):
3189         (WebCore::InheritedFlags::strokeWidth):
3190         (WebCore::InheritedFlags::setStrokeWidth):
3191         (WebCore::InheritedFlags::strokeDashOffset):
3192         (WebCore::InheritedFlags::setStrokeDashOffset):
3193         (WebCore::InheritedFlags::strokeMiterLimit):
3194         (WebCore::InheritedFlags::setStrokeMiterLimit):
3195         (WebCore::InheritedFlags::stopOpacity):
3196         (WebCore::InheritedFlags::setStopOpacity):
3197         (WebCore::InheritedFlags::setStopColor):
3198         (WebCore::InheritedFlags::setFloodColor):
3199         (WebCore::InheritedFlags::setLightingColor):
3200         (WebCore::InheritedFlags::baselineShiftValue):
3201         (WebCore::InheritedFlags::setBaselineShiftValue):
3202         (WebCore::InheritedFlags::kerning):
3203         (WebCore::InheritedFlags::setKerning):
3204         (WebCore::InheritedFlags::stopColor):
3205         (WebCore::InheritedFlags::floodColor):
3206         (WebCore::InheritedFlags::lightingColor):
3207         * rendering/style/SVGRenderStyle.h:
3208         (WebCore::SVGRenderStyle::stopColor):
3209         (WebCore::SVGRenderStyle::floodColor):
3210         (WebCore::SVGRenderStyle::lightingColor):
3211         * svg/SVGLength.cpp:
3212         (WebCore::SVGLength::value):
3213         (WebCore::SVGLength::setValue):
3214         (WebCore::SVGLength::convertValueFromUserUnits):
3215         (WebCore::SVGLength::convertValueToUserUnits):
3216             New conversion functions used when setting and getting values
3217         * svg/SVGLength.h:
3218         (WebCore::SVGLength::isZero):
3219         (WebCore::SVGLength::blend):
3220             Custom blend function that takes into account
3221             whether the units of a length can be converted
3222             in an animation, where you don't necessarily have
3223             an SVGElement for context.
3224
3225 2011-08-25  Kent Tamura  <tkent@chromium.org>
3226
3227         REGRESSION(r90971): Fix an assertion failure with textarea placeholder.
3228         https://bugs.webkit.org/show_bug.cgi?id=66164
3229
3230         Reviewed by Dave Hyatt.
3231          
3232         Minor patch nits addressed by inferno@chromium.org, on Hyatt's
3233         review.
3234
3235         Test: fast/forms/textarea-placeholder-relayout-assertion.html
3236
3237         * rendering/RenderTextControl.cpp:
3238         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
3239         Pass 'false' to the 'markParents' argument of setChildNeedsLayout().
3240         We don't need to propagate needsLayout for ancestors because
3241         layoutSpecialExcludedChild() is called from layout() of the
3242         parent.
3243
3244 2011-08-25  Igor Oliveira  <igor.oliveira@openbossa.org>
3245
3246         Text-overflow is broken for button elements
3247         https://bugs.webkit.org/show_bug.cgi?id=53438
3248
3249         Fix text-overflow for button elements. Make the element inside
3250         the button inherit the button controlClip.
3251
3252         Reviewed by David Hyatt.
3253
3254         Test: fast/css/button-overflow-ellipsis.html
3255
3256         * rendering/RenderBlockLineLayout.cpp:
3257         (WebCore::RenderBlock::layoutInlineChildren):
3258         * rendering/RenderBox.cpp:
3259         (WebCore::RenderBox::controlClipRect):
3260         * rendering/RenderBox.h:
3261         (WebCore::RenderBox::hasControlClip):
3262         * rendering/RenderButton.cpp:
3263         (WebCore::RenderButton::setupInnerStyle):
3264
3265 2011-08-24  Adrienne Walker  <enne@google.com>
3266
3267         [chromium] Update VideoLayerChromium to not access GC3D on the main thread
3268         https://bugs.webkit.org/show_bug.cgi?id=66434
3269
3270         Reviewed by James Robinson.
3271
3272         Covered by existing tests.
3273
3274         This change allows the main thread VideoLayerChromium to not depend on
3275         compositor thread resources (GC3D, LayerRendererChromium). The texture
3276         allocation in VideoLayerChromium was changed to use ManagedTexture so
3277         that textures can now be evicted when there is texture memory pressure
3278         and so that destruction can be automatically deferred until a GC3D is
3279         available.
3280
3281         * platform/graphics/chromium/LayerRendererChromium.cpp:
3282         * platform/graphics/chromium/LayerRendererChromium.h:
3283         * platform/graphics/chromium/ManagedTexture.cpp:
3284         * platform/graphics/chromium/ManagedTexture.h:
3285         (WebCore::ManagedTexture::size):
3286         (WebCore::ManagedTexture::format):
3287         * platform/graphics/chromium/VideoLayerChromium.cpp:
3288         (WebCore::VideoLayerChromium::VideoLayerChromium):
3289         (WebCore::VideoLayerChromium::~VideoLayerChromium):
3290         (WebCore::VideoLayerChromium::cleanupResources):
3291         (WebCore::VideoLayerChromium::updateCompositorResources):
3292         (WebCore::VideoLayerChromium::pushPropertiesTo):
3293         (WebCore::VideoLayerChromium::setLayerTreeHost):
3294         (WebCore::VideoLayerChromium::determineTextureFormat):
3295         (WebCore::VideoLayerChromium::reserveTextures):
3296         (WebCore::VideoLayerChromium::updateTexture):
3297         (WebCore::VideoLayerChromium::releaseCurrentFrame):
3298         * platform/graphics/chromium/VideoLayerChromium.h:
3299         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3300         (WebCore::CCLayerTreeHost::contentsTextureManager):
3301         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3302         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3303         (WebCore::CCVideoLayerImpl::setTexture):
3304         (WebCore::CCVideoLayerImpl::drawYUV):
3305         (WebCore::CCVideoLayerImpl::drawRGBA):
3306         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3307
3308 2011-08-25  Abhishek Arya  <inferno@chromium.org>
3309
3310         Incorrect layout of :before and :after content, with display
3311         table, table-row and table-cell.
3312         https://bugs.webkit.org/show_bug.cgi?id=66699
3313
3314         Reviewed by David Hyatt.
3315
3316         Tests: fast/table/table-after-child-in-table.html
3317                fast/table/table-before-child-in-table.html
3318                fast/table/table-cell-after-child-in-block.html
3319                fast/table/table-cell-after-child-in-table.html
3320                fast/table/table-cell-before-child-in-block.html
3321                fast/table/table-cell-before-child-in-table.html
3322                fast/table/table-row-after-child-in-block.html
3323                fast/table/table-row-after-child-in-table.html
3324                fast/table/table-row-before-child-in-block.html
3325                fast/table/table-row-before-child-in-table.html
3326
3327         * rendering/RenderBlock.cpp:
3328         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
3329         Fix the looping condition to detect :after child correctly.
3330         isAnonymousBlock() does not apply to tables, instead
3331         using isAnonymous().
3332         * rendering/RenderTableRow.cpp:
3333         (WebCore::RenderTableRow::addChild): Don't add the new child
3334         in the generatedContainer with :before, :after content.
3335         * rendering/RenderTableSection.cpp:
3336         (WebCore::RenderTableSection::addChild): Don't add the new child
3337         in the generatedContainer with :before, :after content.
3338
3339 2011-08-25  Sam Weinig  <sam@webkit.org>
3340
3341         JSHTMLImageElement (and associated Node) is abandoned when image load is canceled via beforeload
3342         <rdar://problem/9925630>
3343         https://bugs.webkit.org/show_bug.cgi?id=66906
3344
3345         Reviewed by Darin Adler.
3346
3347         * loader/ImageLoader.cpp:
3348         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
3349         Very similar fix to the one in r93717 except this patches the case where the image load was
3350         canceled via beforeload.
3351
3352 2011-08-25  John Bates  <jbates@google.com>
3353
3354         [chromium] Leaking SkBitmaps for background images
3355         https://bugs.webkit.org/show_bug.cgi?id=66488
3356
3357         Reviewed by Stephen White.
3358
3359         This patch simply changes NativeImageSkia to have a SkBitmap instead of
3360         deriving from SkBitmap. All dependent code updated to access the member
3361         instead of calling SkBitmap methods on NativeImageSkia objects. This
3362         may or may not fix the memory leak, but it's definitely a bug that could
3363         cause memory leaks.
3364
3365         * platform/chromium/DragImageChromiumSkia.cpp:
3366         (WebCore::createDragImageFromImage):
3367         * platform/graphics/chromium/PlatformImage.cpp:
3368         (WebCore::PlatformImage::updateFromImage):
3369         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3370         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
3371         (WebCore::BitmapImageSingleFrameSkia::size):
3372         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
3373         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3374         (WebCore::GraphicsContext3D::getImageData):
3375         * platform/graphics/skia/ImageSkia.cpp:
3376         (WebCore::paintSkBitmap):
3377         (WebCore::Image::drawPattern):
3378         (WebCore::BitmapImage::checkForSolidColor):
3379         * platform/graphics/skia/NativeImageSkia.cpp:
3380         (WebCore::NativeImageSkia::NativeImageSkia):
3381         (WebCore::NativeImageSkia::decodedSize):
3382         (WebCore::NativeImageSkia::resizedBitmap):
3383         * platform/graphics/skia/NativeImageSkia.h:
3384         (WebCore::NativeImageSkia::bitmap):
3385         * platform/graphics/skia/PatternSkia.cpp:
3386         (WebCore::Pattern::platformPattern):
3387         * platform/image-decoders/ImageDecoder.h:
3388         (WebCore::ImageFrame::getAddr):
3389         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
3390         (WebCore::ImageFrame::operator=):
3391         (WebCore::ImageFrame::clearPixelData):
3392         (WebCore::ImageFrame::zeroFillPixelData):
3393         (WebCore::ImageFrame::copyBitmapData):
3394         (WebCore::ImageFrame::setSize):
3395         (WebCore::ImageFrame::hasAlpha):
3396         (WebCore::ImageFrame::setHasAlpha):
3397         (WebCore::ImageFrame::width):
3398         (WebCore::ImageFrame::height):
3399
3400 2011-08-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3401
3402         Unreviewed, rolling out r93774.
3403         http://trac.webkit.org/changeset/93774
3404         https://bugs.webkit.org/show_bug.cgi?id=66945
3405
3406         It broke 26 tests on the Qt bot (Requested by ossy on
3407         #webkit).
3408
3409         * html/canvas/CanvasRenderingContext2D.cpp:
3410         (WebCore::CanvasRenderingContext2D::stroke):
3411         * platform/graphics/qt/PathQt.cpp:
3412         (WebCore::Path::boundingRect):
3413
3414 2011-08-25  Andrey Kosyakov  <caseq@chromium.org>
3415
3416         Web Inspector: [refactoring] use PopoverHelper to implement popup in the SourceFrame
3417         https://bugs.webkit.org/show_bug.cgi?id=66858
3418
3419         Reviewed by Pavel Feldman.
3420
3421         * inspector/front-end/DetailedHeapshotView.js:
3422         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
3423         * inspector/front-end/NetworkPanel.js:
3424         (WebInspector.NetworkLogView.prototype.initializeView):
3425         (WebInspector.NetworkLogView.prototype.willHide):
3426         (WebInspector.NetworkLogView.prototype._reset):
3427         (WebInspector.NetworkLogView.prototype.switchToBriefView):
3428         (WebInspector.NetworkLogView.prototype._showPopover):
3429         * inspector/front-end/Popover.js:
3430         (WebInspector.Popover):
3431         (WebInspector.Popover.prototype.show):
3432         (WebInspector.Popover.prototype.dispose):
3433         (WebInspector.PopoverHelper):
3434         (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
3435         (WebInspector.PopoverHelper.prototype._mouseMove):
3436         (WebInspector.PopoverHelper.prototype.hidePopover):
3437         (WebInspector.PopoverHelper.prototype._hidePopover):
3438         (WebInspector.PopoverHelper.prototype._mouseHover):
3439         (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
3440         * inspector/front-end/SourceFrame.js:
3441         (WebInspector.SourceFrame.prototype.willHide):
3442         (WebInspector.SourceFrame.prototype._initializeTextViewer):
3443         (WebInspector.SourceFrame.prototype._scroll):
3444         (WebInspector.SourceFrame.prototype._mouseDown):
3445         (WebInspector.SourceFrame.prototype._onHidePopover):
3446         (WebInspector.SourceFrame.prototype._shouldShowPopover):
3447         (WebInspector.SourceFrame.prototype._getPopoverAnchor):
3448         (WebInspector.SourceFrame.prototype._highlightExpression):
3449         (WebInspector.SourceFrame.prototype._onShowPopover.showObjectPopover):
3450         (WebInspector.SourceFrame.prototype._onShowPopover):
3451         * inspector/front-end/TimelinePanel.js:
3452         (WebInspector.TimelinePanel):
3453         (WebInspector.TimelinePanel.prototype._showPopover):
3454         (WebInspector.TimelinePanel.prototype._closeRecordDetails):
3455
3456 2011-08-25  Pavel Feldman  <pfeldman@google.com>
3457
3458         [Qt] REGRESSION(93769): inspector/console/console-tests.html fails
3459         https://bugs.webkit.org/show_bug.cgi?id=66930
3460
3461         Reviewed by Yury Semikhatsky.
3462