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