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