1a32cf7c62039bd07beda1e53cfbd89d9b6df447
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
2
3         Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
4         https://bugs.webkit.org/show_bug.cgi?id=71676
5
6         Reviewed by Pavel Feldman.
7
8         * inspector/front-end/TextPrompt.js:
9         (WebInspector.TextPrompt.prototype.onKeyDown):
10         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
11         * inspector/front-end/inspectorCommon.css:
12         (body): Revert inadvertent style change from a preceding commit.
13
14 2011-11-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
15
16         Fix the Qt build on Mac OS X when using the QuickTime media backend
17
18         When QtWebKit is built on Mac OS X using the QuickTime media backend
19         we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
20         we have to guard the potentially duplicate symbol createCFURL with
21         more than just !PLATFORM(MAC).
22
23         Reviewed by Andreas Kling.
24
25         * platform/cf/KURLCFNet.cpp:
26
27 2011-11-07  Pavel Feldman  <pfeldman@google.com>
28
29         Not reviewed: follow up to r99407. Style the suggest box.
30         https://bugs.webkit.org/show_bug.cgi?id=65511
31
32
33         * inspector/front-end/TextPrompt.js:
34         * inspector/front-end/inspector.css:
35         * inspector/front-end/textPrompt.css:
36
37 2011-11-07  Roland Steiner  <rolandsteiner@chromium.org>
38
39         https://bugs.webkit.org/show_bug.cgi?id=70223
40         CSSStyleSheet: finding the owner node should be in its own method
41
42         Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
43
44         Reviewed by Dimitri Glazkov.
45
46         No new tests. (refactoring)
47
48         * css/CSSStyleSheet.cpp:
49         (WebCore::CSSStyleSheet::styleSheetOwnerNode):
50         (WebCore::CSSStyleSheet::document):
51         * css/CSSStyleSheet.h:
52
53 2011-11-07  Yury Semikhatsky  <yurys@chromium.org>
54
55         [Chromium] Web Inspector: use native worker inspector instead of fake workers
56         https://bugs.webkit.org/show_bug.cgi?id=71670
57
58         Removed context menu option for switching between native and "fake" workers
59         debugger. Native debugger is used by default on platforms that support it.
60
61         Reviewed by Pavel Feldman.
62
63         * English.lproj/localizedStrings.js:
64         * inspector/front-end/ScriptsPanel.js:
65         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
66         * inspector/front-end/Settings.js:
67         (WebInspector.Settings):
68         * inspector/front-end/WorkersSidebarPane.js:
69         (WebInspector.WorkerListSidebarPane):
70         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
71         * inspector/front-end/scriptsPanel.css:
72         (#shared-workers-list):
73
74 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
75
76         Web Inspector: Add advanced search shortcut to ShortcutsScreen.
77         https://bugs.webkit.org/show_bug.cgi?id=71302
78
79         Reviewed by Pavel Feldman.
80
81         * English.lproj/localizedStrings.js:
82         * inspector/front-end/AdvancedSearchController.js:
83         (WebInspector.AdvancedSearchController.createShortcut):
84         * inspector/front-end/inspector.js:
85         (WebInspector._registerShortcuts):
86
87 2011-11-07  Andreas Kling  <kling@webkit.org>
88
89         CSSImageValue: Remove inheritance from CachedImageClient.
90         <http://webkit.org/b/71675>
91
92         Reviewed by Antti Koivisto.
93
94         CSSImageValue doesn't actually use any of the CachedImageClient
95         functionality, and holds a reference to the resource via the
96         CachedResourceHandle in StyleCachedImage.
97
98         So we can safely remove the multiple inheritance and simplify
99         the class.
100
101         * css/CSSImageValue.cpp:
102         (WebCore::CSSImageValue::~CSSImageValue):
103         (WebCore::CSSImageValue::cachedImage):
104         (WebCore::CSSImageValue::clearCachedImage):
105         * css/CSSImageValue.h:
106
107 2011-11-07  Andreas Kling  <kling@webkit.org>
108
109         CSSPrimitiveValue: Remove unused virtual function parseString().
110         <http://webkit.org/b/71671>
111
112         Reviewed by Antti Koivisto.
113
114         * css/CSSPrimitiveValue.cpp:
115         * css/CSSPrimitiveValue.h:
116
117 2011-11-07  Andrey Kosyakov  <caseq@chromium.org>
118
119         Web Inspector: use toString as the Date object description.
120         https://bugs.webkit.org/show_bug.cgi?id=71605
121
122         Reviewed by Yury Semikhatsky.
123
124         Test: inspector/remote-object.html
125
126         * inspector/InjectedScriptSource.js:
127         (.):
128
129 2011-10-26  Andrey Kosyakov  <caseq@chromium.org>
130
131         Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
132         https://bugs.webkit.org/show_bug.cgi?id=70885
133
134         Reviewed by Pavel Feldman.
135
136         No new tests, as there's no new functionality.
137
138         * inspector/front-end/JavaScriptSourceFrame.js:
139         (WebInspector.JavaScriptSourceFrame):
140         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
141         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
142         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
143         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
144         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
145         (WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
146         (WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
147         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
148         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
149         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
150         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
151         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
152         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
153         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
154         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
155         (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
156         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
157         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
158         (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
159         (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
160         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
161         (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
162         (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
163         (WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
164         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
165         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
166         (WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
167         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
168         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
169         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
170         (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
171         (WebInspector.JavaScriptSourceFrameDelegate):
172         (WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
173         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
174         (WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
175         (WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
176         (WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
177         (WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
178         (WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
179         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
180         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
181         (WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
182         (WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
183         * inspector/front-end/ResourceView.js:
184         (WebInspector.ResourceSourceFrame):
185         * inspector/front-end/ScriptsPanel.js:
186         (WebInspector.SourceFrameDelegateForScriptsPanel):
187         * inspector/front-end/SourceFrame.js:
188         (WebInspector.SourceFrame):
189         (WebInspector.SourceFrame.prototype.willHide):
190         (WebInspector.SourceFrame.prototype.get textViewer):
191         (WebInspector.SourceFrame.prototype.requestContent):
192         (WebInspector.SourceFrame.prototype._saveViewerState):
193         (WebInspector.SourceFrame.prototype._restoreViewerState):
194         (WebInspector.SourceFrame.prototype.beforeTextChanged):
195         (WebInspector.SourceFrame.prototype.afterTextChanged):
196         (WebInspector.SourceFrame.prototype._initializeTextViewer):
197         (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
198         (WebInspector.SourceFrame.prototype.suggestedFileName):
199         (WebInspector.SourceFrame.prototype.canEditSource):
200         (WebInspector.SourceFrame.prototype.startEditing):
201         (WebInspector.SourceFrame.prototype.commitEditing):
202         (WebInspector.SourceFrame.prototype.didEditContent):
203         (WebInspector.SourceFrame.prototype.editContent):
204         (WebInspector.SourceFrame.prototype.cancelEditing):
205         (WebInspector.SourceFrame.prototype.setReadOnly):
206         * inspector/front-end/inspector.html:
207
208 2011-11-06  Andreas Kling  <kling@webkit.org>
209
210         CSSValue: Devirtualize cssValueType().
211         <http://webkit.org/b/71667>
212
213         Reviewed by Antti Koivisto.
214
215         Keep the cssValueType in a CSSValue member instead of using
216         virtual functions.
217
218         This is part of a project to completely devirtualize CSSValue
219         <http://webkit.org/b/71666> and will incur a temporary object
220         size regression for CSSValue while the work is ongoing.
221
222         * css/CSSInheritedValue.cpp:
223         * css/CSSInheritedValue.h:
224         (WebCore::CSSInheritedValue::CSSInheritedValue):
225         * css/CSSInitialValue.cpp:
226         * css/CSSInitialValue.h:
227         (WebCore::CSSInitialValue::CSSInitialValue):
228         * css/CSSPrimitiveValue.cpp:
229         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
230         * css/CSSPrimitiveValue.h:
231         * css/CSSValue.h:
232         (WebCore::CSSValue::cssValueType):
233         (WebCore::CSSValue::CSSValue):
234         * css/CSSValueList.cpp:
235         (WebCore::CSSValueList::CSSValueList):
236         * css/CSSValueList.h:
237
238 2011-11-07  Pavel Feldman  <pfeldman@chromium.org>
239
240         Web Inspector: introduce UserAgent override setting.
241         https://bugs.webkit.org/show_bug.cgi?id=71627
242
243         Reviewed by Yury Semikhatsky.
244
245         * English.lproj/localizedStrings.js:
246         * inspector/InspectorResourceAgent.cpp:
247         (WebCore::InspectorResourceAgent::clearFrontend):
248         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
249         (WebCore::InspectorResourceAgent::setUserAgentOverride):
250         * inspector/front-end/HelpScreen.js:
251         (WebInspector.HelpScreen):
252         (WebInspector.HelpScreen.prototype.show):
253         (WebInspector.HelpScreen.prototype._onBlur):
254         * inspector/front-end/NetworkManager.js:
255         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
256         (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
257         * inspector/front-end/Settings.js:
258         (WebInspector.Settings):
259         * inspector/front-end/SettingsScreen.js:
260         (WebInspector.SettingsScreen):
261         (WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
262         (WebInspector.SettingsScreen.prototype._createCustomSetting):
263         (WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
264         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
265         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
266         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
267         * inspector/front-end/helpScreen.css:
268         (.help-table td):
269         (.help-content fieldset label):
270
271 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
272
273         Web Inspector: autocomplete combobox for Styles sidebar and Console.
274         https://bugs.webkit.org/show_bug.cgi?id=65511
275
276         Reviewed by Pavel Feldman.
277
278         * inspector/front-end/ConsoleView.js:
279         (WebInspector.ConsoleView):
280         * inspector/front-end/StylesSidebarPane.js:
281         (WebInspector.StylePropertyTreeElement.prototype):
282         ():
283         * inspector/front-end/TextPrompt.js:
284         (WebInspector.TextPrompt):
285         (WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
286         (WebInspector.TextPrompt.prototype._attachInternal):
287         (WebInspector.TextPrompt.prototype.applySuggestion):
288         (WebInspector.TextPrompt.prototype.acceptSuggestion):
289         (WebInspector.TextPromptWithHistory):
290         * inspector/front-end/inspector.css:
291         (.suggest-box.generic-suggest):
292         (.suggest-box.generic-suggest.above-anchor):
293         (.suggest-box.generic-suggest .content):
294
295 2011-11-07  Pavel Feldman  <pfeldman@chromium.org>
296
297         Web Inspector: split script-formatter test into multiple tests.
298         https://bugs.webkit.org/show_bug.cgi?id=71607
299
300         Reviewed by Yury Semikhatsky.
301
302         Tests: inspector/debugger/script-formatter-breakpoints.html
303                inspector/debugger/script-formatter-console.html
304
305         * inspector/front-end/ScriptsPanel.js:
306         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
307
308 2011-11-07  Keishi Hattori  <keishi@webkit.org>
309
310         Change ColorChooser from singleton to ordinary object
311         https://bugs.webkit.org/show_bug.cgi?id=71644
312
313         Reviewed by Kent Tamura.
314
315         Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
316
317         * WebCore.exp.in:
318         * html/ColorInputType.cpp:
319         (WebCore::ColorInputType::~ColorInputType):
320         (WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
321         (WebCore::ColorInputType::handleDOMActivateEvent):
322         (WebCore::ColorInputType::detach):
323         (WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
324         (WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
325         * html/ColorInputType.h:
326         * html/HTMLInputElement.cpp:
327         (WebCore::HTMLInputElement::selectColorInColorChooser):
328         * html/HTMLInputElement.h:
329         * loader/EmptyClients.h:
330         (WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
331         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
332         * page/Chrome.cpp:
333         (WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
334         (WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
335         * page/Chrome.h:
336         * page/ChromeClient.h:
337         * platform/ColorChooser.cpp:
338         (WebCore::ColorChooserClient::~ColorChooserClient):
339         (WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
340         (WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
341         (WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
342         (WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
343         (WebCore::ColorChooser::~ColorChooser):
344         (WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
345         (WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
346         * platform/ColorChooser.h:
347         (WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
348         (WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
349         * testing/Internals.cpp:
350         (WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
351         * testing/Internals.h:
352         * testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
353
354 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
355
356         Web Inspector: Cannot edit elements commented with <!--
357         https://bugs.webkit.org/show_bug.cgi?id=71357
358
359         Reviewed by Pavel Feldman.
360
361         * inspector/InspectorDOMAgent.cpp:
362         (WebCore::InspectorDOMAgent::getOuterHTML):
363         (WebCore::InspectorDOMAgent::setOuterHTML):
364         * inspector/front-end/ElementsTreeOutline.js:
365         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
366         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
367         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
368         (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
369
370 2011-11-06  Noel Gordon  <noel.gordon@gmail.com>
371
372         Fix some style issues in ImageBuffer.h
373         https://bugs.webkit.org/show_bug.cgi?id=71649
374
375         Reviewed by Kent Tamura.
376
377         No new tests. Style change only.
378
379         * platform/graphics/ImageBuffer.h:
380
381 2011-11-06  Keishi Hattori  <keishi@webkit.org>
382
383         InputType::fallbackValue and defaultValue should be const
384         https://bugs.webkit.org/show_bug.cgi?id=71641
385
386         Reviewed by Kent Tamura.
387     
388         Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
389
390         * html/BaseCheckableInputType.cpp:
391         (WebCore::BaseCheckableInputType::fallbackValue):
392         * html/BaseCheckableInputType.h:
393         * html/ColorInputType.cpp:
394         (WebCore::ColorInputType::fallbackValue):
395         * html/ColorInputType.h:
396         * html/InputType.cpp:
397         (WebCore::InputType::fallbackValue):
398         (WebCore::InputType::defaultValue):
399         * html/InputType.h:
400         * html/RangeInputType.cpp:
401         (WebCore::RangeInputType::fallbackValue):
402         * html/RangeInputType.h:
403         * html/ResetInputType.cpp:
404         (WebCore::ResetInputType::defaultValue):
405         * html/ResetInputType.h:
406         * html/SubmitInputType.cpp:
407         (WebCore::SubmitInputType::defaultValue):
408         * html/SubmitInputType.h:
409
410 2011-11-06  Keishi Hattori  <keishi@webkit.org>
411
412         Remove ColorInputType::handleClickEvent
413         https://bugs.webkit.org/show_bug.cgi?id=71640
414
415         Reviewed by Kent Tamura.
416
417         When you click the input color element, both ColorInputType::handleClickEvent and
418         ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
419         to be called too many times.
420
421         * html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
422         * html/ColorInputType.h: Removed ColorInputType::handleClickEvent
423
424 2011-11-06  Keishi Hattori  <keishi@webkit.org>
425
426         Remove extra semicolon in ColorInputType
427         https://bugs.webkit.org/show_bug.cgi?id=71639
428
429         Reviewed by Kent Tamura.
430
431         * html/ColorInputType.cpp:
432         (WebCore::ColorInputType::setValue):
433
434 2011-11-06  Dominic Cooney  <dominicc@chromium.org>
435
436         Remove initBeforeLoadEvent method
437         https://bugs.webkit.org/show_bug.cgi?id=71636
438
439         Reviewed by Adam Barth.
440
441         Test: fast/dom/Window/window-properties.html
442
443         * dom/BeforeLoadEvent.h:
444         * dom/BeforeLoadEvent.idl:
445
446 2011-11-06  Adam Barth  <abarth@webkit.org>
447
448         Don't crash when a context hasn't been created.  This fixed a
449         testing-only crash on the bots in the Chromium port.
450
451         * testing/v8/WebCoreTestSupport.cpp:
452         (WebCoreTestSupport::resetInternalsObject):
453
454 2011-11-06  Darin Adler  <darin@apple.com>
455
456         Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
457         https://bugs.webkit.org/show_bug.cgi?id=71260
458
459         Reviewed by Mark Rowe.
460
461         Memory leak fix covered by existing tests.
462
463         * rendering/RenderFlowThread.cpp:
464         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
465         Instead of calling remove, call take and then delete, since the
466         values of the map are owned and need to be deleted when removed.
467
468 2011-11-06  Adam Barth  <abarth@webkit.org>
469
470         Implement the sandbox directive for CSP
471         https://bugs.webkit.org/show_bug.cgi?id=71604
472
473         Reviewed by Sam Weinig.
474
475         At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
476         to CSP.  There's a question about whether it's going to be in CSP 1.0
477         or CSP 1.1, but it seems to be clearly headed into the spec.
478
479         This patch implements the sandbox directive for CSP.  It's built on the
480         same machinery we use for the sandbox attribute for iframe.  Now that
481         I've done the implementation, I'm going to write up some concrete text
482         for the spec.
483
484         Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
485                http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
486                http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
487                http/tests/security/contentSecurityPolicy/sandbox-empty.html
488
489         * page/ContentSecurityPolicy.cpp:
490         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
491         (WebCore::ContentSecurityPolicy::applySandboxPolicy):
492         (WebCore::ContentSecurityPolicy::addDirective):
493         * page/ContentSecurityPolicy.h:
494
495 2011-11-03  Filip Pizlo  <fpizlo@apple.com>
496
497         JSC should be able to sample itself in a more flexible way than just sampling flags
498         https://bugs.webkit.org/show_bug.cgi?id=71522
499
500         Reviewed by Gavin Barraclough.
501
502         No new tests, since no functionality changed.
503
504         * ForwardingHeaders/wtf/Spectrum.h: Added.
505
506 2011-11-06  Nikita Vasilyev  <me@elv1s.ru>
507
508         Web Inspector: Unindent edited text by pressing Shift + Tab
509         https://bugs.webkit.org/show_bug.cgi?id=70181
510
511         Indent and unindent text in all selected lines.
512
513         Reviewed by Pavel Feldman.
514
515         * inspector/front-end/TextViewer.js:
516         (WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
517         (WebInspector.TextEditorMainPanel.prototype.unindentLines):
518
519 2011-11-05  Martin Robinson  <mrobinson@igalia.com>
520
521         Remove ContextShadow
522         https://bugs.webkit.org/show_bug.cgi?id=71617
523
524         Reviewed by Ariya Hidayat.
525
526         No new tests. This patch does not change behavior.
527
528         Completely remove ContextShadow. It's unused, unmaintained, and
529         replaced by ShadowBlur.
530
531         * WebCore.gypi: Remove references to deleted files.
532         * WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
533         * platform/graphics/ContextShadow.cpp: Removed.
534         * platform/graphics/ContextShadow.h: Removed.
535         * platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
536
537 2011-11-04  Jon Lee  <jonlee@apple.com>
538
539         Dragging a file onto <input type="file"> should give distinct visual feedback
540         https://bugs.webkit.org/show_bug.cgi?id=13897
541         <rdar://problem/5232483>
542
543         Reviewed by Dan Bernstein.
544
545         When hovering over a file input element, we set the button's state to active
546         to differentiate dragging one file over the input element (which populates that
547         element) versus over the document (which would load the file into the view).
548
549         * html/HTMLInputElement.cpp:
550         (WebCore::HTMLInputElement::HTMLInputElement):
551         (WebCore::HTMLInputElement::canReceiveDroppedFiles):
552         (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
553         is updated, which sets the active state on the button control.
554         * html/HTMLInputElement.h: Add a boolean member representing whether the file
555         input can receive dropped files.
556         * page/DragController.cpp:
557         (WebCore::DragController::DragController): Update/set the file input that
558         can receive dropped files.
559         (WebCore::DragController::dragExited):
560         (WebCore::DragController::tryDocumentDrag):
561         (WebCore::DragController::concludeEditDrag):
562         * page/DragController.h:
563         * rendering/RenderFileUploadControl.cpp:
564         (WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
565         state if the input can receive dropped files.
566
567 2011-11-05  Darin Adler  <darin@apple.com>
568
569         Improve pending resource hash table code, including fixing a memory leak
570         https://bugs.webkit.org/show_bug.cgi?id=71616
571
572         Reviewed by Adam Roben.
573
574         Memory leak fix and refactoring covered by existing tests.
575
576         * svg/SVGDocumentExtensions.cpp:
577         (WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
578         of contains, get, and add with just add, removing an extra unneeded hash table
579         lookup each time this function is called.
580         (WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
581         about the performance of this function. Removed unnecessary check for an empty
582         map; the code already efficiently exits doing nothing without the check.
583         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
584         unnecessary check for an empty map; the code already efficiently does nothing
585         without the check. Use removePendingResource rather than calling remove to
586         avoid leaking the SVGPendingElements set.
587         (WebCore::SVGDocumentExtensions::removePendingResource): Replace the
588         combination of get and remove with a call to take, removing an extra
589         unneeded hash table lookup each time this function is called
590
591 2011-11-05  Dan Winship  <danw@gnome.org>
592
593         [GTK] Actually use the user_data arguments to gio async functions
594         instead of using g_object_set_data() to basically reinvent them.
595         https://bugs.webkit.org/show_bug.cgi?id=71614
596
597         Reviewed by Martin Robinson.
598
599         No new tests; behavior is unchanged
600
601         * platform/network/soup/ResourceHandleSoup.cpp:
602         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
603         (WebCore::cleanupSoupRequestOperation):
604         (WebCore::sendRequestCallback):
605         (WebCore::startHTTPRequest):
606         (WebCore::ResourceHandle::platformSetDefersLoading):
607         (WebCore::closeCallback):
608         (WebCore::readCallback):
609         (WebCore::startNonHTTPRequest):
610
611 2011-11-05  Dan Winship  <danw@gnome.org>
612
613         [GTK] Don't unnecessarily 0-initialize read buffers.
614         https://bugs.webkit.org/show_bug.cgi?id=71612
615
616         Reviewed by Martin Robinson.
617
618         No new tests; behavior is unchanged
619
620         * platform/network/soup/ResourceHandleSoup.cpp:
621         (WebCore::sendRequestCallback):
622
623 2011-11-05  Dan Winship  <danw@gnome.org>
624
625         [GTK] Remove a bit of dead code
626         https://bugs.webkit.org/show_bug.cgi?id=71613
627
628         Reviewed by Martin Robinson.
629
630         No new tests; behavior is unchanged
631
632         * platform/network/soup/ResourceHandleSoup.cpp:
633         (WebCore::readCallback): the caller that needed the convertToUTF16
634         code was removed in r77408, but the code was accidentally left
635         behind.
636
637 2011-11-05  Adam Barth  <abarth@webkit.org>
638
639         Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
640         https://bugs.webkit.org/show_bug.cgi?id=71603
641
642         Reviewed by Sam Weinig.
643
644         This patch changes the way we compute sandbox bits.  Instead of caching
645         the result on Frame, we always compute the sandbox bits for a new
646         document fresh from the inputs to the process (the sandbox attribute
647         and the forced sandbox flags).
648
649         This patch is just refactoring.  It shouldn't have an observable
650         effects.  This patch makes it easier to implement CSP's sandbox
651         directive in a subsequent patch.
652
653         * dom/Document.cpp:
654         (WebCore::Document::initSecurityContext):
655         * html/HTMLFrameOwnerElement.cpp:
656         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
657         * loader/FrameLoader.cpp:
658         (WebCore::FrameLoader::FrameLoader):
659         (WebCore::FrameLoader::init):
660         (WebCore::FrameLoader::effectiveSandboxFlags):
661         (WebCore::createWindow):
662         * loader/FrameLoader.h:
663         (WebCore::FrameLoader::forceSandboxFlags):
664
665 2011-11-05  Andreas Kling  <kling@webkit.org>
666
667         CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
668         https://bugs.webkit.org/show_bug.cgi?id=71609
669
670         Reviewed by Anders Carlsson.
671
672         Add a bool member to CSSStyleDeclaration that determines whether
673         it's a CSSMutableDeclaration.
674
675         * css/CSSMutableStyleDeclaration.cpp:
676         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
677         * css/CSSMutableStyleDeclaration.h:
678         * css/CSSStyleDeclaration.cpp:
679         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
680         * css/CSSStyleDeclaration.h:
681         (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
682
683 2011-11-05  Andreas Kling  <kling@webkit.org>
684
685         Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
686         https://bugs.webkit.org/show_bug.cgi?id=71608
687
688         Reviewed by Pavel Feldman.
689
690         Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
691         of doing the same checks manually.
692
693         * inspector/InspectorCSSAgent.cpp:
694         (WebCore::InspectorCSSAgent::inlineStyleElement):
695
696 2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
697
698         Reviewed by Andreas Kling.
699
700         Removed duplicated npruntime_internal.h from bindings/v8
701         in favour of the one from bridge/, which has a few more
702         #undefs.
703
704         https://bugs.webkit.org/show_bug.cgi?id=45617
705
706         * bindings/v8/npruntime_internal.h: Removed.
707         * Target.pri: Removed strange occurence here.
708
709 2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
710
711         Remove empty and unused dom/PositionCreationFunctions.h header file
712         https://bugs.webkit.org/show_bug.cgi?id=71552
713
714         Reviewed by Kenneth Rohde Christiansen.
715
716         The file is empty (0 bytes) and not used anywhere. It was added in
717         2009 in r48234 but hasn't been touched since then.
718
719         * WebCore.gypi:
720         * dom/PositionCreationFunctions.h: Removed.
721
722 2011-11-04  Adam Barth  <abarth@webkit.org>
723
724         Fix assert after running tests in dumpAsText folders.  See
725         https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion.  This
726         patch reverts part of a slightly over-agressive refactoring in
727         http://trac.webkit.org/changeset/99347.
728
729         * dom/Document.cpp:
730         (WebCore::Document::setIsViewSource):
731
732 2011-11-04  Ben Wells  <benwells@chromium.org>
733
734         Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
735         https://bugs.webkit.org/show_bug.cgi?id=71537
736
737         Reviewed by Stephen White.
738
739         drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
740
741         Test: fast/canvas/canvas-composite-canvas.html
742
743         * html/canvas/CanvasRenderingContext2D.cpp:
744         (WebCore::CanvasRenderingContext2D::drawImage):
745         (WebCore::drawImageToContext):
746         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
747         * html/canvas/CanvasRenderingContext2D.h:
748
749 2011-11-04  Adam Barth  <abarth@webkit.org>
750
751         JavaScript URLs execute in sandboxed iframes
752         https://bugs.webkit.org/show_bug.cgi?id=71599
753
754         Reviewed by Eric Seidel.
755
756         This patch fixes the intentional regression I introduced earlier today
757         by moving the sandbox bits from SecurityOrigin to Document. In the
758         process, I renamed SecurityOrigin::createEmpty to
759         SecurityOrigin::createUnique to better align with HTML5 terminology.
760
761         * WebCore.exp.in:
762         * bindings/ScriptControllerBase.cpp:
763         (WebCore::ScriptController::canExecuteScripts):
764         * dom/Document.cpp:
765         (WebCore::Document::setIsViewSource):
766         (WebCore::Document::initSecurityContext):
767         * dom/ScriptExecutionContext.cpp:
768         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
769         * dom/ScriptExecutionContext.h:
770         (WebCore::ScriptExecutionContext::sandboxFlags):
771         (WebCore::ScriptExecutionContext::enforceSandboxFlags):
772         (WebCore::ScriptExecutionContext::isSandboxed):
773         * html/HTMLAppletElement.cpp:
774         (WebCore::HTMLAppletElement::canEmbedJava):
775         * loader/DocumentWriter.cpp:
776         (WebCore::DocumentWriter::begin):
777         * loader/FrameLoader.cpp:
778         (WebCore::isDocumentSandboxed):
779         (WebCore::FrameLoader::addHTTPOriginIfNeeded):
780         * loader/PolicyChecker.cpp:
781         (WebCore::PolicyChecker::checkNewWindowPolicy):
782         * loader/SubframeLoader.cpp:
783         (WebCore::SubframeLoader::requestPlugin):
784         * page/SecurityOrigin.cpp:
785         (WebCore::SecurityOrigin::SecurityOrigin):
786         (WebCore::SecurityOrigin::create):
787         (WebCore::SecurityOrigin::createUnique):
788         * page/SecurityOrigin.h:
789
790 2011-11-04  Joseph Pecoraro  <pecoraro@apple.com>
791
792         Potential Unused Param Build Issue
793         https://bugs.webkit.org/show_bug.cgi?id=71598
794
795         Reviewed by Kent Tamura.
796
797         * html/HTMLSelectElement.cpp:
798         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
799
800 2011-11-04  Stephen Chenney  <schenney@chromium.org>
801
802         Crash in ScrollAnimator.cpp
803         https://bugs.webkit.org/show_bug.cgi?id=69865
804
805         The code in ScrollAnimator assumes that horizontal per-page mouse
806         wheel events cannot happen, which is not true. This patch adds layout
807         tests for all paging wheel event situations and fixes the broken
808         horizontal case.
809
810         Reviewed by Anders Carlsson
811
812         Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
813                fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
814                fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
815                fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
816                fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
817                fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
818                fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
819                fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
820                fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
821                fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
822
823         * platform/PlatformWheelEvent.h: Modify the comment to reflect the new
824         reality.
825         * platform/ScrollAnimator.cpp:
826         (WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
827         horizontal per-page wheel event case.
828
829 2011-11-04  Rafael Weinstein  <rafaelw@chromium.org>
830
831         [MutationObservers] Refactor MutationObserverRegistration into its own class that is
832         referenced by registration points
833
834         https://bugs.webkit.org/show_bug.cgi?id=71577
835
836         Reviewed by Ojan Vafai.
837
838         MutationObserverRegistration is now owned by the node which is observed. If transient
839         registrations are created, they hold a reference to this object.
840
841         The ownership relationship between Node, MutationObserverRegistration &
842         WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
843         and only script and MutationObserverRegistration take references to it. Exactly
844         one MutationObserverRegistration can exist for any given tuple of
845         <Node, WebKitMutationObserver>. This represents an observer observing at a given
846         Node. Further observation by the same observer has the effect of *resetting*
847         the existing observation. The Node owns the MutationObserverRegistration.
848         Transient registrations are only pointers to the registration. The registration
849         keeps a RefPtr to its registration node and all of its transient registration nodes
850         as long as *any* transient registrations exist. This ensures the registration
851         and all registration nodes stay alive at least until the end of the microtask.
852
853         No tests required - refactor only.
854
855         * GNUmakefile.list.am:
856         * WebCore.gypi:
857         * WebCore.pro:
858         * WebCore.vcproj/WebCore.vcproj:
859         * WebCore.xcodeproj/project.pbxproj:
860         * dom/CharacterData.cpp:
861         (WebCore::enqueueCharacterDataMutationRecord):
862         * dom/ChildListMutationScope.cpp:
863         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
864         * dom/Element.cpp:
865         (WebCore::enqueueAttributesMutationRecord):
866         * dom/MutationObserverRegistration.cpp: Added.
867         (WebCore::MutationObserverRegistration::create):
868         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
869         (WebCore::MutationObserverRegistration::~MutationObserverRegistration):
870         (WebCore::MutationObserverRegistration::resetObservation):
871         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
872         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
873         (WebCore::MutationObserverRegistration::unregister):
874         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
875         * dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
876         (WebCore::MutationObserverRegistration::observer):
877         (WebCore::MutationObserverRegistration::deliveryOptions):
878         * dom/Node.cpp:
879         (WebCore::Node::clearRareData):
880         (WebCore::Node::mutationObserverRegistry):
881         (WebCore::Node::transientMutationObserverRegistry):
882         (WebCore::addObserverToDeliverySet):
883         (WebCore::Node::collectMatchingObserversForMutation):
884         (WebCore::Node::getRegisteredMutationObserversOfType):
885         (WebCore::Node::registerMutationObserver):
886         (WebCore::Node::unregisterMutationObserver):
887         (WebCore::Node::registerTransientMutationObserver):
888         (WebCore::Node::unregisterTransientMutationObserver):
889         (WebCore::Node::notifyMutationObserversNodeWillDetach):
890         * dom/Node.h:
891         * dom/NodeRareData.h:
892         (WebCore::NodeRareData::mutationObserverRegistry):
893         (WebCore::NodeRareData::ensureMutationObserverRegistry):
894         (WebCore::NodeRareData::transientMutationObserverRegistry):
895         (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
896         * dom/WebKitMutationObserver.cpp:
897         (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
898         (WebCore::WebKitMutationObserver::observe):
899         (WebCore::WebKitMutationObserver::disconnect):
900         (WebCore::WebKitMutationObserver::observationStarted):
901         (WebCore::WebKitMutationObserver::observationEnded):
902         (WebCore::WebKitMutationObserver::deliver):
903         * dom/WebKitMutationObserver.h:
904
905 2011-11-04  Raymond Toy  <rtoy@google.com>
906
907        Add methods to compute magnitude and phase response for biquads
908        https://bugs.webkit.org/show_bug.cgi?id=71055
909
910        Reviewed by Kenneth Russell.
911
912
913         * platform/audio/Biquad.cpp:
914         (WebCore::Biquad::getFrequencyResponse):
915         Computes the magnitude and phase (radians) response for the given
916         biquad at the specified set of (normalized) frequencies.
917         * platform/audio/Biquad.h:
918         Declare getFrequencyResponse.
919         * webaudio/BiquadDSPKernel.cpp:
920         (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
921         Factor out the code that updates filter coefficients.  Allow the
922         caller to specify whether the smoothed values are used or not and
923         whether we do the update even if the coefficients are not dirty.
924         (WebCore::BiquadDSPKernel::process):
925         Use updateCoefficientsIfNecessary to update.
926         (WebCore::BiquadDSPKernel::getFrequencyResponse):
927         Implmentation of getFrequencyResponse.
928         * webaudio/BiquadDSPKernel.h:
929         Declare getFrequencyResponse.
930         * webaudio/BiquadFilterNode.cpp:
931         (WebCore::BiquadFilterNode::getFrequencyResponse):
932         Implementation of getFrequencyResponse
933         * webaudio/BiquadFilterNode.h:
934         Declare getFrequencyResponse.
935         * webaudio/BiquadFilterNode.idl:
936         Define interface to getFrequencyResponse.
937         * webaudio/BiquadProcessor.cpp:
938         (WebCore::BiquadProcessor::checkForDirtyCoefficients):
939         Factor out code for checking for dirty coefficients.
940         (WebCore::BiquadProcessor::process):
941         Use checkForDirtyCoefficients.
942         (WebCore::BiquadProcessor::getFrequencyResponse):
943         Implementation of getFrequencyResponse
944         * webaudio/BiquadProcessor.h:
945         Declare getFrequencyResponse.
946
947 2011-11-04  Benjamin Poulain  <bpoulain@apple.com>
948
949         [Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
950         https://bugs.webkit.org/show_bug.cgi?id=71539
951
952         Reviewed by David Kilzer.
953
954         In order to have CFURL and NSURL to be consistent when both are used on Mac,
955         KURL::createCFURL() is changed to support empty URL values.
956
957         * platform/cf/KURLCFNet.cpp:
958         (WebCore::createCFURLFromBuffer):
959         (WebCore::KURL::createCFURL):
960         * platform/mac/KURLMac.mm:
961         (WebCore::KURL::operator NSURL *):
962         (WebCore::KURL::createCFURL):
963
964 2011-11-04  Fady Samuel  <fsamuel@chromium.org>
965
966         CSS Aspect Ratio Property Parsing Stage
967         https://bugs.webkit.org/show_bug.cgi?id=70707
968
969         Reviewed by Ojan Vafai.
970
971         Added parsing support for -webkit-aspect-ratio CSS property.
972         The spec can be found here: http://www.xanthir.com/blog/b4810
973
974         Test: fast/css/aspect-ratio-parsing-tests.html
975
976         * CMakeLists.txt:
977         * GNUmakefile.list.am:
978         * Target.pri:
979         * WebCore.gypi:
980         * WebCore.vcproj/WebCore.vcproj:
981         * WebCore.xcodeproj/project.pbxproj:
982         * css/CSSAspectRatioValue.cpp: Added.
983         (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
984         (WebCore::CSSAspectRatioValue::cssText):
985         * css/CSSAspectRatioValue.h: Added.
986         (WebCore::CSSAspectRatioValue::create):
987         (WebCore::CSSAspectRatioValue::numeratorValue):
988         (WebCore::CSSAspectRatioValue::denominatorValue):
989         (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
990         * css/CSSComputedStyleDeclaration.cpp:
991         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
992         * css/CSSMutableStyleDeclaration.cpp:
993         * css/CSSParser.cpp:
994         (WebCore::CSSParser::parseValue):
995         (WebCore::CSSParser::parseAspectRatio):
996         * css/CSSParser.h:
997         * css/CSSProperty.cpp:
998         (WebCore::CSSProperty::isInheritedProperty):
999         * css/CSSPropertyNames.in:
1000         * css/CSSStyleSelector.cpp:
1001         (WebCore::CSSStyleSelector::applyProperty):
1002
1003 2011-11-04  Adam Barth  <abarth@webkit.org>
1004
1005         Delete FrameLoader::isSandboxed
1006         https://bugs.webkit.org/show_bug.cgi?id=71591
1007
1008         Reviewed by Eric Seidel.
1009
1010         We should always use document->securityOrigin()->isSandboxed because
1011         that picks up the sandbox bits that are frozen on the document rather
1012         than the ones that could change on the Frame.
1013
1014         This patch starts preparing us to implement the CSP sandbox directive,
1015         which will cause use to have document sandbox bits without any attribute.
1016
1017         * bindings/ScriptControllerBase.cpp:
1018         (WebCore::ScriptController::canExecuteScripts):
1019             - This call site was the only functional site left where these two
1020               could be different. This patch causes one progression and one
1021               regression. The progression is that we now correctly freeze the
1022               allow-scripts bit when a document is created, but the regression
1023               is we now allow the execution of JavaScript URLs, as noted in 
1024               fast/frames/sandboxed-iframe-scripting.html. That's even more of
1025               an edge case, so I think it's a win overall.
1026         * loader/DocumentWriter.cpp:
1027         (WebCore::DocumentWriter::begin):
1028             - I don't think this part of the change is testable. There's no
1029               time to execute script between when the bits get copied off the
1030               Frame and when they're checked, so there's no time to change them.
1031         * loader/FrameLoader.cpp:
1032             - Update FIXME comment that is now fixed.
1033         * loader/FrameLoader.h:
1034             - Remove wrong API.
1035
1036 2011-11-04  Adam Barth  <abarth@webkit.org>
1037
1038         When CSP blocks mixed content, we shouldn't also warn about mixed content
1039         https://bugs.webkit.org/show_bug.cgi?id=71588
1040
1041         Reviewed by Eric Seidel.
1042
1043         Getting both warnings confused some early adopters.  They thought the
1044         insecure loads were happening even though they blocked them with CSP.
1045         This patch restricts the mixed content warnings to show only when the
1046         load isn't already blocked by CSP or by the embedder.
1047
1048         Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
1049
1050         * loader/cache/CachedResourceLoader.cpp:
1051         (WebCore::CachedResourceLoader::canRequest):
1052
1053 2011-11-04  Michael Nordman  <michaeln@google.coom>
1054
1055         Allow ScriptExecutionContext::addMessage to be called from background threads.
1056         https://bugs.webkit.org/show_bug.cgi?id=71575
1057
1058         Reviewed by Nate Chapin.
1059
1060         No new tests.
1061
1062         * dom/Document.cpp:
1063         (WebCore::Document::addMessage):
1064         * dom/ScriptExecutionContext.cpp:
1065         * dom/ScriptExecutionContext.h:
1066         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
1067         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
1068         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
1069         * workers/WorkerContext.cpp:
1070         (WebCore::WorkerContext::addMessage):
1071
1072 2011-11-04  Shawn Singh  <shawnsingh@chromium.org>
1073
1074         [chromium] Re-named the original scissorRect to clipRect
1075         https://bugs.webkit.org/show_bug.cgi?id=71580
1076
1077         Reviewed by James Robinson.
1078
1079         Existing tests are updated appropriately; and no new behavior is
1080         introduced by this patch.
1081
1082         * platform/graphics/chromium/LayerChromium.cpp:
1083         (WebCore::LayerChromium::LayerChromium):
1084         * platform/graphics/chromium/LayerChromium.h:
1085         (WebCore::LayerChromium::setUsesLayerClipping):
1086         (WebCore::LayerChromium::usesLayerClipping):
1087         (WebCore::LayerChromium::clipRect):
1088         (WebCore::LayerChromium::setClipRect):
1089         * platform/graphics/chromium/LayerRendererChromium.cpp:
1090         (WebCore::LayerRendererChromium::drawLayersInternal):
1091         (WebCore::LayerRendererChromium::drawLayer):
1092         * platform/graphics/chromium/RenderSurfaceChromium.h:
1093         (WebCore::RenderSurfaceChromium::clipRect):
1094         (WebCore::RenderSurfaceChromium::setClipRect):
1095         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1096         (WebCore::CCLayerImpl::CCLayerImpl):
1097         * platform/graphics/chromium/cc/CCLayerImpl.h:
1098         (WebCore::CCLayerImpl::setUsesLayerClipping):
1099         (WebCore::CCLayerImpl::usesLayerClipping):
1100         (WebCore::CCLayerImpl::clipRect):
1101         (WebCore::CCLayerImpl::setClipRect):
1102         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1103         (WebCore::CCLayerTreeHost::updateLayers):
1104         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1105         (WebCore::layerShouldBeSkipped):
1106         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1107         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1108         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
1109         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1110         (WebCore::CCRenderSurface::draw):
1111         * platform/graphics/chromium/cc/CCRenderSurface.h:
1112         (WebCore::CCRenderSurface::setClipRect):
1113         (WebCore::CCRenderSurface::clipRect):
1114
1115 2011-11-04  Dmitry Lomov  <dslomov@google.com>
1116
1117         Add the ability to transfer ArrayBuffer and "neuter" it.
1118         https://bugs.webkit.org/show_bug.cgi?id=71535
1119
1120         Reviewed by David Levin.
1121
1122         * html/canvas/ArrayBuffer.cpp:
1123         (WebCore::ArrayBuffer::create):
1124         (WebCore::ArrayBuffer::ArrayBuffer):
1125         (WebCore::ArrayBuffer::data):
1126         (WebCore::ArrayBuffer::byteLength):
1127         (WebCore::ArrayBuffer::transfer):
1128         (WebCore::ArrayBufferContents::~ArrayBufferContents):
1129         (WebCore::ArrayBufferContents::tryAllocate):
1130         (WebCore::ArrayBuffer::addView):
1131         (WebCore::ArrayBuffer::removeView):
1132         * html/canvas/ArrayBuffer.h:
1133         (WebCore::ArrayBufferContents::ArrayBufferContents):
1134         (WebCore::ArrayBufferContents::data):
1135         (WebCore::ArrayBufferContents::sizeInBytes):
1136         (WebCore::ArrayBufferContents::release):
1137         (WebCore::ArrayBuffer::~ArrayBuffer):
1138         * html/canvas/ArrayBufferView.cpp:
1139         (WebCore::ArrayBufferView::ArrayBufferView):
1140         (WebCore::ArrayBufferView::~ArrayBufferView):
1141         (WebCore::ArrayBufferView::neuter):
1142         * html/canvas/ArrayBufferView.h:
1143         * html/canvas/DataView.cpp:
1144         (WebCore::DataView::neuter):
1145         (WebCore::DataView::neuterBinding):
1146         * html/canvas/DataView.h:
1147         * html/canvas/TypedArrayBase.h:
1148         (WebCore::TypedArrayBase::neuter):
1149         (WebCore::TypedArrayBase::neuterBinding):
1150
1151 2011-11-04  Noel Gordon  <noel.gordon@gmail.com>
1152
1153         [Chromium] Implement canvas.toDataURL("image/webp")
1154         https://bugs.webkit.org/show_bug.cgi?id=70172
1155
1156         Reviewed by Adam Barth.
1157
1158         Add a webp image encoder for the chromium skia ports, add it to the canvas
1159         element toDataURL() flow with support for an optional quality [0.0-1.0].
1160         Use a webp compression method (3) that provides good speed and compression
1161         performance for this image format, and works well for various input image
1162         types: line-art, screen-shots, and photographic images.
1163
1164         Test: fast/canvas/canvas-toDataURL-webp.html
1165
1166         * WebCore.gypi:
1167         * platform/chromium/MIMETypeRegistryChromium.cpp:
1168         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
1169         * platform/graphics/skia/ImageBufferSkia.cpp:
1170         (WebCore::ImageToDataURL):
1171         * platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
1172         (WebCore::writeOutput):
1173         (WebCore::importPicture):
1174         (WebCore::importPictureBGRA):
1175         (WebCore::importPictureRGBA):
1176         (WebCore::encodePixels):
1177         (WebCore::WEBPImageEncoder::encode):
1178         * platform/image-encoders/skia/WEBPImageEncoder.h: Added.
1179
1180 2011-11-04  Patrick Gansterer  <paroga@webkit.org>
1181
1182         [Qt] Remove ENABLE_SQLITE from qmake files
1183         https://bugs.webkit.org/show_bug.cgi?id=71546
1184
1185         Reviewed by Simon Hausmann.
1186
1187         ENABLE_SQLITE is required to build WebCore, so remove conditions.
1188
1189         * Target.pri:
1190
1191 2011-11-04  Nate Chapin  <japhet@chromium.org>
1192
1193         [V8] Null out V8NPObject::rootObject when the owning
1194         Frame goes away.
1195         https://bugs.webkit.org/show_bug.cgi?id=71569
1196
1197         Reviewed by Adam Barth.
1198
1199         No new tests, this has only been successfully triggered
1200         using ppapi flash.
1201
1202         * bindings/v8/V8Helpers.cpp:
1203         (WebCore::toV8Context):
1204         * bindings/v8/npruntime.cpp:
1205
1206 2011-11-04  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
1207
1208         Send the submissions character encoding in hidden _charset_ field.
1209         https://bugs.webkit.org/show_bug.cgi?id=19079
1210
1211         Reviewed by Darin Adler.
1212
1213         Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
1214         If _charset_ used as the name of a hidden control it should send character encoding
1215         as value while submissions.
1216
1217         Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
1218                http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
1219                http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
1220                http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
1221                http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
1222                http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
1223                http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
1224                http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
1225                http/tests/misc/char-encoding-in-text-charset-field-with-value.html
1226                http/tests/misc/char-encoding-without-charset-field.html
1227
1228         * html/HiddenInputType.cpp:
1229         (WebCore::HiddenInputType::isHiddenType):
1230         (WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
1231         * html/HiddenInputType.h: Override appendFormData for hidden control types.
1232
1233 2011-11-04  Robert Sesek  <rsesek@chromium.org>
1234
1235         [chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
1236         https://bugs.webkit.org/show_bug.cgi?id=71563
1237
1238         Reviewed by Adam Barth.
1239
1240         Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
1241         rather in WebKitLibraries/.
1242
1243         * WebCore.gyp/WebCore.gyp:
1244
1245 2011-11-04  Julien Chaffraix  <jchaffraix@webkit.org>
1246
1247         RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
1248         https://bugs.webkit.org/show_bug.cgi?id=71517
1249
1250         Reviewed by Simon Fraser.
1251
1252         Unused code removal covered by existing tests.
1253
1254         The current code is invalidating the whole RenderLayerBacking as part of
1255         a style change. However this is redundant with the repainting logic which
1256         would invalidate only the necessary bits.
1257
1258         * rendering/RenderLayer.cpp:
1259         (WebCore::RenderLayer::styleChanged):
1260         Remove the invalidation code as it duplicates and defeats the repaint logic.
1261
1262 2011-11-04  Mihnea Ovidenie  <mihnea@adobe.com>
1263
1264         Correct parsing of incomplete @-webkit-region rules.
1265         https://bugs.webkit.org/show_bug.cgi?id=71514
1266
1267         Reviewed by Adam Barth.
1268
1269         Test: fast/regions/parse-incomplete-region-rule.html
1270
1271         Make sure to set the region rule to 0 on the fail branch.
1272         * css/CSSGrammar.y:
1273
1274 2011-11-04  Adam Klein  <adamk@chromium.org>
1275
1276         Reduce refcount churn in ChildListMutationScope
1277         https://bugs.webkit.org/show_bug.cgi?id=71527
1278
1279         Reviewed by Ryosuke Niwa.
1280
1281         Only the ChildListMutationAccumulator needs to hold a reference to the
1282         target node, and the added/removed children only need be ref'd if a
1283         ChildListMutationAccumulator exists (i.e., if there are interested
1284         observers).
1285
1286         * dom/ChildListMutationScope.cpp:
1287         (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
1288         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
1289         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
1290         (WebCore::ChildListMutationScope::ChildListMutationScope):
1291         (WebCore::ChildListMutationScope::~ChildListMutationScope):
1292         (WebCore::ChildListMutationScope::childAdded):
1293         (WebCore::ChildListMutationScope::willRemoveChild):
1294         * dom/ChildListMutationScope.h:
1295         * dom/ContainerNode.cpp:
1296         (WebCore::dispatchChildInsertionEvents):
1297         (WebCore::dispatchChildRemovalEvents):
1298
1299 2011-11-04  Levi Weintraub  <leviw@chromium.org>
1300
1301         Correct usage of LayoutUnits in RenderImage and SVGImage
1302         https://bugs.webkit.org/show_bug.cgi?id=71525
1303
1304         Reviewed by Darin Adler.
1305
1306         Correcting incorrect usage of LayoutUnits for image sizes that should be integers and fixing overloaded functions that
1307         should be using LayoutUnits.
1308
1309         No new tests -- no change in behavior.
1310
1311         * rendering/RenderImage.cpp:
1312         (WebCore::RenderImage::imageDimensionsChanged):
1313         (WebCore::RenderImage::paintIntoRect):
1314         (WebCore::RenderImage::nodeAtPoint):
1315         (WebCore::RenderImage::computeReplacedLogicalWidth):
1316         * rendering/RenderImage.h:
1317         * svg/graphics/SVGImage.cpp:
1318         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
1319
1320 2011-11-04  Adam Barth  <abarth@webkit.org>
1321
1322         Implement allow-popups for iframe@sandbox
1323         https://bugs.webkit.org/show_bug.cgi?id=66505
1324
1325         Reviewed by Darin Adler.
1326
1327         Enable allow-popups sandbox bit.  My previous patch attempted to
1328         forward the sandbox bits during setOpener, but that interacted poorly
1329         with out (internal) sandboxing of the initial document.  This patch
1330         forwards the bits during createWindow, which is more targeted to the
1331         case when a sandbox frame actually creates a new window.
1332
1333         * loader/FrameLoader.cpp:
1334         (WebCore::createWindow):
1335         * loader/PolicyChecker.cpp:
1336         (WebCore::PolicyChecker::checkNewWindowPolicy):
1337
1338 2011-11-04  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1339
1340         Remove initMediaStreamEvent method
1341         https://bugs.webkit.org/show_bug.cgi?id=71344
1342
1343         This method has been removed from the spec draft.
1344         http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamevent
1345
1346         Reviewed by Adam Barth.
1347
1348         No new tests. Removed method.
1349
1350         * mediastream/MediaStreamEvent.cpp:
1351         * mediastream/MediaStreamEvent.h:
1352         * mediastream/MediaStreamEvent.idl:
1353
1354 2011-11-04  Adam Barth  <abarth@webkit.org>
1355
1356         Anonymous CORS fetch for WebGL texture fails when there is no appropriate server response even for the same origin requests
1357         https://bugs.webkit.org/show_bug.cgi?id=71053
1358
1359         Reviewed by Darin Adler.
1360
1361         The crossorigin attribute should behave like XMLHttpRequest:
1362         same-origin images pass without and CORS headers, but CORS checks are
1363         performed for cross-origin loads.  This patch better aligns our
1364         behavior with Firefox, as discussed in the bug.
1365
1366         Test: http/tests/security/img-crossorigin-loads-same-origin.html
1367
1368         * loader/ImageLoader.cpp:
1369         (WebCore::ImageLoader::notifyFinished):
1370
1371 2011-11-04  Gaurav Shah  <gauravsh@chromium.org>
1372
1373         HTMLKeygenElement: Fix "keytype" handling in appendFormData.
1374         https://bugs.webkit.org/show_bug.cgi?id=70617
1375
1376         This fixes a bug introduced by http://trac.webkit.org/changeset/97658
1377         which causes all HTML Keygen elements with a keytype optional attribute
1378         to be considered as unsupported.
1379
1380         A regression test is included.
1381
1382         Reviewed by Darin Adler.
1383
1384         Test: http/tests/misc/submit-post-keygen.html
1385
1386         * html/HTMLKeygenElement.cpp:
1387
1388 2011-11-03  Adrienne Walker  <enne@google.com>
1389
1390         [chromium] Implement checkerboarding for missing layer tiles
1391         https://bugs.webkit.org/show_bug.cgi?id=69585
1392
1393         Reviewed by James Robinson.
1394
1395         For tiles that have no texture or haven't even been created yet,
1396         draw using the background color of the layer.
1397
1398         The only background color set is currently the non-composited content,
1399         and all other layers use transparent black by default.
1400
1401         * platform/graphics/chromium/LayerChromium.cpp:
1402         (WebCore::LayerChromium::pushPropertiesTo):
1403         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1404         (WebCore::NonCompositedContentHost::setBackgroundColor):
1405         * platform/graphics/chromium/NonCompositedContentHost.h:
1406         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1407         (WebCore::CCLayerImpl::setBackgroundColor):
1408         * platform/graphics/chromium/cc/CCLayerImpl.h:
1409         (WebCore::CCLayerImpl::backgroundColor):
1410         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1411         (WebCore::CCTiledLayerImpl::drawTiles):
1412
1413 2011-11-04  Nico Weber  <thakis@chromium.org>
1414
1415         [chromium] Remove most exit time destructors
1416         https://bugs.webkit.org/show_bug.cgi?id=71524
1417
1418         Do this by using the DEFINE_STATIC_LOCAL macro, which allocates things on the heaps and then leaks them.
1419
1420         Reviewed by Dimitri Glazkov.
1421
1422         No behavior change, so no new tests.
1423
1424         * platform/chromium/CursorChromium.cpp:
1425         (WebCore::pointerCursor):
1426         (WebCore::crossCursor):
1427         (WebCore::handCursor):
1428         (WebCore::iBeamCursor):
1429         (WebCore::waitCursor):
1430         (WebCore::helpCursor):
1431         (WebCore::eastResizeCursor):
1432         (WebCore::northResizeCursor):
1433         (WebCore::northEastResizeCursor):
1434         (WebCore::northWestResizeCursor):
1435         (WebCore::southResizeCursor):
1436         (WebCore::southEastResizeCursor):
1437         (WebCore::southWestResizeCursor):
1438         (WebCore::westResizeCursor):
1439         (WebCore::northSouthResizeCursor):
1440         (WebCore::eastWestResizeCursor):
1441         (WebCore::northEastSouthWestResizeCursor):
1442         (WebCore::northWestSouthEastResizeCursor):
1443         (WebCore::columnResizeCursor):
1444         (WebCore::rowResizeCursor):
1445         (WebCore::middlePanningCursor):
1446         (WebCore::eastPanningCursor):
1447         (WebCore::northPanningCursor):
1448         (WebCore::northEastPanningCursor):
1449         (WebCore::northWestPanningCursor):
1450         (WebCore::southPanningCursor):
1451         (WebCore::southEastPanningCursor):
1452         (WebCore::southWestPanningCursor):
1453         (WebCore::westPanningCursor):
1454         (WebCore::moveCursor):
1455         (WebCore::verticalTextCursor):
1456         (WebCore::cellCursor):
1457         (WebCore::contextMenuCursor):
1458         (WebCore::aliasCursor):
1459         (WebCore::progressCursor):
1460         (WebCore::noDropCursor):
1461         (WebCore::copyCursor):
1462         (WebCore::noneCursor):
1463         (WebCore::notAllowedCursor):
1464         (WebCore::zoomInCursor):
1465         (WebCore::zoomOutCursor):
1466         (WebCore::grabCursor):
1467         (WebCore::grabbingCursor):
1468         * platform/chromium/LanguageChromium.cpp:
1469         (WebCore::platformDefaultLanguage):
1470         * platform/chromium/MIMETypeRegistryChromium.cpp:
1471         (WebCore::dummyHashSet):
1472
1473 2011-11-03  Anders Carlsson  <andersca@apple.com>
1474
1475         Add NetscapePlugin::convertFromRootView
1476         https://bugs.webkit.org/show_bug.cgi?id=71526
1477
1478         Reviewed by Sam Weinig.
1479
1480         Export some symbols that WebKit2 needs.
1481
1482         * WebCore.exp.in:
1483
1484 2011-11-03  Adrienne Walker  <enne@google.com>
1485
1486         [chromium] Fix incorrect visibility/scissor rect for threaded compositing
1487         https://bugs.webkit.org/show_bug.cgi?id=70962
1488
1489         Reviewed by James Robinson.
1490
1491         In order to properly scroll independent of layout on the compositor
1492         thread, we have to apply the scroll to the right layer. Previously,
1493         the NonCompositedContentHost was the root of the graphics layer tree
1494         with all other layers underneath it. However, applying a scroll to
1495         that layer would also scroll the clip layer for the main frame
1496         underneath it, causing visibility issues.
1497
1498         This patch moves the NonCompositedHost to be a child of the
1499         RenderLayerCompositor's scroll layer. This was exposed on
1500         RenderLayerCompositor, because there's no other way to get to this
1501         layer in a way that doesn't make assumptions about the structure of
1502         the layers on a frame.
1503
1504         This also removes the hacks in calculateVisibleLayerRect and
1505         tilingTransform for scroll position.
1506
1507         Partially tested by existing compositor tests. Manually tested
1508         threaded compositing scrolling.
1509
1510         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1511         (WebCore::NonCompositedContentHost::setScrollLayer):
1512         (WebCore::NonCompositedContentHost::setViewport):
1513         (WebCore::NonCompositedContentHost::scrollLayer):
1514         * platform/graphics/chromium/NonCompositedContentHost.h:
1515         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1516         (WebCore::CCLayerTreeHost::create):
1517         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1518         (WebCore::CCLayerTreeHost::applyScrollDeltas):
1519         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1520         (WebCore::CCLayerTreeHost::setRootLayer):
1521         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1522         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
1523         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1524         (WebCore::findScrollLayer):
1525         (WebCore::CCLayerTreeHostImpl::setRootLayer):
1526         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
1527         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
1528         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1529         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1530         (WebCore::CCTiledLayerImpl::tilingTransform):
1531         * rendering/RenderLayerCompositor.cpp:
1532         (WebCore::RenderLayerCompositor::scrollLayer):
1533         * rendering/RenderLayerCompositor.h:
1534
1535 2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1536
1537         [Qt] Refactor and clean up the qmake build system
1538
1539         The qmake build system has accumulated a bit of cruft and redundancy
1540         over time. There's also a fairly tight coupling between how to build
1541         the various targets, and _what_ to build, making it harder to add new
1542         rules or sources. This patch aims to elevate these issues somewhat.
1543
1544         This is a short-list of the changes:
1545
1546           * The rules for how to build targets are now mostly contained as
1547             prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
1548             allows us to do pre- and post-processing of each project file,
1549             which helps to clean up the actual project files.
1550
1551           * Derived sources are no longer generated as a separate make-step
1552             but is part of each target's project file as a subdir. Makefile
1553             rules are used to ensure that we run make on the derived sources
1554             before running qmake on the actual target makefile. This makes
1555             it easier to keep a proper dependency between derived sources
1556             and the target.
1557
1558           * We use GNU make and the compiler to generate dependencies on
1559             UNIX-based systems running Qt 5. This allows us to lessen the
1560             need to run qmake, which should reduce compile time.
1561
1562           * WebKit2 is now build by default if building with Qt 5. It can
1563             be disabled by passing --no-webkit2 to build-webkit.
1564
1565         The result of these changes are hopefully a cleaner and easier
1566         build system to modify, and faster build times due to no longer
1567         running qmake on every single build. It's also a first step
1568         towards possibly generating the list of sources using another
1569         build system.
1570
1571         https://bugs.webkit.org/show_bug.cgi?id=71222
1572
1573         Reviewed by Simon Hausmann.
1574
1575         * DerivedSources.pri: Renamed from Source/WebCore/CodeGenerators.pri.
1576         * DerivedSources.pro: Removed.
1577         * Target.pri: Copied from Source/WebCore/WebCore.pro.
1578         * WebCore.pro:
1579
1580 2011-11-04  Tommy Widenflycht  <tommyw@google.com>
1581
1582         [chromium] MediaStream API: Fixing wrong path for PeerConnectionHandler.h in WebCore.gyp
1583         https://bugs.webkit.org/show_bug.cgi?id=71548
1584
1585         Reviewed by Tony Gentilcore.
1586
1587         * WebCore.gypi:
1588
1589 2011-11-04  Patrick Gansterer  <paroga@webkit.org>
1590
1591         Unreviewed CMake build fix for !ENABLE(SQL_DATABASE).
1592
1593         * CMakeLists.txt: Always compile the SQLite source files, since they are required for build.
1594
1595 2011-11-03  Ryosuke Niwa  <rniwa@webkit.org>
1596
1597         REGRESSION (r99076): Pasting into password fields is broken
1598         https://bugs.webkit.org/show_bug.cgi?id=71483
1599
1600         Reviewed by Darin Adler.
1601
1602         The bug was caused by plainText serializing secured (instead of original) text.
1603         Fixed the bug by adding new TextIterator behavior that serializes the original text
1604         and using it in ReplacementFragment::ReplacementFragment.
1605
1606         * editing/ReplaceSelectionCommand.cpp:
1607         (WebCore::ReplacementFragment::ReplacementFragment):
1608         * editing/TextIterator.cpp:
1609         (WebCore::TextIterator::TextIterator):
1610         (WebCore::TextIterator::emitText):
1611         * editing/TextIterator.h:
1612
1613 2011-11-03  Eric Carlson  <eric.carlson@apple.com>
1614
1615         Add TrackEvent
1616         https://bugs.webkit.org/show_bug.cgi?id=71178
1617
1618         Reviewed by Sam Weinig.
1619
1620         Test: fast/events/constructors/track-event-constructor.html
1621
1622         * CMakeLists.txt: Add new files for TrackEvent.
1623         * CodeGenerators.pri: Ditto.
1624         * DerivedSources.cpp: Ditto.
1625         * DerivedSources.make: Ditto.
1626         * GNUmakefile.am: Ditto.
1627         * GNUmakefile.list.am: Ditto.
1628         * WebCore.gypi: Ditto.
1629         * WebCore.pro: Ditto.
1630         * WebCore.xcodeproj/project.pbxproj: Ditto.
1631         * bindings/generic/EventConstructors.h: Ditto.
1632         * bindings/gobject/GNUmakefile.am: Ditto.
1633         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
1634         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1635
1636         * bindings/js/JSDictionary.cpp:
1637         (WebCore::JSDictionary::convertValue): Add method to convert to a Track.
1638         * bindings/js/JSDictionary.h:
1639
1640         * bindings/js/JSEventConstructors.cpp:  Add new files for TrackEvent.
1641
1642         * bindings/js/JSTrackCustom.cpp: Added. 
1643         (WebCore::toTrack): New, convert from a JSValue to a Track.
1644         (WebCore::toJS): New, return a JS wrapper for a Track.
1645         * bindings/js/JSTrackCustom.h: Added.
1646
1647         * bindings/js/JSTrackEventCustom.cpp: Added.
1648         (WebCore::JSTrackEvent::track): New, returns a TextEvent's 'track' attribute.
1649
1650         * bindings/v8/OptionsObject.cpp:
1651         (WebCore::OptionsObject::get): Returns RefPtr<TrackBase>.
1652
1653         * bindings/v8/custom/V8EventConstructors.cpp: Add Track initializing constructor.
1654
1655         * bindings/v8/custom/V8TrackEventCustom.cpp: Added.
1656         (WebCore::V8TrackEvent::trackAccessorGetter): New, returns a TextEvent's 'track' attribute.
1657
1658         * dom/EventFactory.in: Add TrackEvent.
1659
1660         * dom/EventNames.h: Add 'addtrack' event.
1661
1662         * html/TextTrack.cpp:
1663         (WebCore::TextTrack::TextTrack): Call new base class constructor.
1664         * html/TextTrack.h: Now derive from BaseTrack for the day we implement VideoTrack and AudioTrack.
1665
1666         * html/track/TrackBase.cpp: Added.
1667         (WebCore::TrackBase::TrackBase):
1668         (WebCore::TrackBase::~TrackBase):
1669         * html/track/TrackBase.h: Added.
1670         (WebCore::TrackBase::type): Return the track type.
1671
1672         * html/track/TrackEvent.cpp: Added.
1673         (WebCore::TrackEventInit::TrackEventInit):
1674         (WebCore::TrackEvent::TrackEvent):
1675         (WebCore::TrackEvent::~TrackEvent):
1676         (WebCore::TrackEvent::interfaceName):
1677         * html/track/TrackEvent.h: Added.
1678         (WebCore::TrackEvent::create):
1679         (WebCore::TrackEvent::isTrackEvent):
1680         (WebCore::TrackEvent::track):
1681         * html/track/TrackEvent.idl: Added.
1682
1683         * page/DOMWindow.idl: Add TrackEvent.
1684
1685 2011-11-03  Ben Wells  <benwells@chromium.org>
1686
1687         Optimize canvas fills / drawImage when covering entire canvas
1688         https://bugs.webkit.org/show_bug.cgi?id=70789
1689
1690         Reviewed by Stephen White.
1691
1692         If we're filling a rect or drawing an image, and it covers the entire canvas, we don't
1693         need to worry about clearing outside the area updated by the operation if we're in
1694         a composite mode that requires this (such as source-in, copy, etc.). In this case we
1695         can take the simple path through the code and save a clear (for copy) or a temporary
1696         image buffer (for the other modes).
1697
1698         No new tests - optimization, behaviour is unchanged and covered by existing tests.
1699
1700         * html/canvas/CanvasRenderingContext2D.cpp:
1701         (WebCore::CanvasRenderingContext2D::fillRect):
1702         (WebCore::CanvasRenderingContext2D::drawImage):
1703         (WebCore::CanvasRenderingContext2D::rectContainsCanvas):
1704         * html/canvas/CanvasRenderingContext2D.h:
1705
1706 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
1707
1708         De-virtualize JSObject::getPropertyNames
1709         https://bugs.webkit.org/show_bug.cgi?id=71306
1710
1711         Reviewed by Darin Adler.
1712
1713         No new tests.
1714
1715         Added getPropertyNames to the MethodTable, changed all the virtual 
1716         implementations of getPropertyNames to static ones, and replaced 
1717         all call sites with corresponding lookups in the MethodTable.
1718
1719         * bindings/js/JSDOMWindowCustom.cpp:
1720         (WebCore::JSDOMWindow::getPropertyNames):
1721         * bindings/js/JSDOMWindowShell.cpp:
1722         (WebCore::JSDOMWindowShell::getPropertyNames):
1723         * bindings/js/JSDOMWindowShell.h:
1724         * bindings/scripts/CodeGeneratorJS.pm:
1725         (GenerateHeader):
1726         * bridge/NP_jsobject.cpp:
1727         (_NPN_Enumerate):
1728         * bridge/qt/qt_runtime.cpp:
1729         (JSC::Bindings::convertValueToQVariantMap):
1730
1731 2011-11-02  Xiaomei Ji  <xji@chromium.org>
1732
1733         Enable ctrl-arrow move cursor by word in visual order in cr-win by command line flag.
1734         https://bugs.webkit.org/show_bug.cgi?id=71163
1735
1736         Reviewed by Ryosuke Niwa.
1737
1738         Add m_visualWordMovementEnabled page setting, trigger visual word movement
1739         function (instead of logical one) when it is set as true.
1740
1741         right|leftWordPosition() are tested in editing/selection/move-by-word-visually*
1742         by using --webkit-visual-word flag.
1743
1744         * editing/FrameSelection.cpp:
1745         (WebCore::FrameSelection::modifyMovingRight):
1746         (WebCore::FrameSelection::modifyMovingLeft):
1747         (WebCore::FrameSelection::visualWordMovementEnabled):
1748         * editing/FrameSelection.h:
1749         * page/Settings.cpp:
1750         (WebCore::Settings::Settings):
1751         * page/Settings.h:
1752         (WebCore::Settings::setVisualWordMovementEnabled):
1753         (WebCore::Settings::visualWordMovementEnabled):
1754
1755 2011-11-03  Levi Weintraub  <leviw@chromium.org>
1756
1757         Correct usage of LayoutUnits and integers in Table rendering classes
1758         https://bugs.webkit.org/show_bug.cgi?id=71500
1759
1760         Reviewed by Darin Adler.
1761
1762         Fixing the Table layout classes to operate on integers -- sub-pixel table layout breaks
1763         the spec. Meanwhile correcting the Table rendering classes themselves to still use
1764         LayoutUnits.
1765
1766         No new tests -- no change in behavior.
1767
1768         * rendering/AutoTableLayout.cpp: Reverting to operating on integers.
1769         (WebCore::AutoTableLayout::recalcColumn):
1770         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1771         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1772         (WebCore::AutoTableLayout::layout):
1773         * rendering/AutoTableLayout.h: Reverting to operating on integers.
1774         * rendering/FixedTableLayout.cpp: Ditto.
1775         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
1776         (WebCore::FixedTableLayout::layout):
1777         * rendering/RenderTable.h: Switching to LayoutUnits.
1778         (WebCore::RenderTable::getColumnPos):
1779         (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
1780         * rendering/RenderTableCell.cpp: Switching to LayoutUnits.
1781         (WebCore::RenderTableCell::updateLogicalWidth):
1782         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
1783         (WebCore::RenderTableCell::computeRectForRepaint):
1784         (WebCore::RenderTableCell::cellBaselinePosition):
1785         (WebCore::RenderTableCell::scrollbarsChanged):
1786         * rendering/RenderTableCell.h: Switching to LayoutUnits
1787         * rendering/RenderTableSection.cpp: Ditto.
1788         (WebCore::RenderTableSection::setCellLogicalWidths):
1789         (WebCore::RenderTableSection::layoutRows):
1790
1791 2011-11-03  James Robinson  <jamesr@chromium.org>
1792
1793         [chromium] Notify scheduler on SwapBuffers in threaded compositor mode
1794         https://bugs.webkit.org/show_bug.cgi?id=71381
1795
1796         Reviewed by Kenneth Russell.
1797
1798         * platform/graphics/chromium/cc/CCScheduler.cpp:
1799         (WebCore::CCScheduler::didSwapBuffers):
1800         * platform/graphics/chromium/cc/CCScheduler.h:
1801         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1802         (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
1803
1804 2011-11-03  Daniel Bates  <dbates@rim.com>
1805
1806         CMake: Add missing WebGL IDL file html/canvas/WebGLContextEvent.idl
1807
1808         Rubber-stamped by Martin Robinson
1809
1810         * CMakeLists.txt:
1811
1812 2011-11-03  Daniel Bates  <dbates@rim.com>
1813
1814         CMake: Only generate from WebGL IDLs when building with WebGL
1815         https://bugs.webkit.org/show_bug.cgi?id=71516
1816
1817         Reviewed by Martin Robinson.
1818
1819         * CMakeLists.txt:
1820
1821 2011-11-03  Erik Arvidsson  <arv@chromium.org>
1822
1823         Remove support for LegacyDefaultOptionalArguments
1824         https://bugs.webkit.org/show_bug.cgi?id=71489
1825
1826         Reviewed by Darin Adler.
1827
1828         This removes support for LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise].
1829         [RequiresAllArguments=Raise] is now the standard behavior so it would be a no op.
1830
1831         No new tests. Covered by existing tests.
1832
1833         * bindings/scripts/CodeGeneratorJS.pm:
1834         (GenerateArgumentsCountCheck): Check the "RequiresAllArguments" extended attribute and generate code
1835                                        that returns undefined if there are missing arguments.
1836         * bindings/scripts/CodeGeneratorV8.pm:
1837         (GenerateArgumentsCountCheck): Ditto.
1838         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1839         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): Add generated argument count checks.
1840         * bindings/scripts/test/JS/JSTestObj.cpp:
1841         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Ditto.
1842         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): Ditto.
1843         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): Ditto.
1844         (WebCore::jsTestObjPrototypeFunctionSerializedValue): Ditto.
1845         (WebCore::jsTestObjPrototypeFunctionIdbKey): Ditto.
1846         (WebCore::jsTestObjPrototypeFunctionOptionsObject): Ditto.
1847         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): Ditto.
1848         (WebCore::jsTestObjPrototypeFunctionAddEventListener): Ditto.
1849         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): Ditto.
1850         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): Ditto.
1851         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): Ditto.
1852         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): Ditto.
1853         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): Ditto.
1854         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): Ditto.
1855         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): Ditto.
1856         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): Ditto.
1857         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): Ditto.
1858         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): Ditto.
1859         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Ditto.
1860         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): Ditto.
1861         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Ditto.
1862         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): Ditto.
1863         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): Ditto.
1864         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): Ditto.
1865         * bindings/scripts/test/TestCallback.idl: Remove LegacyDefaultOptionalArguments.
1866         * bindings/scripts/test/TestMediaQueryListListener.idl: Ditto.
1867         * bindings/scripts/test/TestObj.idl: Remove LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise]
1868         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Remove LegacyDefaultOptionalArguments.
1869         (WebCore::TestMediaQueryListListenerInternal::methodCallback): Add generated argument count checks.
1870         * bindings/scripts/test/V8/V8TestObj.cpp:
1871         (WebCore::TestObjInternal::voidMethodWithArgsCallback): Ditto.
1872         (WebCore::TestObjInternal::intMethodWithArgsCallback): Ditto.
1873         (WebCore::TestObjInternal::objMethodWithArgsCallback): Ditto.
1874         (WebCore::TestObjInternal::serializedValueCallback): Ditto.
1875         (WebCore::TestObjInternal::idbKeyCallback): Ditto.
1876         (WebCore::TestObjInternal::optionsObjectCallback): Ditto.
1877         (WebCore::TestObjInternal::customArgsAndExceptionCallback): Ditto.
1878         (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): Ditto.
1879         (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): Ditto.
1880         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): Ditto.
1881         (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): Ditto.
1882         (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): Ditto.
1883         (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): Ditto.
1884         (WebCore::TestObjInternal::methodWithCallbackArgCallback): Ditto.
1885         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): Ditto.
1886         (WebCore::TestObjInternal::overloadedMethod1Callback): Ditto.
1887         (WebCore::TestObjInternal::overloadedMethod2Callback): Ditto.
1888         (WebCore::TestObjInternal::overloadedMethod3Callback): Ditto.
1889         (WebCore::TestObjInternal::overloadedMethod4Callback): Ditto.
1890         (WebCore::TestObjInternal::overloadedMethod5Callback): Ditto.
1891         (WebCore::TestObjInternal::overloadedMethod6Callback): Ditto.
1892         (WebCore::TestObjInternal::overloadedMethod7Callback): Ditto.
1893         (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): Ditto.
1894         (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): Ditto.
1895
1896 2011-11-03  Darin Adler  <darin@apple.com>
1897
1898         Change remaining callers of releaseRef to call leakRef
1899         https://bugs.webkit.org/show_bug.cgi?id=71422
1900
1901         Reviewed by Darin Fisher.
1902
1903         * bindings/objc/WebScriptObject.mm:
1904         (-[WebScriptObject _setImp:originRootObject:rootObject:]):
1905         (-[WebScriptObject _setOriginRootObject:andRootObject:]):
1906         * bridge/NP_jsobject.cpp:
1907         (_NPN_CreateScriptObject):
1908         * dom/QualifiedName.cpp:
1909         (WebCore::QNameComponentsTranslator::translate):
1910         * history/PageCache.cpp:
1911         (WebCore::PageCache::add):
1912         * html/HTMLTableElement.cpp:
1913         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
1914         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
1915         (WebCore::HTMLTableElement::addSharedGroupDecls):
1916         * platform/graphics/cg/ImageSourceCG.cpp:
1917         (WebCore::ImageSource::createFrameAtIndex):
1918         * platform/graphics/mac/FontCustomPlatformData.cpp:
1919         (WebCore::createFontCustomPlatformData):
1920         * platform/mac/ContextMenuMac.mm:
1921         (WebCore::ContextMenu::releasePlatformDescription):
1922         * platform/mac/SharedBufferMac.mm:
1923         (WebCore::SharedBuffer::createCFData):
1924         * rendering/RenderMediaControlsChromium.cpp:
1925         (WebCore::platformResource):
1926         Use leakRef.
1927
1928 2011-11-02  Darin Adler  <darin@apple.com>
1929
1930         Change remaining callers of releaseRef to call leakRef
1931         https://bugs.webkit.org/show_bug.cgi?id=71422
1932
1933         Reviewed by Darin Fisher.
1934
1935         * bindings/objc/WebScriptObject.mm:
1936         (-[WebScriptObject _setImp:originRootObject:rootObject:]):
1937         (-[WebScriptObject _setOriginRootObject:andRootObject:]):
1938         * bridge/NP_jsobject.cpp:
1939         (_NPN_CreateScriptObject):
1940         * dom/QualifiedName.cpp:
1941         (WebCore::QNameComponentsTranslator::translate):
1942         * history/PageCache.cpp:
1943         (WebCore::PageCache::add):
1944         * html/HTMLTableElement.cpp:
1945         (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
1946         (WebCore::HTMLTableElement::addSharedCellBordersDecl):
1947         (WebCore::HTMLTableElement::addSharedGroupDecls):
1948         * platform/graphics/cg/ImageSourceCG.cpp:
1949         (WebCore::ImageSource::createFrameAtIndex):
1950         * platform/graphics/mac/FontCustomPlatformData.cpp:
1951         (WebCore::createFontCustomPlatformData):
1952         * platform/mac/ContextMenuMac.mm:
1953         (WebCore::ContextMenu::releasePlatformDescription):
1954         * platform/mac/SharedBufferMac.mm:
1955         (WebCore::SharedBuffer::createCFData):
1956         * rendering/RenderMediaControlsChromium.cpp:
1957         (WebCore::platformResource):
1958         Use leakRef.
1959
1960 2011-11-03  Daniel Cheng  <dcheng@chromium.org>
1961
1962         [chromium] Remove unused clipboard methods
1963         https://bugs.webkit.org/show_bug.cgi?id=71512
1964
1965         Reviewed by Tony Chang.
1966
1967         * platform/chromium/PlatformSupport.h:
1968
1969 2011-11-03  Anna Cavender  <annacc@chromium.org>
1970
1971         Implement TextTrackCueList.
1972         https://bugs.webkit.org/show_bug.cgi?id=70451
1973
1974         Reviewed by Eric Carlson.
1975
1976         Test: media/track/track-text-track-cue-list.html
1977
1978         * html/LoadableTextTrack.cpp:
1979         (WebCore::LoadableTextTrack::newCuesAvailable):
1980             Update TextTrack's TextTrackCueList (m_cues) when new cues are discovered.
1981         * html/TextTrack.cpp:
1982         (WebCore::TextTrack::TextTrack):
1983             Create an empty TextTrackCueList upon TextTrack creation.
1984         (WebCore::TextTrack::cues):
1985             Return this TextTrack's list of cues.
1986
1987         Implement TextTrackCueList functionality:
1988         * html/TextTrackCueList.cpp:
1989         (WebCore::TextTrackCueList::TextTrackCueList):
1990         (WebCore::TextTrackCueList::length):
1991         (WebCore::TextTrackCueList::item):
1992         (WebCore::TextTrackCueList::getCueById):
1993         (WebCore::TextTrackCueList::add):
1994         (WebCore::TextTrackCueList::remove):
1995         (WebCore::TextTrackCueList::contains):
1996         * html/TextTrackCueList.h:
1997         (WebCore::TextTrackCueList::~TextTrackCueList):
1998
1999 2011-11-03  Joshua Bell  <jsbell@chromium.org>
2000
2001         IndexedDB result of deleting a record should be true or false
2002         https://bugs.webkit.org/show_bug.cgi?id=60197
2003
2004         Reviewed by David Levin.
2005
2006         IDBObjectStore.delete() was incorrectly firing an error if there
2007         was no record to remove. Match the spec, and return true/false
2008         as success values instead. Bring JSC binding implementation of
2009         SerializedScriptValue more in line with V8 version for methods
2010         called from IDB code.
2011
2012         Test: storage/indexeddb/mozilla/delete-result.html
2013
2014         * bindings/js/SerializedScriptValue.cpp:
2015         (WebCore::SerializedScriptValue::createFromWire):
2016         (WebCore::SerializedScriptValue::undefinedValue):
2017         (WebCore::SerializedScriptValue::booleanValue):
2018         * bindings/js/SerializedScriptValue.h:
2019         * bindings/v8/SerializedScriptValue.cpp:
2020         (WebCore::SerializedScriptValue::nullValue):
2021         (WebCore::SerializedScriptValue::undefinedValue):
2022         (WebCore::SerializedScriptValue::booleanValue):
2023         * bindings/v8/SerializedScriptValue.h:
2024         * storage/IDBObjectStoreBackendImpl.cpp:
2025         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2026
2027 2011-11-03  Adam Barth  <abarth@webkit.org>
2028
2029         Implement allow-popups for iframe@sandbox
2030         https://bugs.webkit.org/show_bug.cgi?id=66505
2031
2032         Reviewed by Eric Seidel.
2033
2034         There's been some discussion in the HTML working group about adding an
2035         allow-popups directive to the iframe sandbox.  Microsoft has added it
2036         to IE10 platform preview and is fairly adamant about this feature
2037         because it's needed by one or their products that's planning to use
2038         iframe sandbox.  Hixie says he'll add it to the spec once we implement
2039         it, so here's our implementation.  (See discussion in the W3C linked in
2040         the bug for more details.)
2041
2042         This patch lands most of the infrastructure for this feature, but it
2043         doesn't actually enable the feature.  I'll enable it in a follow-up
2044         patch.
2045
2046         Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
2047                http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
2048                http/tests/security/popup-allowed-by-sandbox-when-allowed.html
2049
2050         * html/HTMLIFrameElement.cpp:
2051         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2052         * loader/FrameLoader.h:
2053         (WebCore::FrameLoader::forceSandboxFlags):
2054         * loader/FrameLoaderTypes.h:
2055         * page/SecurityOrigin.cpp:
2056         (WebCore::SecurityOrigin::parseSandboxPolicy):
2057         * page/SecurityOrigin.h:
2058         (WebCore::SecurityOrigin::sandboxFlags):
2059         * svg/graphics/SVGImage.cpp:
2060         (WebCore::SVGImage::dataChanged):
2061
2062 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
2063
2064         De-virtualize JSObject::className
2065         https://bugs.webkit.org/show_bug.cgi?id=71428
2066
2067         Reviewed by Sam Weinig.
2068
2069         No new tests.
2070
2071         Added className to the MethodTable, changed all the virtual 
2072         implementations of className to static ones, and replaced 
2073         all call sites with corresponding lookups in the MethodTable.
2074
2075         * bindings/js/JSDOMWindowShell.cpp:
2076         (WebCore::JSDOMWindowShell::className):
2077         * bindings/js/JSDOMWindowShell.h:
2078         * bindings/js/JSInjectedScriptHostCustom.cpp:
2079         (WebCore::JSInjectedScriptHost::internalConstructorName):
2080         * bridge/testqtbindings.cpp:
2081         (Global::className):
2082
2083 2011-11-02  Jer Noble  <jer.noble@apple.com>
2084
2085         Add Clock class and platform-specific implementations.
2086         https://bugs.webkit.org/show_bug.cgi?id=71341
2087
2088         Reviewed by Sam Weinig.
2089
2090         No new tests; these classes will be used and tested by the MediaController feature.
2091
2092         Adds a abstract Clock class and two concrete, platform-specific subclasses.
2093
2094         Clock provides a basic interface for starting, stopping, and querying a generic timeline.
2095         PlatformClockCA implements this interface using a CoreAudio CAClock object, which uses
2096         the default audio device's hardware clock as a timing source. PlatformClockPOSIX 
2097         implements this interface using gettimeofday() as its timing source.
2098
2099         * WebCore.xcodeproj/project.pbxproj:
2100         * platform/Clock.cpp: Added.
2101         (Clock::create): Creates a platform-specific clock.
2102         * platform/Clock.h: Added.
2103         (WebCore::Clock::~Clock):
2104         (WebCore::Clock::Clock):
2105         * platform/mac/PlatformClockCA.cpp: Added.
2106         (PlatformClockCA::PlatformClockCA):
2107         (PlatformClockCA::~PlatformClockCA):
2108         (PlatformClockCA::setCurrentTime):
2109         (PlatformClockCA::currentTime):
2110         (PlatformClockCA::setPlayRate):
2111         (PlatformClockCA::PlatformClockCA::playRate):
2112         (PlatformClockCA::start):
2113         (PlatformClockCA::stop):
2114         * platform/mac/PlatformClockCA.h: Added.
2115         (WebCore::PlatformClockCA::isRunning):
2116         * platform/posix/PlatformClockPOSIX.cpp: Added.
2117         (timevalToFloat):
2118         (timevalDelta):
2119         (PlatformClockPOSIX::PlatformClockPOSIX):
2120         (PlatformClockPOSIX::setCurrentTime):
2121         (PlatformClockPOSIX::currentTime):
2122         (PlatformClockPOSIX::setPlayRate):
2123         (PlatformClockPOSIX::PlatformClockPOSIX::playRate):
2124         (PlatformClockPOSIX::start):
2125         (PlatformClockPOSIX::stop):
2126         (PlatformClockPOSIX::now):
2127         * platform/posix/PlatformClockPOSIX.h: Added.
2128         (WebCore::PlatformClockPOSIX::isRunning):
2129
2130 2011-11-03  Joshua Bell  <jsbell@chromium.org>
2131
2132         IndexedDB: Object stores not persisting between sessions
2133         https://bugs.webkit.org/show_bug.cgi?id=71313
2134
2135         Reviewed by Tony Chang.
2136
2137         Logic flaw introduced with r98806 skipped the loading of object stores
2138         during subsequent sessions.
2139
2140         * storage/IDBDatabaseBackendImpl.cpp:
2141         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
2142         (WebCore::IDBDatabaseBackendImpl::openInternal):
2143
2144 2011-11-03  Pavel Feldman  <pfeldman@google.com>
2145
2146         Web Inspector: fix heap profiler rendering and resize.
2147         https://bugs.webkit.org/show_bug.cgi?id=71484
2148
2149         Reviewed by Yury Semikhatsky.
2150
2151         * inspector/front-end/DetailedHeapshotView.js:
2152         (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
2153         (WebInspector.DetailedHeapshotView.prototype.wasShown):
2154         (WebInspector.DetailedHeapshotView.prototype._changeView):
2155         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
2156
2157 2011-11-03  Julien Chaffraix  <jchaffraix@webkit.org>
2158
2159         Stop abusing RenderTableSection::needsRecalcCells logic
2160         https://bugs.webkit.org/show_bug.cgi?id=71420
2161
2162         Reviewed by Darin Adler.
2163
2164         Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html
2165         and fast/table/row-height-recalc* (among others).
2166
2167         Cell recalculation is very expensive and should only be called when the section's structure
2168         changed in a way that requires a safe update to its structure (like removing a row as our
2169         column split may not be appropriate anymore).
2170
2171         The current code would abuse cell recalculation to actually reset the logical height on the
2172         RowStruct. This change makes it do the right thing.
2173
2174         * rendering/RenderTableCell.h:
2175         * rendering/RenderTableRow.h:
2176         Removed styleWillChange override as it was unneeded.
2177
2178         * rendering/RenderTableCell.cpp:
2179         (WebCore::RenderTableCell::styleDidChange):
2180         * rendering/RenderTableRow.cpp:
2181         (WebCore::RenderTableRow::styleDidChange):
2182         Move the code from styleWillChange to styleDidChange.
2183
2184         * rendering/RenderTableSection.cpp:
2185         (WebCore::RenderTableSection::rowLogicalHeightChanged):
2186         This function just reset the height on the |RowStruct| which is the
2187         only part of recalcCells that we would need.
2188
2189         (WebCore::RenderTableSection::rowIndexForRenderer):
2190         Added this function to find out which index a column has (strangely
2191         RenderTableRow does not have this information).
2192
2193         * rendering/RenderTableSection.h: Added the 2 previous functions.
2194
2195 2011-11-03  Andreas Kling  <kling@webkit.org>
2196
2197         CSSRuleList: Move rule orphaning from deleteRule() out to callers.
2198         https://bugs.webkit.org/show_bug.cgi?id=71470
2199
2200         Reviewed by Antti Koivisto.
2201
2202         Rule parenting is the responsibility of the owner rule (the rule containing
2203         the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
2204         into the (two) call sites.
2205
2206         * css/CSSMediaRule.cpp:
2207         (WebCore::CSSMediaRule::deleteRule):
2208         * css/CSSRuleList.cpp:
2209         (WebCore::CSSRuleList::deleteRule):
2210         * css/WebKitCSSKeyframesRule.cpp:
2211         (WebCore::WebKitCSSKeyframesRule::deleteRule):
2212
2213 2011-11-03  Pavel Feldman  <pfeldman@google.com>
2214
2215         Web Inspector: do not map scripts generated with document.write to the document resources.
2216         https://bugs.webkit.org/show_bug.cgi?id=71114
2217
2218         Reviewed by Yury Semikhatsky.
2219
2220         * inspector/front-end/DebuggerPresentationModel.js:
2221         (WebInspector.DebuggerPresentationModel):
2222         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2223         (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
2224         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
2225         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2226         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
2227         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
2228         (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
2229         (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
2230         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
2231         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
2232         * inspector/front-end/RawSourceCode.js:
2233         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
2234         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2235         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2236         * inspector/front-end/Script.js:
2237         (WebInspector.Script.prototype.editSource):
2238         (WebInspector.Script.prototype.isInlineScript):
2239
2240 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
2241
2242         [Qt] Remove Maemo specific code paths
2243         https://bugs.webkit.org/show_bug.cgi?id=71476
2244
2245         Reviewed by Kenneth Rohde Christiansen.
2246
2247         * WebCore.pri:
2248         * features.pri:
2249         * plugins/PluginPackage.cpp:
2250         (WebCore::PluginPackage::determineQuirks):
2251         * plugins/PluginView.cpp:
2252         (WebCore::PluginView::setValue):
2253         * plugins/PluginView.h:
2254         * plugins/qt/PluginViewQt.cpp:
2255         (WebCore::PluginView::updatePluginWidget):
2256         (WebCore::PluginView::paint):
2257         (WebCore::PluginView::platformGetValueStatic):
2258
2259 2011-11-03  Fady Samuel  <fsamuel@chromium.org>
2260
2261         Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
2262         https://bugs.webkit.org/show_bug.cgi?id=70609
2263
2264         Reviewed by Kenneth Rohde Christiansen.
2265
2266         Operations in computeViewportAttributes that are not a part of the spec: 
2267
2268         http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values
2269
2270         were moved into the functions restrictMinimumScaleFactorToViewportSize and
2271         restrictScaleFactorToInitialScaleIfNotUserScalable.
2272
2273         * WebCore.exp.in:
2274         * dom/ViewportArguments.cpp:
2275         (WebCore::computeViewportAttributes):
2276         (WebCore::restrictMinimumScaleFactorToViewportSize):
2277         (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
2278         * dom/ViewportArguments.h:
2279
2280 2011-11-03  Andreas Kling  <kling@webkit.org>
2281
2282         Unreviewed build fix, sigh.
2283
2284         * css/CSSFontFaceRule.h:
2285         * css/CSSMutableStyleDeclaration.h:
2286
2287 2011-11-03  Andreas Kling  <kling@webkit.org>
2288
2289         Unreviewed build fix, out-of-line StyleSheet::parentStyleSheet()
2290         again since there's a cycle in the includes between CSSRule/StyleSheet.
2291
2292         * css/StyleSheet.cpp:
2293         (WebCore::StyleSheet::parentStyleSheet):
2294         * css/StyleSheet.h:
2295
2296 2011-11-03  Andreas Kling  <kling@webkit.org>
2297
2298         Unreviewed build fix after r99185, removing forward-declaration
2299         of CSSRule since CSSRule.h is already included.
2300
2301         * css/StyleSheet.h:
2302
2303 2011-11-03  Andreas Kling  <kling@webkit.org>
2304
2305         CSSOM: Inline some trivial methods.
2306         https://bugs.webkit.org/show_bug.cgi?id=71468
2307
2308         Reviewed by Antti Koivisto.
2309
2310         * css/CSSFontFaceRule.cpp:
2311         * css/CSSFontFaceRule.h:
2312         (WebCore::CSSFontFaceRule::setDeclaration):
2313         * css/CSSStyleRule.cpp:
2314         * css/CSSStyleRule.h:
2315         (WebCore::CSSStyleRule::setDeclaration):
2316         * css/CSSStyleSheet.cpp:
2317         * css/CSSStyleSheet.h:
2318         (WebCore::CSSStyleSheet::ownerRule):
2319         * css/StyleSheet.cpp:
2320         * css/StyleSheet.h:
2321         (WebCore::StyleSheet::parentStyleSheet):
2322         * css/WebKitCSSKeyframesRule.cpp:
2323         * css/WebKitCSSKeyframesRule.h:
2324         (WebCore::WebKitCSSKeyframesRule::name):
2325         (WebCore::WebKitCSSKeyframesRule::length):
2326
2327 2011-11-03  Andreas Kling  <kling@webkit.org>
2328
2329         Devirtualize MediaList.
2330         https://bugs.webkit.org/show_bug.cgi?id=71464
2331
2332         Reviewed by Antti Koivisto.
2333
2334         * css/MediaList.h: Make the destructor non-virtual.
2335
2336 2011-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
2337
2338         Optimizing arithmetic composite filter to ARM-neon SIMD instruction set
2339         https://bugs.webkit.org/show_bug.cgi?id=65522
2340
2341         Reviewed by Dirk Schulze.
2342
2343         This patch continues the work of Felician Marton.
2344
2345         The arithmetic operation of feComposite SVG filter can be greatly enhanced
2346         by the ARM-NEON instruction set since we are able to calculate the pixel data
2347         for all four RGBA channels at the same time.
2348
2349         It won't affect the general behavior and existing tests will cover the changes.
2350
2351         * CMakeLists.txt:
2352         * GNUmakefile.list.am:
2353         * WebCore.gypi:
2354         * WebCore.pro:
2355         * WebCore.vcproj/WebCore.vcproj:
2356         * platform/graphics/filters/FEComposite.cpp:
2357         (WebCore::computeArithmeticPixels):
2358         (WebCore::arithmeticSoftware):
2359         (WebCore::FEComposite::platformArithmeticSoftware):
2360         (WebCore::FEComposite::platformApplySoftware):
2361         * platform/graphics/filters/FEComposite.h:
2362         * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Added.
2363         * platform/graphics/filters/arm/FECompositeArithmeticNEON.h: Added.
2364         (WebCore::FEComposite::platformArithmeticNeon):
2365
2366 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
2367
2368         [Qt] Add pageScaleFactor to the serialized history item
2369         https://bugs.webkit.org/show_bug.cgi?id=71463
2370
2371         Reviewed by Tor Arne Vestbø.
2372
2373         r75758 added the pageScaleFactor member, which we need to
2374         serialize.
2375
2376         * history/qt/HistoryItemQt.cpp:
2377         (WebCore::HistoryItem::restoreState):
2378         (WebCore::HistoryItem::saveState):
2379
2380 2011-11-03  Mike Lawther  <mikelawther@chromium.org>
2381
2382         Use createPrimitiveNumericValue function
2383         https://bugs.webkit.org/show_bug.cgi?id=71432
2384
2385         Reviewed by Andreas Kling.
2386
2387         No new tests - no change in functionality.
2388
2389         * css/CSSParser.cpp:
2390         (WebCore::CSSParser::parseWrapShapeRect):
2391         (WebCore::CSSParser::parseWrapShapeCircle):
2392         (WebCore::CSSParser::parseWrapShapeEllipse):
2393         (WebCore::CSSParser::parseWrapShapePolygon):
2394
2395 2011-11-03  Pavel Feldman  <pfeldman@google.com>
2396
2397         Not reviewed: win build fix. Assign autoDPI at all cases (breakage introduced in r99173).
2398
2399         * dom/ViewportArguments.cpp:
2400         (WebCore::computeViewportAttributes):
2401
2402 2011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2403
2404         Differentiate implicit viewport from that of the meta tag
2405         https://bugs.webkit.org/show_bug.cgi?id=71453
2406
2407         Reviewed by Simon Hausmann.
2408
2409         This is needed because of DPI adjustment taking place with the meta
2410         tag. This is to be avoided when no viewport meta tag is present.
2411
2412         * dom/Document.cpp:
2413         (WebCore::Document::processViewport):
2414         * dom/ViewportArguments.cpp:
2415         (WebCore::computeViewportAttributes):
2416         * dom/ViewportArguments.h:
2417         (WebCore::ViewportArguments::ViewportArguments):
2418         (WebCore::ViewportArguments::operator==):
2419
2420 2011-11-03  Andreas Kling  <kling@webkit.org>
2421
2422         Devirtualize CSSRule.
2423         https://bugs.webkit.org/show_bug.cgi?id=71382
2424
2425         Reviewed by Antti Koivisto.
2426
2427         Remove the virtual destructor from CSSRule, and reimplement RefCounted's deref()
2428         to invoke operator delete on the appropriate subclass type.
2429
2430         This removes the CSSRule vtable and shrinks each instance by one CPU word.
2431
2432         * css/CSSCharsetRule.h:
2433         * css/CSSFontFaceRule.h:
2434         * css/CSSMediaRule.h:
2435         * css/CSSPageRule.h:
2436         * css/CSSRegionStyleRule.h:
2437         * css/CSSRule.cpp:
2438         * css/CSSRule.h:
2439         (WebCore::CSSRule::deref):
2440         (WebCore::CSSRule::~CSSRule):
2441         * css/CSSStyleRule.h:
2442         * css/WebKitCSSKeyframeRule.h:
2443
2444             Devirtualize!
2445
2446         * css/CSSRule.cpp:
2447         (WebCore::CSSRule::destroy):
2448
2449             Added, invokes operator delete on the right subclass type.
2450
2451         * css/CSSImportRule.cpp:
2452         (WebCore::CSSImportRule::CSSImportRule):
2453         (WebCore::CSSImportRule::~CSSImportRule):
2454         (WebCore::CSSImportRule::requestStyleSheet):
2455         * css/CSSImportRule.h:
2456         (WebCore::CSSImportRule::ImportedStyleSheetClient::ImportedStyleSheetClient):
2457         (WebCore::CSSImportRule::ImportedStyleSheetClient::~ImportedStyleSheetClient):
2458         (WebCore::CSSImportRule::ImportedStyleSheetClient::setCSSStyleSheet):
2459
2460             Break out the inheritance from CachedStyleSheetClient into a member variable
2461             that simply redirects the setCSSStyleSheet() callback to the CSSImportRule.
2462
2463 2011-10-31  Hans Wennborg  <hans@chromium.org>
2464
2465         IndexedDB: Recycle cursor objects when calling continue()
2466         https://bugs.webkit.org/show_bug.cgi?id=71115
2467
2468         Reviewed by Darin Fisher.
2469
2470         The IndexedDB spec says that cursors should be recycled when calling
2471         continue(). Let the IDBRequest keep track of which cursor to return
2472         upon success, and have the cursor use a new callback:
2473         onSuccessWithContinuation() to signal that the continue was successful.
2474
2475         When we start using the new callback, the
2476         storage/indexeddb/cursor-inconsistency.html layout test will start
2477         passing.
2478
2479         * storage/IDBCallbacks.h:
2480         * storage/IDBCursorBackendImpl.cpp:
2481         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
2482         * storage/IDBRequest.cpp:
2483         (WebCore::IDBRequest::IDBRequest):
2484         (WebCore::IDBRequest::setCursor):
2485         (WebCore::IDBRequest::onSuccess):
2486         (WebCore::IDBRequest::onSuccessWithContinuation):
2487         * storage/IDBRequest.h:
2488
2489 2011-11-03  Pavel Feldman  <pfeldman@google.com>
2490
2491         Web Inspector: preserve script location for inline handlers.
2492         https://bugs.webkit.org/show_bug.cgi?id=71367
2493
2494         Makes eventHandler report position, not line number;
2495
2496         Reviewed by Yury Semikhatsky.
2497
2498         * bindings/js/CachedScriptSourceProvider.h:
2499         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2500         * bindings/js/JSLazyEventListener.cpp:
2501         (WebCore::JSLazyEventListener::JSLazyEventListener):
2502         (WebCore::JSLazyEventListener::initializeJSFunction):
2503         * bindings/js/JSLazyEventListener.h:
2504         (WebCore::JSLazyEventListener::create):
2505         * bindings/js/ScriptController.cpp:
2506         (WebCore::ScriptController::eventHandlerPosition):
2507         * bindings/js/ScriptController.h:
2508         * bindings/js/ScriptEventListener.cpp:
2509         (WebCore::createAttributeEventListener):
2510         * bindings/js/ScriptSourceProvider.h:
2511         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
2512         * bindings/js/StringSourceProvider.h:
2513         (WebCore::StringSourceProvider::create):
2514         (WebCore::StringSourceProvider::StringSourceProvider):
2515         (WebCore::makeSource):
2516
2517 2011-11-03  Alexander Pavlov  <apavlov@chromium.org>
2518
2519         Web Inspector: [Styles] Do not check isEditingAnyField in StylesSidebarPane._createNewRule
2520         https://bugs.webkit.org/show_bug.cgi?id=71217
2521
2522         Reviewed by Yury Semikhatsky.
2523
2524         * inspector/front-end/StylesSidebarPane.js:
2525         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
2526
2527 2011-11-03  Balazs Kelemen  <kbalazs@webkit.org>
2528
2529         [Qt] X11 plugins need to be reworked for Qt5
2530         https://bugs.webkit.org/show_bug.cgi?id=70023
2531
2532         Reviewed by Simon Hausmann.
2533
2534         Disable X11 plugins with Qt5.
2535         * features.pri:
2536
2537 2011-11-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2538
2539         Unreviewed, rolling out r99138.
2540         http://trac.webkit.org/changeset/99138
2541         https://bugs.webkit.org/show_bug.cgi?id=71455
2542
2543         It made 200+ tests flakey on SL and on Qt (Requested by Ossy
2544         on #webkit).
2545
2546         * html/HTMLIFrameElement.cpp:
2547         (WebCore::parseSandboxAttribute):
2548         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2549         * loader/FrameLoader.cpp:
2550         (WebCore::FrameLoader::setOpener):
2551         (WebCore::createWindow):
2552         * loader/FrameLoader.h:
2553         (WebCore::FrameLoader::setForcedSandboxFlags):
2554         * loader/FrameLoaderTypes.h:
2555         * loader/PolicyChecker.cpp:
2556         (WebCore::PolicyChecker::checkNewWindowPolicy):
2557         * page/SecurityOrigin.cpp:
2558         * page/SecurityOrigin.h:
2559         * svg/graphics/SVGImage.cpp:
2560         (WebCore::SVGImage::dataChanged):
2561
2562 2011-11-03  Kentaro Hara  <haraken@chromium.org>
2563
2564         Fixed wrong implementation of doubleValue % 2^{64}.
2565         https://bugs.webkit.org/show_bug.cgi?id=67980
2566
2567         Reviewed by Hajime Morita.
2568
2569         fast/events/constructors/progress-event-constructor.html was failing
2570         because of the wrong implementation of conversion from an ECMAScript value
2571         to an IDL unsigned long long value (Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long).
2572         In particular, the calculation of doubleValue % 2^{64} was wrong.
2573         This patch implemented it correctly in doubleToInteger() in wtf/MathExtras.h.
2574
2575         * bindings/js/JSDictionary.cpp:
2576         (WebCore::JSDictionary::convertValue): Uses doubleToInteger().
2577         * bindings/v8/OptionsObject.cpp:
2578         (WebCore::OptionsObject::getKeyValue): Ditto.
2579
2580 2011-11-03  Alexander Pavlov  <apavlov@chromium.org>
2581
2582         Web Inspector: Introduce SuggestBox for TextPrompt
2583         https://bugs.webkit.org/show_bug.cgi?id=71288
2584
2585         Reviewed by Pavel Feldman.
2586
2587         Drive-by fix for a regression where clicking in the Database query view did not focus the prompt.
2588
2589         * WebCore.gypi:
2590         * WebCore.vcproj/WebCore.vcproj:
2591         * inspector/front-end/ConsoleView.js:
2592         (WebInspector.ConsoleView):
2593         (WebInspector.ConsoleView.prototype.completions):
2594         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
2595         (WebInspector.ConsoleView.prototype._completions):
2596         (WebInspector.ConsoleView.prototype._reportCompletions):
2597         * inspector/front-end/DatabaseQueryView.js:
2598         (WebInspector.DatabaseQueryView):
2599         (WebInspector.DatabaseQueryView.prototype.afterShow):
2600         (WebInspector.DatabaseQueryView.prototype.completions):
2601         (WebInspector.DatabaseQueryView.prototype._selectStart.moveBackIfOutside):
2602         (WebInspector.DatabaseQueryView.prototype._selectStart):
2603         (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
2604         (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
2605         (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
2606         * inspector/front-end/ElementsPanel.js:
2607         * inspector/front-end/Popover.js:
2608         (WebInspector.Popover):
2609         (WebInspector.Popover.prototype._positionElement):
2610         * inspector/front-end/StylesSidebarPane.js:
2611         (WebInspector.StylePropertyTreeElement.prototype):
2612         ():
2613         * inspector/front-end/TextPrompt.js:
2614         (WebInspector.TextPrompt):
2615         (WebInspector.TextPrompt.prototype.setSuggestForceable):
2616         (WebInspector.TextPrompt.prototype._attachInternal):
2617         (WebInspector.TextPrompt.prototype._removeFromElement):
2618         (WebInspector.TextPrompt.prototype.defaultKeyHandler):
2619         (WebInspector.TextPrompt.prototype.onKeyDown):
2620         (WebInspector.TextPrompt.prototype.acceptAutoComplete):
2621         (WebInspector.TextPrompt.prototype.autoCompleteSoon):
2622         (WebInspector.TextPrompt.prototype.complete):
2623         (WebInspector.TextPrompt.prototype._completionsReady):
2624         (WebInspector.TextPrompt.prototype.applySuggestion):
2625         (WebInspector.TextPrompt.prototype.acceptSuggestion):
2626         (WebInspector.TextPrompt.prototype.isSuggestBoxVisible):
2627         (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
2628         (WebInspector.TextPrompt.prototype.tabKeyPressed):
2629         (WebInspector.TextPrompt.prototype.enterKeyPressed):
2630         (WebInspector.TextPrompt.prototype.upKeyPressed):
2631         (WebInspector.TextPrompt.prototype.downKeyPressed):
2632         (WebInspector.TextPrompt.SuggestBoxConfig):
2633         (WebInspector.TextPromptWithHistory):
2634         (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
2635         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
2636         (WebInspector.TextPrompt.SuggestBox):
2637         (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
2638         (WebInspector.TextPrompt.SuggestBox.prototype.get hasSelection):
2639         (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
2640         (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
2641         (WebInspector.TextPrompt.SuggestBox.prototype._onboxmousedown):
2642         (WebInspector.TextPrompt.SuggestBox.prototype.hide):
2643         (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
2644         (WebInspector.TextPrompt.SuggestBox.prototype._applySuggestion):
2645         (WebInspector.TextPrompt.SuggestBox.prototype.acceptSuggestion):
2646         (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
2647         (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
2648         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestionsSoon):
2649         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
2650         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
2651         (WebInspector.TextPrompt.SuggestBox.prototype._createItemElement):
2652         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
2653         (WebInspector.TextPrompt.SuggestBox.prototype._updateSelection):
2654         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
2655         (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
2656         (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
2657         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2658         (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
2659         (WebInspector.TextPrompt.SuggestBox.prototype.spaceKeyPressed):
2660         * inspector/front-end/WebKit.qrc:
2661         * inspector/front-end/inspector.css:
2662         (.search-view .search-panel):
2663         (#search-results-pane-file-based .search-match .search-match-content):
2664         (.custom-popup-horizontal-scroll ::-webkit-scrollbar, .custom-popup-vertical-scroll ::-webkit-scrollbar):
2665         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-corner, .custom-popup-vertical-scroll ::-webkit-scrollbar-corner):
2666         (.custom-popup-horizontal-scroll ::-webkit-resizer, .custom-popup-vertical-scroll ::-webkit-resizer):
2667         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-button, .custom-popup-vertical-scroll ::-webkit-scrollbar-button):
2668         (.custom-popup-horizontal-scroll ::-webkit-scrollbar:horizontal:corner-present):
2669         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal):
2670         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:hover):
2671         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:active):
2672         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:start):
2673         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end):
2674         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end:corner-present):
2675         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:decrement):
2676         (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:increment):
2677         (.custom-popup-vertical-scroll ::-webkit-scrollbar:vertical:corner-present):
2678         (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical):
2679         (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:hover):
2680         (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:active):
2681         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:start):
2682         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end):
2683         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end:corner-present):
2684         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:decrement):
2685         (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
2686         * inspector/front-end/popover.css:
2687         (.popover.right-bottom-arrow .arrow):
2688         * inspector/front-end/textPrompt.css: Added.
2689         (.suggest-box):
2690         (.suggest-box.visible):
2691         (.suggest-box .container):
2692         (.suggest-box-content-item):
2693         (.suggest-box-content-item .prefix):
2694         (.suggest-box-content-item.selected):
2695         (.suggest-box-content-item:hover:not(.selected)):
2696         * inspector/front-end/utilities.js:
2697         (setupPrototypeUtilities.Element.prototype.boxInWindow):
2698
2699 2011-11-03  Devdatta Deshpande  <webkit.devdatta@gmail.com>
2700
2701         REGRESSION (r94132): broke fast/loader/location-port.html on GTK
2702         https://bugs.webkit.org/show_bug.cgi?id=67277
2703
2704         Reviewed by Adam Barth.
2705
2706         If port is 0, SoupURI does not have an explicitly specified port. Due
2707         to this port value is ignored in SoupURI. Hence, an extra check is
2708         required to restore the port.
2709
2710         Test: LayoutTests/fast/loader/location-port.html
2711
2712         * platform/network/soup/ResourceRequestSoup.cpp:
2713         (WebCore::ResourceRequest::updateFromSoupMessage):
2714
2715 2011-11-03  Joseph Pecoraro  <pecoraro@apple.com>
2716
2717         Web Inspector: Allow the toolbar background to be transparent on mac platforms when remote
2718         https://bugs.webkit.org/show_bug.cgi?id=71437
2719
2720         Reviewed by Yury Semikhatsky.
2721
2722         * inspector/front-end/inspector.css:
2723         (body.detached.platform-mac-snowleopard #toolbar):
2724
2725 2011-11-02  Adam Barth  <abarth@webkit.org>
2726
2727         CSP should handle empty URLs as agreed at TPAC
2728         https://bugs.webkit.org/show_bug.cgi?id=71426
2729
2730         Reviewed by Eric Seidel.
2731
2732         It was somewhat unclear how CSP should treat plugins that lacked a URL
2733         because most of the CSP rules are URL-based.  At TPAC, we decided to
2734         treat "empty" URLs as if there were the URL of the document.  That
2735         means you can use plugins with no URL if you've included 'self' in
2736         object-src, but you can also block them by using 'none' as your
2737         object-src.
2738
2739         Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
2740                http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
2741                http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
2742                http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
2743
2744         * page/ContentSecurityPolicy.cpp:
2745         (WebCore::CSPDirective::CSPDirective):
2746         (WebCore::CSPDirective::allows):
2747         (WebCore::ContentSecurityPolicy::createCSPDirective):
2748
2749 2011-11-02  Adam Barth  <abarth@webkit.org>
2750
2751         Implement allow-popups for iframe@sandbox
2752         https://bugs.webkit.org/show_bug.cgi?id=66505
2753
2754         Reviewed by Eric Seidel.
2755
2756         There's been some discussion in the HTML working group about adding an
2757         allow-popups directive to the iframe sandbox.  Microsoft has added it
2758         to IE10 platform preview and is fairly adamant about this feature
2759         because it's needed by one or their products that's planning to use
2760         iframe sandbox.  Hixie says he'll add it to the spec once we implement
2761         it, so here's our implementation.  (See discussion in the W3C linked in
2762         the bug for more details.)
2763
2764         Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
2765                http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
2766                http/tests/security/popup-allowed-by-sandbox-when-allowed.html
2767
2768         * html/HTMLIFrameElement.cpp:
2769         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2770         * loader/FrameLoader.cpp:
2771         (WebCore::FrameLoader::setOpener):
2772         (WebCore::createWindow):
2773         * loader/FrameLoader.h:
2774         (WebCore::FrameLoader::forceSandboxFlags):
2775         * loader/FrameLoaderTypes.h:
2776         * loader/PolicyChecker.cpp:
2777         (WebCore::PolicyChecker::checkNewWindowPolicy):
2778         * page/SecurityOrigin.cpp:
2779         (WebCore::SecurityOrigin::parseSandboxPolicy):
2780         * page/SecurityOrigin.h:
2781         (WebCore::SecurityOrigin::sandboxFlags):
2782         * svg/graphics/SVGImage.cpp:
2783         (WebCore::SVGImage::dataChanged):
2784
2785 2011-11-02  Sam Weinig  <sam@webkit.org>
2786
2787         Remove the ability to generate custom lookupGetter/lookupSetter functions,
2788         now that they can not be overridden 
2789
2790         Reviewed by Adam Roben.
2791
2792         * bindings/scripts/CodeGeneratorJS.pm:
2793         (GenerateHeader):
2794
2795 2011-11-02  Sam Weinig  <sam@webkit.org>
2796
2797         Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)
2798
2799         Reviewed by Adam Roben.
2800
2801         * bindings/js/JSDOMWindowShell.cpp:
2802         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
2803         Since we are proxying to the window, we need to pass it as the this object,
2804         not the shell.
2805
2806 2011-11-02  Erik Arvidsson  <arv@chromium.org>
2807
2808         Remove LegacyDefaultOptionalArguments flag from storage IDL files
2809         https://bugs.webkit.org/show_bug.cgi?id=65744
2810
2811         Reviewed by Adam Barth.
2812
2813         Test: storage/domstorage/localstorage/missing-arguments.html
2814
2815         * storage/DatabaseCallback.idl:
2816         * storage/IDBRequest.idl:
2817         * storage/IDBTransaction.idl:
2818         * storage/SQLResultSetRowList.idl:
2819         * storage/SQLStatementCallback.idl:
2820         * storage/SQLStatementErrorCallback.idl:
2821         * storage/SQLTransaction.idl:
2822         * storage/SQLTransactionCallback.idl:
2823         * storage/SQLTransactionErrorCallback.idl:
2824         * storage/SQLTransactionSync.idl:
2825         * storage/SQLTransactionSyncCallback.idl:
2826         * storage/Storage.idl:
2827         * storage/StorageInfo.idl:
2828         * storage/StorageInfoErrorCallback.idl:
2829         * storage/StorageInfoQuotaCallback.idl:
2830         * storage/StorageInfoUsageCallback.idl:
2831
2832 2011-11-02  Adam Klein  <adamk@chromium.org>
2833
2834         Replace usage of StringImpl with String where possible in CharacterData and Text
2835         https://bugs.webkit.org/show_bug.cgi?id=71383
2836
2837         Reviewed by Darin Adler.
2838
2839         Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
2840         of String with StringImpl. I've done more than what he asked in this
2841         patch, the biggest change being that CharacterData now holds a String
2842         instead of a RefPtr<StringImpl>.
2843
2844         No new tests, as this should have no effect on behavior.
2845
2846         * dom/CharacterData.cpp:
2847         (WebCore::CharacterData::setData):
2848         (WebCore::CharacterData::substringData):
2849         (WebCore::CharacterData::parserAppendData):
2850         (WebCore::CharacterData::appendData):
2851         (WebCore::CharacterData::insertData):
2852         (WebCore::CharacterData::deleteData):
2853         (WebCore::CharacterData::replaceData):
2854         (WebCore::CharacterData::containsOnlyWhitespace):
2855         (WebCore::CharacterData::setDataAndUpdate):
2856         (WebCore::CharacterData::updateRenderer):
2857         (WebCore::CharacterData::dispatchModifiedEvent):
2858         * dom/CharacterData.h:
2859         (WebCore::CharacterData::length):
2860         (WebCore::CharacterData::dataImpl):
2861         (WebCore::CharacterData::CharacterData):
2862         (WebCore::CharacterData::setDataWithoutUpdate):
2863         * dom/Text.cpp:
2864         (WebCore::Text::splitText):
2865
2866 2011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
2867
2868         De-virtualize JSObject::getOwnPropertyNames
2869         https://bugs.webkit.org/show_bug.cgi?id=71307
2870
2871         Reviewed by Darin Adler.
2872
2873         No new tests.
2874
2875         Added getOwnPropertyNames to the MethodTable, changed all the virtual 
2876         implementations of getOwnPropertyNames to static ones, and replaced 
2877         all call sites with corresponding lookups in the MethodTable.
2878
2879         * WebCore.exp.in:
2880         * bindings/js/JSDOMStringMapCustom.cpp:
2881         (WebCore::JSDOMStringMap::getOwnPropertyNames):
2882         * bindings/js/JSDOMWindowCustom.cpp:
2883         (WebCore::JSDOMWindow::getOwnPropertyNames):
2884         * bindings/js/JSDOMWindowShell.cpp:
2885         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
2886         * bindings/js/JSDOMWindowShell.h:
2887         * bindings/js/JSHistoryCustom.cpp:
2888         (WebCore::JSHistory::getOwnPropertyNames):
2889         * bindings/js/JSLocationCustom.cpp:
2890         (WebCore::JSLocation::getOwnPropertyNames):
2891         * bindings/js/JSStorageCustom.cpp:
2892         (WebCore::JSStorage::getOwnPropertyNames):
2893         * bindings/js/ScriptValue.cpp:
2894         (WebCore::jsToInspectorValue):
2895         * bindings/js/SerializedScriptValue.cpp:
2896         (WebCore::CloneSerializer::serialize):
2897         * bindings/scripts/CodeGeneratorJS.pm:
2898         (GenerateHeader):
2899         (GenerateImplementation):
2900         * bridge/qt/qt_runtime.cpp:
2901         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
2902         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
2903         * bridge/qt/qt_runtime.h:
2904         * bridge/runtime_array.cpp:
2905         (JSC::RuntimeArray::getOwnPropertyNames):
2906         * bridge/runtime_array.h:
2907         * bridge/runtime_object.cpp:
2908         (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
2909         * bridge/runtime_object.h:
2910
2911 2011-11-02  Tony Chang  <tony@chromium.org>
2912
2913         force inline flexitems to be wrapped in anonymous blocks
2914         https://bugs.webkit.org/show_bug.cgi?id=71314
2915
2916         Reviewed by Ojan Vafai.
2917
2918         If there is a mix of inline and block items, all the inline items were already getting wrapped
2919         (see RenderBlock::addChildIgnoringAnonymousColumnBlocks).  However, if there are only inline items,
2920         we need to force them into an anonymous block.
2921
2922         There are still lots of bugs because we're trying to read style values from the anonymous block,
2923         but this at least causes layout to be called on all the render objects.
2924
2925         Tests: css3/flexbox/anonymous-block.html
2926
2927         * rendering/RenderFlexibleBox.cpp:
2928         (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
2929         (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
2930         (WebCore::RenderFlexibleBox::RenderFlexibleBox): force children into blocks
2931
2932 2011-11-02  Dean Jackson  <dino@apple.com>
2933
2934         Add ENABLE_CSS_SHADERS flag
2935         https://bugs.webkit.org/show_bug.cgi?id=71394
2936
2937         Reviewed by Sam Weinig.
2938
2939         * Configurations/FeatureDefines.xcconfig:
2940
2941 2011-11-02  Emil A Eklund  <eae@chromium.org>
2942
2943         Switch RenderText to new layout types
2944         https://bugs.webkit.org/show_bug.cgi?id=71389
2945
2946         Reviewed by Eric Seidel.
2947
2948         Switch RenderText methods (and overriden methods in related classes) to
2949         LayoutRect/LayoutUnit.
2950
2951         No new tests.
2952
2953         * rendering/RenderText.cpp:
2954         (WebCore::RenderText::absoluteRectsForRange):
2955         (WebCore::RenderText::linesBoundingBox):
2956         (WebCore::RenderText::linesVisualOverflowBoundingBox):
2957         * rendering/RenderText.h:
2958         Change RenderText to expose its bounding box, selection and caret rects
2959         as LayoutRects.
2960         
2961         * rendering/svg/RenderSVGInlineText.cpp:
2962         (WebCore::RenderSVGInlineText::localCaretRect):
2963         * rendering/svg/RenderSVGInlineText.h:
2964         Change localCaretRect to return a LayoutRect.
2965
2966 2011-11-02  Levi Weintraub  <leviw@chromium.org>
2967
2968         Infinite recursion in RenderSVGResourceContainer::markAllClientsForInvalidation
2969         https://bugs.webkit.org/show_bug.cgi?id=71384
2970
2971         Reviewed by Darin Adler.
2972
2973         Adding a reentrancy guard to RenderSVGResourceContainer to prevent infinite recursion when
2974         resources reference one another and share ids.
2975
2976         Test: svg/custom/resource-invalidation-crash.svg
2977
2978         * rendering/svg/RenderSVGResourceContainer.cpp:
2979         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
2980         (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
2981         * rendering/svg/RenderSVGResourceContainer.h:
2982
2983 2011-11-02  Jon Lee  <jonlee@apple.com>
2984
2985         Expand DragController to provide more information about the dragging session
2986         https://bugs.webkit.org/show_bug.cgi?id=71324
2987         <rdar://problem/10379175>
2988
2989         Reviewed by Darin Adler.
2990
2991         * WebCore.xcodeproj/project.pbxproj:
2992         * page/DragController.cpp:
2993         (WebCore::DragController::dragEntered):
2994         (WebCore::DragController::dragUpdated):
2995         (WebCore::DragController::dragEnteredOrUpdated):
2996         (WebCore::DragController::tryDocumentDrag): In addition to determining the
2997         drag operation, DragSession is updated with data regarding whether the mouse
2998         is over a file input, and the number of items that would be accepted based on
2999         the mouse's location.
3000         * page/DragController.h:
3001         * page/DragSession.h: Added.
3002         (WebCore::DragSession::DragSession): Keep track of current operation, whether
3003         the mouse is over a file input element, and how many files would be accepted if
3004         dropped.
3005         * platform/DragData.h: Added numberOfFiles()
3006         * platform/chromium/DragDataChromium.cpp:
3007         (WebCore::DragData::numberOfFiles):
3008         * platform/efl/DragDataEfl.cpp:
3009         (WebCore::DragData::numberOfFiles):
3010         * platform/gtk/DragDataGtk.cpp:
3011         (WebCore::DragData::numberOfFiles):
3012         * platform/mac/DragDataMac.mm:
3013         (WebCore::DragData::numberOfFiles):
3014         * platform/qt/DragDataQt.cpp:
3015         (WebCore::DragData::numberOfFiles):
3016         * platform/win/DragDataWin.cpp:
3017         (WebCore::DragData::numberOfFiles):
3018         * platform/wince/DragDataWinCE.cpp:
3019         (WebCore::DragData::numberOfFiles):
3020         * platform/wx/DragDataWx.cpp:
3021         (WebCore::DragData::numberOfFiles):
3022
3023 2011-11-02  Alexey Proskuryakov  <ap@apple.com>
3024
3025         Emedded PDFs cannot be opened from Web archives
3026         https://bugs.webkit.org/show_bug.cgi?id=70954
3027
3028         Reviewed by Oliver Hunt.
3029
3030         BuiltInPDFPlugin doesn't have access to original ResourceResponse and has to re-create it
3031         It doesn't seem to be possible to create an NSURLResponse with a non-null HTTP status code,
3032         and NetscapePlugInStreamLoader becomes unhappy.
3033
3034         * loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
3035         Allow 0 status code, it's not a real error to have one in response.
3036
3037 2011-10-31  Nat Duca  <nduca@chromium.org>
3038
3039         [chromium] Slow down commit and draw rate based on visibility and draw completion
3040         https://bugs.webkit.org/show_bug.cgi?id=71267
3041
3042         Reviewed by James Robinson.
3043
3044         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3045         (WebCore::CCLayerTreeHost::visible):
3046         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3047         (WebCore::CCLayerTreeHostImpl::visible):
3048         * platform/graphics/chromium/cc/CCScheduler.cpp:
3049         (WebCore::CCScheduler::beginFrame):
3050         (WebCore::CCScheduler::processScheduledActions):
3051         * platform/graphics/chromium/cc/CCScheduler.h:
3052         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3053         (WebCore::CCSchedulerStateMachine::nextAction):
3054         (WebCore::CCSchedulerStateMachine::updateState):
3055         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
3056         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3057         (WebCore::CCThreadProxy::visible):
3058         * platform/graphics/chromium/cc/CCThreadProxy.h:
3059
3060 2011-11-02  Dan Bernstein  <mitz@apple.com>
3061
3062         <rdar://problem/10336700> Add API to get rendered text image without having to select it
3063         https://bugs.webkit.org/show_bug.cgi?id=71407
3064
3065         Reviewed by Simon Fraser.
3066
3067         Test: TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
3068
3069         * bindings/objc/DOM.mm:
3070         (-[DOMRange renderedImageForcingBlackText:]): Added.
3071         * bindings/objc/DOMPrivate.h:
3072         * page/Frame.h:
3073         * page/mac/FrameMac.mm:
3074         (WebCore::Frame::rangeImage): Added. Sets the selection in the RenderView (only) based on the
3075         given range and gets a selection-only rendering of the view, then restores the selection.
3076         * rendering/RenderView.cpp:
3077         (WebCore::RenderView::setSelection): Skip all invalidation if the repaint behavior is RepaintNothing.
3078         (WebCore::RenderView::getSelection): Added this getter.
3079         * rendering/RenderView.h:
3080
3081 2011-11-02  Tom Sepez  <tsepez@chromium.org>
3082
3083         XSSAuditor is silent
3084         https://bugs.webkit.org/show_bug.cgi?id=70973
3085
3086         Reviewed by Adam Barth.
3087
3088         Test: http/tests/security/xssAuditor/script-tag-with-callbacks.html
3089
3090         * html/parser/XSSAuditor.cpp:
3091         (WebCore::XSSAuditor::XSSAuditor):
3092         (WebCore::XSSAuditor::filterToken):
3093         * html/parser/XSSAuditor.h:
3094         * loader/EmptyClients.h:
3095         (WebCore::EmptyFrameLoaderClient::didDetectXSS):
3096         * loader/FrameLoaderClient.h:
3097
3098 2011-11-02  Simon Fraser  <simon.fraser@apple.com>
3099
3100         Assertion in FontCache::getCachedFontData() when painting into composited layer
3101         https://bugs.webkit.org/show_bug.cgi?id=71377
3102
3103         Reviewed by Anders Carlsson.
3104
3105         Add one of the mysterious FontCachePurgePreventers on the stack when painting
3106         compositing layers, just as FrameView::paintContents does, to fix an assertion
3107         seen on the bots with some layout tests.
3108
3109         * rendering/RenderLayerBacking.cpp:
3110         (WebCore::RenderLayerBacking::paintIntoLayer):
3111
3112 2011-11-02  Tommy Widenflycht  <tommyw@google.com>
3113
3114         MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream
3115         https://bugs.webkit.org/show_bug.cgi?id=70896
3116
3117         Reviewed by Adam Barth.
3118
3119         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
3120
3121         * mediastream/MediaStreamRegistry.cpp:
3122         (WebCore::MediaStreamRegistry::registerMediaStreamURL):
3123         (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
3124         (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
3125         * mediastream/MediaStreamRegistry.h:
3126
3127 2011-11-02  Zoltan Herczeg  <zherczeg@webkit.org>
3128
3129         Match allowed CSS string characters to Firefox and Opera browsers
3130         https://bugs.webkit.org/show_bug.cgi?id=71000
3131
3132         Reviewed by Darin Adler.
3133
3134         Firefox and Opera accepts any character inside a string except
3135         newline and starting quote character. This behaviour matches to
3136         the CSS 2.1 grammar: http://www.w3.org/TR/CSS2/grammar.html
3137         WebKit should follow them.
3138
3139         Test: fast/css/parsing-css-allowed-string-characters.html
3140
3141         * css/tokenizer.flex:
3142
3143 2011-11-02  Devdatta Deshpande  <pwjd73@motorola.com>
3144
3145         Assert in MoveSelectionCommand::doApply
3146         https://bugs.webkit.org/show_bug.cgi?id=70277
3147
3148         Reviewed by Ryosuke Niwa.
3149
3150         A MoveSelectionCommand should be fired only if the selection type is
3151         RangeSelection, since nothing is selected in other cases.
3152
3153         Test: fast/events/drag-link.html
3154
3155         * page/DragController.cpp:
3156         (WebCore::DragController::dragIsMove):
3157
3158 2011-11-02  Jon Lee  <jonlee@apple.com>
3159
3160         <input=file multiple> default text uses singular instead of plural
3161         https://bugs.webkit.org/show_bug.cgi?id=71319
3162         <rdar://problem/10379021>
3163
3164         Reviewed by Darin Adler.
3165
3166         Added a new method to return the label text for a file upload control that
3167         allows multiple files. Needed to extend the RenderTheme function to pass down
3168         a boolean representing whether multiple files are allowed in the file list.
3169
3170         * English.lproj/Localizable.strings:
3171         * html/FileInputType.cpp:
3172         (WebCore::FileInputType::defaultToolTip):
3173         * platform/DefaultLocalizationStrategy.cpp:
3174         (WebCore::DefaultLocalizationStrategy::fileButtonNoFilesSelectedLabel):
3175         * platform/DefaultLocalizationStrategy.h:
3176         * platform/LocalizationStrategy.h:
3177         * platform/LocalizedStrings.cpp:
3178         (WebCore::fileButtonNoFilesSelectedLabel):
3179         * platform/LocalizedStrings.h:
3180         * platform/efl/LocalizedStringsEfl.cpp:
3181         (WebCore::fileButtonNoFilesSelectedLabel):
3182         * platform/gtk/LocalizedStringsGtk.cpp:
3183         (WebCore::fileButtonNoFilesSelectedLabel):
3184         * platform/gtk/RenderThemeGtk.cpp:
3185         (WebCore::RenderThemeGtk::fileListNameForWidth):
3186         * platform/gtk/RenderThemeGtk.h:
3187         * platform/qt/RenderThemeQt.cpp:
3188         (WebCore::RenderThemeQt::fileListNameForWidth):
3189         * platform/qt/RenderThemeQt.h:
3190         * platform/wx/LocalizedStringsWx.cpp:
3191         (WebCore::fileButtonNoFilesSelectedLabel):
3192         * rendering/RenderFileUploadControl.cpp:
3193         (WebCore::RenderFileUploadControl::fileTextValue):
3194         * rendering/RenderTheme.cpp:
3195         (WebCore::RenderTheme::fileListNameForWidth):
3196         * rendering/RenderTheme.h:
3197         * rendering/RenderThemeMac.h:
3198         * rendering/RenderThemeMac.mm:
3199         (WebCore::RenderThemeMac::fileListNameForWidth):
3200
3201 2011-11-02  Andras Becsi  <andras.becsi@nokia.com>
3202
3203         [Qt] Fix the build with NO_LISTBOX_RENDERING
3204
3205         Unreviewed build fix after r99035.
3206
3207         Patch by Michael Bruning <michael.bruning@nokia.com>
3208
3209         No new tests needed.
3210
3211         * html/HTMLSelectElement.cpp:
3212         (WebCore::HTMLSelectElement::listBoxSelectItem):
3213
3214 2011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
3215
3216         div { display: none; } makes pasting into text fields impossible
3217         https://bugs.webkit.org/show_bug.cgi?id=27683
3218
3219         Reviewed by Enrica Casucci.
3220
3221         The bug was caused by insertFragmentForTestRendering's always inserting a node for test rendering
3222         into document's body.
3223
3224         Fixed the bug by inserting the node for test rendering into the root editable element. In addition,
3225         remove the node before dispatching beforeTextInserted event to avoid event listeners, in particular
3226         TextFieldInputType::handleBeforeTextInsertedEvent, from seeing the test node.
3227
3228         Test: editing/pasteboard/input-with-display-none-div.html
3229
3230         * editing/ReplaceSelectionCommand.cpp:
3231         (WebCore::ReplacementFragment::ReplacementFragment):
3232         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
3233         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
3234
3235 2011-11-02  Ryosuke Niwa  <rniwa@webkit.org>
3236
3237         REGRESSION(r96870): WebKit generates background: transparent on blogger.com
3238         https://bugs.webkit.org/show_bug.cgi?id=71203
3239
3240         Reviewed by Ojan Vafai.
3241
3242         Remove the transparent background color from inline style declarations in the pasted content.
3243         Also fixed a bug in removeStyleFromRulesAndContext that it removes properties in inline style
3244         declarations even if those properties were overridden.
3245
3246         Tests: editing/deleting/merge-paragraphs-with-transparent-background.html
3247                editing/deleting/paste-with-transparent-background-color.html
3248
3249         * editing/EditingStyle.cpp:
3250         (WebCore::removePropertiesInStyle):
3251         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
3252         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
3253
3254 2011-11-02  Andreas Kling  <kling@webkit.org>
3255
3256         CSSStyleRule: Devirtualize selectorText()
3257         https://bugs.webkit.org/show_bug.cgi?id=71364
3258
3259         Reviewed by Antti Koivisto.
3260
3261         Have CSSStyleRule::selectorText() redirect to CSSPageRule::pageSelectorText()
3262         if type() is PAGE_RULE.
3263
3264         * css/CSSPageRule.cpp:
3265         (WebCore::CSSPageRule::pageSelectorText):
3266         * css/CSSPageRule.h:
3267         * css/CSSStyleRule.cpp:
3268         (WebCore::CSSStyleRule::selectorText):
3269         * css/CSSStyleRule.h:
3270
3271 2011-11-02  Andreas Kling  <kling@webkit.org>
3272
3273         CSSRule: Devirtualize cssText()
3274         https://bugs.webkit.org/show_bug.cgi?id=71292
3275
3276         Reviewed by Antti Koivisto.
3277
3278         Have CSSRule::cssText() redirect to the appropriate subclass based on type().
3279         This is one of the last steps of devirtualizing CSSRule completely, which will
3280         allow us to get rid of its vtable, and each instance's pointer thereto.
3281
3282         * css/CSSCharsetRule.h:
3283         * css/CSSFontFaceRule.h:
3284         * css/CSSImportRule.h:
3285         * css/CSSMediaRule.h:
3286         * css/CSSRegionStyleRule.h:
3287         * css/CSSRule.cpp:
3288         (WebCore::CSSRule::cssText):
3289         * css/CSSRule.h:
3290         * css/CSSStyleRule.h:
3291         * css/WebKitCSSKeyframeRule.h:
3292         * css/WebKitCSSKeyframesRule.h:
3293
3294 2011-11-02  Patrick Gansterer  <paroga@webkit.org>
3295
3296         Unreviewed build fix for !ENABLE(FILTERS) after r98989.
3297
3298         * rendering/svg/SVGResourcesCache.cpp:
3299         (WebCore::SVGResourcesCache::clientLayoutChanged):
3300
3301 2011-11-02  Alexander Pavlov  <apavlov@chromium.org>
3302
3303         Web Inspector: [REGRESSION] Clicking in a CSS property/value being edited commits the editor
3304         https://bugs.webkit.org/show_bug.cgi?id=71360
3305
3306         Reviewed by Pavel Feldman.
3307
3308         Selecting a selected TreeElement should be an idempotent operation.
3309
3310         * inspector/front-end/treeoutline.js:
3311         (TreeElement.prototype.select):
3312
3313 2011-11-02  Ben Wells  <benwells@chromium.org>
3314
3315         Canvas filling paths or rects need to be invalidate larger rects for some compositing modes.
3316         https://bugs.webkit.org/show_bug.cgi?id=70379
3317
3318         Reviewed by James Robinson.
3319
3320         Test: fast/canvas/canvas-composite-fill-repaint.html
3321
3322         * html/canvas/CanvasRenderingContext2D.cpp:
3323         (WebCore::CanvasRenderingContext2D::fill):
3324         (WebCore::CanvasRenderingContext2D::fillRect):
3325         (WebCore::CanvasRenderingContext2D::drawImage):
3326         (WebCore::CanvasRenderingContext2D::didDrawEntireCanvas):
3327         * html/canvas/CanvasRenderingContext2D.h:
3328
3329 2011-11-01  Levi Weintraub  <leviw@chromium.org>
3330
3331         Fix uses of LayoutUnit in Frame-, Scroll-, and RenderView
3332         https://bugs.webkit.org/show_bug.cgi?id=71321
3333
3334         Reviewed by Darin Adler.
3335
3336         Updating the usage of LayoutUnits in the *View classes to mirror the proper use
3337         as derived in the subpixellayout branch.
3338
3339         This entails scrolling only with integers (and rounding once we've made the switch)
3340         and using integers for window coordinates, with LayoutUnits for content coordinates.
3341
3342         No new tests -- no change in behavior.
3343
3344         * page/FrameView.cpp:
3345         (WebCore::FrameView::invalidateRect):
3346         (WebCore::FrameView::setFrameRect):
3347         (WebCore::FrameView::zoomAnimatorTransformChanged):
3348         (WebCore::FrameView::scrollContentsFastPath):
3349         (WebCore::FrameView::scrollContentsSlowPath):
3350         (WebCore::FrameView::scrollElementToRect):
3351         (WebCore::FrameView::setScrollPosition):
3352         (WebCore::FrameView::repaintContentRectangle):
3353         (WebCore::FrameView::scrollTo):
3354         (WebCore::FrameView::updateScrollCorner):
3355         * page/FrameView.h:
3356         (WebCore::FrameView::trackedRepaintRects):
3357         * platform/ScrollView.cpp:
3358         (WebCore::ScrollView::visibleContentRect):
3359         (WebCore::ScrollView::layoutWidth):
3360         (WebCore::ScrollView::layoutHeight):
3361         (WebCore::ScrollView::fixedLayoutSize):
3362         (WebCore::ScrollView::setFixedLayoutSize):
3363         (WebCore::ScrollView::contentsSize):
3364         (WebCore::ScrollView::setContentsSize):
3365         (WebCore::ScrollView::overhangAmount):
3366         (WebCore::ScrollView::updateScrollbars):
3367         (WebCore::ScrollView::rectToCopyOnScroll):
3368         (WebCore::ScrollView::scrollContents):
3369         (WebCore::ScrollView::windowToContents):
3370         (WebCore::ScrollView::screenToContents):
3371         (WebCore::ScrollView::scrollbarAtPoint):
3372         (WebCore::ScrollView::wheelEvent):
3373         * platform/ScrollView.h:
3374         (WebCore::ScrollView::visibleWidth):
3375         (WebCore::ScrollView::visibleHeight):
3376         (WebCore::ScrollView::contentsWidth):
3377         (WebCore::ScrollView::contentsHeight):
3378         (WebCore::ScrollView::adjustScrollPositionWithinRange):
3379         * rendering/RenderView.cpp:
3380         (WebCore::RenderView::paint):
3381         (WebCore::RenderView::shouldRepaint):
3382         (WebCore::RenderView::repaintViewRectangle):
3383         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
3384         (WebCore::RenderView::computeRectForRepaint):
3385         (WebCore::RenderView::selectionBounds):
3386         (WebCore::RenderView::viewRect):
3387         (WebCore::RenderView::unscaledDocumentRect):
3388         (WebCore::RenderView::documentRect):
3389         * rendering/RenderView.h:
3390         (WebCore::RenderView::printRect):
3391         (WebCore::RenderView::setPrintRect):
3392
3393 2011-11-01  Anna Cavender  <annacc@chromium.org>
3394
3395         Small fixes for WebVTTParser.
3396         https://bugs.webkit.org/show_bug.cgi?id=71334
3397
3398         Reviewed by Darin Adler.
3399
3400         No new tests.  This is needed to enable other tests, coming soon.
3401
3402         * html/track/WebVTTParser.cpp:
3403         (WebCore::hasLongWebVTTIdentifier): changed to return true when header is
3404             exactly "WEBVTT"
3405         (WebCore::WebVTTParser::collectTimingsAndSettings): fix typos, position should
3406             only progress once when checking the character after a timestamp.
3407
3408 2011-11-01  Darin Adler  <darin@apple.com>
3409
3410         Change HTMLSelectElement::setSelectedIndex to use enums instead of bools
3411         https://bugs.webkit.org/show_bug.cgi?id=70184
3412
3413         Reviewed by Kent Tamura.
3414
3415         Refactoring that does not require new tests.
3416
3417         * bindings/objc/DOMHTML.mm:
3418         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Replaced setSelectedIndexByUser
3419         call with a call to the renamed optionSelectedByUser, also removed one argument.
3420         (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): Ditto.
3421
3422         * html/HTMLOptionElement.cpp:
3423         (WebCore::HTMLOptionElement::setSelected): Replaced setSelectedIndex call with a
3424         call to the new optionSelectionStateChanged function.
3425         (WebCore::HTMLOptionElement::insertedIntoTree): Ditto.
3426
3427         * html/HTMLSelectElement.cpp:
3428         (WebCore::HTMLSelectElement::HTMLSelectElement): Updated since m_userDrivenChange
3429         was renamed to m_isProcessingUserDrivenChange.
3430         (WebCore::HTMLSelectElement::optionSelectedByUser): Removed deselect argument,
3431         which was always true for all callers. Updated comment.
3432         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Updated comment.
3433         (WebCore::HTMLSelectElement::setOption): Call the new optionSelectionStateChanged
3434         function. The code used to explicitly ask the function it calls to deselect base
3435         on the value of m_multiple, but that is no longer needed because the selectOption
3436         function itself takes care of that check.
3437         (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList): Renamed this function.
3438         Also updated for name change to m_isProcessingUserDrivenChange.
3439         (WebCore::HTMLSelectElement::setSelectedIndex): Moved the formerly-inlined function
3440         here from the header and changed it to call the renamed selectOption function.
3441         (WebCore::HTMLSelectElement::optionSelectionStateChanged): Added this function.
3442         It is used by callers that were previously using setSelectedIndex and passing
3443         "false" for the deselect argument. It's better now that setSelectedIndex is now a
3444         pure DOM setter function without the multiple purposes it had before. This function
3445         now has the logic that handles the special handling when deselecting an option,
3446         which used to be at the top of the next function.
3447         (WebCore::HTMLSelectElement::selectOption): Renamed this from setSelectedIndex.
3448         Replaced boolean arguments with flags. Removed code to handle the special case
3449         when we deselect an option; that's now handled in the optionSelectionStateChanged
3450         function. Added an assertion to replace a comment and updated for other renaming.
3451         (WebCore::HTMLSelectElement::dispatchBlurEvent): Updated for name change.
3452         (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Ditto.
3453         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Changed to call the
3454         new selectOption function and also updated for other name changes.
3455         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
3456         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
3457
3458         * html/HTMLSelectElement.h: Changed the setSelectedIndex to be a pure setter
3459         function for the selectedIndex DOM property. Added a optionSelectedByUser function
3460         for the other use of setSelectedIndex, but removed the always true "deselect"
3461         argument from it. Added a optionSelectionStateChanged function for use in the
3462         HTMLOptionElement implementation. Renamed menuListOnChange to
3463         dispatchChangeEventForMenuList for clarity. Added a SelectOptionFlag and
3464         SelectOptionFlags type for the arguments to the selectOption function, formerly
3465         implemented as an overload of setSelectedIndex (and called setSelectedIndexInternal
3466         before that). Renamed m_userDrivenChange to m_isProcessingUserDrivenChange.
3467
3468         * rendering/RenderMenuList.cpp:
3469         (WebCore::RenderMenuList::valueChanged): Replaced setSelectedIndexByUser
3470         call with a call to the renamed optionSelectedByUser, also removed one argument.
3471
3472 2011-11-01  Sam Weinig  <sam@webkit.org>
3473
3474         Implement __lookupGetter__/__lookupSetter__ in terms of getPropertyDescriptor
3475         https://bugs.webkit.org/show_bug.cgi?id=71336
3476
3477         Reviewed by Darin Adler.
3478
3479         * bindings/js/JSDOMWindowCustom.cpp:
3480         * bindings/js/JSDOMWindowShell.cpp:
3481         * bindings/js/JSDOMWindowShell.h:
3482         * page/DOMWindow.idl:
3483         Remove overrides of lookupGetter/lookupSetter, which are no longer needed
3484         due to implementing getPropertyDescriptor.
3485
3486
3487 2011-11-01  Nat Duca  <nduca@chromium.org>
3488
3489         [chromium] Move resource-releasing logic into CCProxy and cleanup setNeedsCommit
3490         https://bugs.webkit.org/show_bug.cgi?id=71269
3491
3492         Reviewed by James Robinson.
3493
3494         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3495         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
3496         (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
3497         (WebCore::CCLayerTreeHost::setNeedsCommit):
3498         (WebCore::CCLayerTreeHost::setViewport):
3499         (WebCore::CCLayerTreeHost::setVisible):
3500         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3501         * platform/graphics/chromium/cc/CCProxy.h:
3502         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3503         (WebCore::CCSingleThreadProxy::doCommit):
3504         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
3505         (WebCore::CCSingleThreadProxy::setVisible):
3506         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
3507         (WebCore::CCSingleThreadProxy::doComposite):
3508         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3509         (WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
3510         (WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
3511         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3512         (WebCore::CCThreadProxy::setNeedsCommit):
3513         (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
3514         (WebCore::CCThreadProxy::setVisible):
3515         * platform/graphics/chromium/cc/CCThreadProxy.h:
3516
3517 2011-11-01  Anna Cavender  <annacc@chromium.org>
3518
3519         Makes [Reflect] work for constants.
3520         This is needed to avoid platform-specific define conflicts, specifically
3521         TextTrack::ERROR conflicts with a windows define.
3522         https://bugs.webkit.org/show_bug.cgi?id=70951
3523
3524         Reviewed by Darin Adler.
3525
3526         Test: media/track/track-constants.html
3527
3528         * bindings/scripts/CodeGenerator.pm:
3529         (GenerateCompileTimeCheckForEnumsIfNeeded):
3530             Check for [Reflect] and assign name accordingly.
3531
3532         * bindings/scripts/test/CPP/WebDOMTestObj.h:  Update test file.
3533         * bindings/scripts/test/JS/JSTestObj.cpp:  Update test file.
3534         (WebCore::jsTestObjCONST_JAVASCRIPT):
3535         * bindings/scripts/test/JS/JSTestObj.h:  Update test file.
3536         * bindings/scripts/test/ObjC/DOMTestObj.h:  Update test file.
3537         * bindings/scripts/test/TestObj.idl:  Update test file.
3538         * bindings/scripts/test/V8/V8TestObj.cpp:  Update test file.
3539
3540         * html/LoadableTextTrack.cpp: Use new DOM const name.
3541         (WebCore::LoadableTextTrack::cueLoadingStarted):
3542         (WebCore::LoadableTextTrack::cueLoadingCompleted):
3543         * html/TextTrack.cpp:  Use new DOM const name.
3544         (WebCore::TextTrack::TextTrack):
3545         (WebCore::TextTrack::setMode):
3546         * html/TextTrack.h:  Use new DOM const name.
3547         * html/TextTrack.idl:  Use Reflect for ERROR, but leave other DOM const names.
3548
3549 2011-11-01  Levi Weintraub  <leviw@chromium.org>
3550
3551         Amend missing uses of LayoutUnit in RenderBlock
3552         https://bugs.webkit.org/show_bug.cgi?id=71254
3553
3554         Reviewed by Darin Adler.
3555
3556         Switching relevant uses of integers in RenderBlock to LayoutUnits.
3557
3558         No new tests -- no changes in behavior.
3559
3560         * rendering/RenderBlock.cpp:
3561         (WebCore::RenderBlock::MarginInfo::MarginInfo):
3562         (WebCore::RenderBlock::layoutBlock):
3563         (WebCore::RenderBlock::adjustFloatingBlock):
3564         (WebCore::RenderBlock::clearFloatsIfNeeded):
3565         (WebCore::RenderBlock::layoutBlockChild):
3566         (WebCore::RenderBlock::paintColumnRules):
3567         (WebCore::RenderBlock::paintContents):
3568         (WebCore::clipOutPositionedObjects):
3569         (WebCore::RenderBlock::removeFloatingObject):
3570         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
3571         (WebCore::RenderBlock::getClearDelta):
3572         (WebCore::positionForPointRespectingEditingBoundaries):
3573         (WebCore::RenderBlock::calcColumnWidth):
3574         (WebCore::RenderBlock::layoutColumns):
3575         (WebCore::RenderBlock::adjustRectForColumns):
3576         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3577         (WebCore::RenderBlock::baselinePosition):
3578         (WebCore::getHeightForLineCount):
3579         (WebCore::RenderBlock::setPaginationStrut):
3580         (WebCore::RenderBlock::applyBeforeBreak):
3581         (WebCore::RenderBlock::applyAfterBreak):
3582         (WebCore::RenderBlock::adjustForUnsplittableChild):
3583         * rendering/RenderBlock.h:
3584         (WebCore::RenderBlock::availableLogicalWidthForLine):
3585         (WebCore::RenderBlock::paginationStrut):
3586         (WebCore::RenderBlock::availableLogicalWidthForContent):
3587         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
3588         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
3589         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
3590         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
3591         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
3592         (WebCore::RenderBlock::MarginInfo::setMargin):
3593         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
3594         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
3595         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
3596         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
3597         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
3598         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
3599         (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
3600
3601 2011-11-01  Luke Macpherson   <macpherson@chromium.org>
3602
3603         WIP: Add CSS property to control printing of backgrounds for individual elements.
3604         https://bugs.webkit.org/show_bug.cgi?id=64583
3605
3606         Reviewed by Eric Seidel.
3607
3608         Added test LayoutTests/fast/css/webkit-color-adjust.html,
3609         Updated tests under LayoutTests/fast/css/getComputedStyle
3610         Updated test under LayoutTests/svg/css
3611
3612         * css/CSSComputedStyleDeclaration.cpp:
3613         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3614         * css/CSSParser.cpp:
3615         (WebCore::CSSParser::parseValue):
3616         * css/CSSPropertyNames.in:
3617         * css/CSSStyleSelector.cpp:
3618         (WebCore::CSSStyleSelector::styleForDocument):
3619         (WebCore::CSSStyleSelector::applyProperty):
3620         * rendering/RenderBoxModelObject.cpp:
3621         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3622         * rendering/style/RenderStyle.h:
3623         (WebCore::InheritedFlags::initialForceBackgroundsToWhite):
3624
3625 2011-11-01  Dominic Cooney  <dominicc@chromium.org>
3626
3627         Remove initErrorEvent method
3628         https://bugs.webkit.org/show_bug.cgi?id=71338
3629
3630         Reviewed by Ojan Vafai.
3631
3632         * dom/ErrorEvent.cpp: Crush.
3633         * dom/ErrorEvent.h: Kill.
3634         * dom/ErrorEvent.idl: Destroy.
3635
3636 2011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>
3637
3638         Pack RenderTableCell bits
3639         https://bugs.webkit.org/show_bug.cgi?id=71135
3640
3641         Reviewed by Darin Adler.
3642
3643         Tested by RenderTableCellTest unit test.
3644         (unfortunately Chromium specific...)
3645
3646         This saves another 8 bytes on RenderTableCell on x86-64.
3647
3648         * rendering/RenderTableCell.cpp:
3649         (WebCore::RenderTableCell::RenderTableCell):
3650         * rendering/RenderTableCell.h:
3651         Changed the field order to use more strict packing.
3652
3653         (WebCore::RenderTableCell::setCol):
3654         (WebCore::RenderTableCell::setRow):
3655         Added overflow checks to the 2 previous methods. We
3656         CRASH even in release to avoid potential badness
3657         (the limit is currently above 2 billions rows or columns
3658         which is high enough to prevent it being hit by accident)
3659
3660 2011-11-01  Emil A Eklund  <eae@chromium.org>
3661
3662         Switch background/border image back to Int
3663         https://bugs.webkit.org/show_bug.cgi?id=71240
3664
3665         Reviewed by Darin Adler.
3666
3667         Switch background- and border-image rendering back to int to align with
3668         device pixels.
3669
3670         No new tests.
3671
3672         * rendering/RenderBoxModelObject.cpp:
3673         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
3674         (WebCore::RenderBoxModelObject::calculateFillTileSize):
3675         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
3676         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
3677         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
3678         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3679         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3680         (WebCore::calculateAdjustedInnerBorder):
3681         * rendering/RenderBoxModelObject.h:
3682         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
3683         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
3684         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
3685         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
3686         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
3687         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
3688         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
3689         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
3690
3691 2011-11-01  Mark Hahnenberg  <mhahnenberg@apple.com>
3692
3693         De-virtualize JSObject::defineSetter
3694         https://bugs.webkit.org/show_bug.cgi?id=71303
3695
3696         Reviewed by Darin Adler.
3697
3698         No new tests.
3699
3700         Added defineSetter to the MethodTable, changed all the virtual 
3701         implementations of defineSetter to static ones, and replaced 
3702         all call sites with corresponding lookups in the MethodTable.
3703
3704         * bindings/js/JSDOMWindowCustom.cpp:
3705         (WebCore::JSDOMWindow::defineSetter):
3706         * bindings/js/JSDOMWindowShell.cpp:
3707         (WebCore::JSDOMWindowShell::defineSetter):
3708         * bindings/js/JSDOMWindowShell.h:
3709         * bindings/scripts/CodeGeneratorJS.pm:
3710         (GenerateHeader):
3711
3712 2011-11-01  Emil A Eklund  <eae@chromium.org>
3713
3714         Switch PopupMenuClient to layout abstraction
3715         https://bugs.webkit.org/show_bug.cgi?id=71308
3716
3717         Reviewed by Darin Adler.
3718
3719         Switch PopupMenuClient and rendering classes implementing it to layout
3720         type abstraction.
3721
3722         No new tests.
3723
3724         * platform/PopupMenuClient.h:
3725         * rendering/RenderListBox.cpp:
3726         (WebCore::RenderListBox::listIndexAtOffset):
3727         (WebCore::RenderListBox::panScroll):
3728         (WebCore::RenderListBox::scrollToward):
3729         (WebCore::RenderListBox::scrollSize):
3730         (WebCore::RenderListBox::scrollPosition):
3731         (WebCore::RenderListBox::setScrollOffset):
3732         (WebCore::RenderListBox::verticalScrollbarWidth):
3733         Revert scroll positions and scroll offsets to ints to align with device
3734         pixels.
3735         
3736         * rendering/RenderListBox.h:
3737         * rendering/RenderMenuList.cpp:
3738         (WebCore::RenderMenuList::showPopup):
3739         (WebCore::RenderMenuList::clientPaddingLeft):
3740         (WebCore::RenderMenuList::clientPaddingRight):
3741         * rendering/RenderMenuList.h:
3742         * rendering/RenderTextControl.cpp:
3743         (WebCore::RenderTextControl::hitInnerTextElement):
3744         * rendering/RenderTextControlSingleLine.cpp:
3745         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3746         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3747         * rendering/RenderTextControlSingleLine.h:
3748
3749 2011-11-01  Nate Chapin  <japhet@chromium.org>
3750
3751         [chromium] As of r98380, ThreadableLoaderClients are having their
3752         ResourceRequest::TargetType clobbered. They set their own
3753         type, but CachedResourceRequest (through which they now flow)
3754         sets a TargetType without bothering to see if one has already been set.
3755         https://bugs.webkit.org/show_bug.cgi?id=70972
3756
3757         Reviewed by Darin Fisher.
3758
3759         No new tests, this is chromium-specific and only affects
3760         behavior seen in full builds of chromium.
3761
3762         * loader/cache/CachedResourceRequest.cpp:
3763         (WebCore::CachedResourceRequest::load):Don't setTargetType()
3764             if the value is something other than the default already.
3765         * platform/network/chromium/ResourceRequest.h: Change default
3766             TargetType to TargetIsUnspecified.
3767
3768 2011-11-01  Emil A Eklund  <eae@chromium.org>
3769
3770         Use IntPoint for screen coordinates in MouseEvent
3771         https://bugs.webkit.org/show_bug.cgi?id=71327
3772
3773         Reviewed by Darin Adler.
3774
3775         Change mouse events to use int/IntPoint for screen/window coordinates and
3776         LayoutUnit/LayoutPoint for coordinates adjusted for zooming.
3777
3778         No new tests.
3779
3780         * dom/MouseRelatedEvent.cpp:
3781         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3782         (WebCore::MouseRelatedEvent::computeRelativePosition):
3783         * dom/MouseRelatedEvent.h:
3784         (WebCore::MouseRelatedEvent::screenLocation):
3785         Revert screenLocation and windowLocation back to int.
3786
3787         * page/DragController.cpp:
3788         (WebCore::elementUnderMouse):
3789         Change elementUnderMouse to use a LayoutPoint for hit testing.
3790
3791         * page/EventHandler.cpp:
3792         (WebCore::EventHandler::clear):
3793         (WebCore::EventHandler::currentMousePosition):
3794         (WebCore::documentPointForWindowPoint):
3795         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3796         * page/EventHandler.h:
3797         Revert m_currentMousePosition to IntPoint as it represents a
3798         screen coordinate.
3799
3800         * platform/PlatformMouseEvent.h:
3801         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3802         (WebCore::PlatformMouseEvent::pos):
3803         (WebCore::PlatformMouseEvent::x):
3804         (WebCore::PlatformMouseEvent::y):
3805         (WebCore::PlatformMouseEvent::globalX):
3806         (WebCore::PlatformMouseEvent::globalY):
3807         * platform/mac/PlatformMouseEventMac.mm:
3808         (WebCore::globalPoint):
3809         (WebCore::pointForEvent):
3810         (WebCore::globalPointForEvent):
3811         Revert PlatformMouseEvent to int/IntPoint as it represents a screen
3812         coordinate.
3813
3814 2011-11-01  Tony Chang  <tony@chromium.org>
3815
3816         REGRESSION: -webkit-flex() should be an invalid value
3817         https://bugs.webkit.org/show_bug.cgi?id=71320
3818
3819         Reviewed by Ojan Vafai.
3820
3821         This regressed in http://trac.webkit.org/changeset/98773 .
3822
3823         No new tests, covered by css3/flexbox/flex-parsing.html.
3824
3825         * css/CSSParser.cpp:
3826         (WebCore::CSSParser::parseFlex):
3827
3828 2011-11-01  David Grogan  <dgrogan@chromium.org>
3829
3830         IndexedDB: get EventQueue from ScriptExecutionContext instead of Document
3831         https://bugs.webkit.org/show_bug.cgi?id=71147
3832
3833         When IDB is used from a worker thread ScriptExecutionContext will
3834         be a WorkerContext, not a Document.  This was the impetus behind
3835         moving EventQueue into ScriptExecutionContext in r98656.
3836
3837         Reviewed by Nate Chapin.
3838
3839         No new tests. No new functionality yet.
3840
3841         * storage/IDBDatabase.cpp:
3842         (WebCore::IDBDatabase::close):
3843         (WebCore::IDBDatabase::enqueueEvent):
3844         * storage/IDBRequest.cpp:
3845         (WebCore::IDBRequest::abort):
3846         (WebCore::IDBRequest::enqueueEvent):
3847         * storage/IDBTransaction.cpp:
3848         (WebCore::IDBTransaction::enqueueEvent):
3849
3850 2011-11-01  Andreas Kling  <kling@webkit.org>
3851
3852         CSS: Remove unused virtual parseString() in style and keyframe rules.
3853         https://bugs.webkit.org/show_bug.cgi?id=71300
3854
3855         Reviewed by Darin Adler.
3856
3857         * css/CSSStyleRule.cpp:
3858         * css/CSSStyleRule.h:
3859         * css/WebKitCSSKeyframeRule.cpp:
3860         * css/WebKitCSSKeyframeRule.h:
3861
3862 2011-11-01  Emil A Eklund  <eae@chromium.org>
3863
3864         Switch RenderObject to layout abstraction
3865         https://bugs.webkit.org/show_bug.cgi?id=71249
3866
3867         Switch RenderObject to LayoutRect/Size/Point abstraction.
3868
3869         Reviewed by Darin Adler.
3870
3871         No new tests.
3872
3873         * rendering/RenderObject.cpp:
3874         (WebCore::RenderObject::drawLineForBoxSide):
3875         (WebCore::RenderObject::addPDFURLRect):
3876         (WebCore::RenderObject::absoluteBoundingBoxRect):
3877         (WebCore::RenderObject::absoluteFocusRingQuads):
3878         (WebCore::RenderObject::addAbsoluteRectForLayer):
3879         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3880         (WebCore::RenderObject::computeRectForRepaint):
3881         (WebCore::RenderObject::viewRect):
3882         (WebCore::RenderObject::mapLocalToContainer):
3883         (WebCore::RenderObject::localCaretRect):
3884         (WebCore::RenderObject::addDashboardRegions):
3885         (WebCore::RenderObject::maximalOutlineSize):
3886         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
3887         * rendering/RenderObject.h:
3888         (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
3889         (WebCore::RenderObject::absoluteClippedOverflowRect):
3890         (WebCore::RenderObject::computeAbsoluteRepaintRect):
3891         (WebCore::RenderObject::absoluteOutlineBounds):
3892         (WebCore::RenderObject::outlineBoundsForRepaint):
3893         (WebCore::adjustForAbsoluteZoom):
3894
3895 2011-11-01  Xiaomei Ji  <xji@chromium.org>
3896
3897         Refactor: change Scrollable::m_scrollOrigin from protected to private.
3898         https://bugs.webkit.org/show_bug.cgi?id=71236
3899
3900         Reviewed by Darin Adler.
3901
3902         Only refactor, no new tests needed.
3903
3904         * page/FrameView.cpp:
3905         (WebCore::FrameView::scrollXForFixedPosition):
3906         (WebCore::FrameView::scrollYForFixedPosition):
3907         * platform/ScrollView.cpp:
3908         (WebCore::ScrollView::maximumScrollPosition):
3909         (WebCore::ScrollView::minimumScrollPosition):
3910         (WebCore::ScrollView::setScrollOffset):
3911         (WebCore::ScrollView::scrollPosition):
3912         (WebCore::ScrollView::overhangAmount):
3913         (WebCore::ScrollView::updateScrollbars):
3914         (WebCore::ScrollView::wheelEvent):
3915         * platform/ScrollView.h:
3916         * platform/ScrollableArea.h:
3917         (WebCore::ScrollableArea::setScrollOrigin):
3918         (WebCore::ScrollableArea::setScrollOriginX):
3919         (WebCore::ScrollableArea::setScrollOriginY):
3920         * rendering/RenderLayer.cpp:
3921         (WebCore::RenderLayer::scrollTo):
3922         (WebCore::RenderLayer::scrollPosition):
3923         (WebCore::RenderLayer::minimumScrollPosition):
3924         (WebCore::RenderLayer::maximumScrollPosition):
3925         (WebCore::RenderLayer::computeScrollDimensions):
3926         * rendering/RenderLayer.h:
3927         (WebCore::RenderLayer::scrollXOffset):
3928         (WebCore::RenderLayer::scrollYOffset):
3929
3930 2011-11-01  Dominic Cooney  <dominicc@chromium.org>
3931
3932         display: table-cell and box-sizing: border-box calculates content-box height
3933         https://bugs.webkit.org/show_bug.cgi?id=69425
3934
3935         Reviewed by Dan Bernstein.
3936
3937         Test: fast/box-sizing/table-cell.html
3938
3939         * rendering/RenderTableSection.cpp:
3940         (WebCore::RenderTableSection::calcRowLogicalHeight):
3941
3942 2011-11-01  Alok Priyadarshi  <alokp@chromium.org>
3943
3944         [chromium] Add testing for --enable-accelerated-drawing
3945         https://bugs.webkit.org/show_bug.cgi?id=70822
3946
3947         Reviewed by James Robinson.
3948
3949         Test: platform/chromium/compositing/accelerated-drawing/alpha.html
3950
3951         * WebCore.exp.in:
3952         * page/Settings.cpp:
3953         * page/Settings.h:
3954         (WebCore::Settings::setAcceleratedDrawingEnabled):
3955         * testing/Internals.cpp:
3956         (WebCore::Internals::setAcceleratedDrawingEnabled):
3957         * testing/Internals.h:
3958         * testing/Internals.idl:
3959
3960 2011-11-01  Tim Horton  <timothy_horton@apple.com>
3961
3962         SVG Filter on a group doesn't invalidate when children are moved
3963         https://bugs.webkit.org/show_bug.cgi?id=70044
3964         <rdar://problem/10281530>
3965
3966         Reviewed by Nikolas Zimmermann.
3967
3968         Call SVGResourcesCache::clientLayoutChanged whenever the element or its children need layout. Previously,
3969         invalidation was only performed if the element itself needed layout; now we also invalidate if any child
3970         needs layout and there is a filter applied, as the cached filter result can depend on the layout of children.
3971
3972         Test: svg/filters/invalidate-on-child-layout.svg
3973
3974         * rendering/svg/RenderSVGContainer.cpp:
3975         (WebCore::RenderSVGContainer::layout):
3976         * rendering/svg/SVGResourcesCache.cpp:
3977         (WebCore::SVGResourcesCache::clientLayoutChanged):
3978
3979 2011-11-01  Jer Noble  <jer.noble@apple.com>
3980
3981         Four media tests failing on Lion due to incorrect cached times.
3982         https://bugs.webkit.org/show_bug.cgi?id=69574
3983
3984         Reviewed by Eric Carlson.
3985
3986         Do not invalidate the cached time when receiving a mediaPlayerRateChanged notification
3987         while paused. AVFoundation in particular can return different results for currentTime()
3988         when asked after being paused, breaking layout tests.
3989
3990         * html/HTMLMediaElement.cpp:
3991         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
3992
3993 2011-11-01  Gavin Peters  <gavinp@chromium.org>
3994
3995         properly end requests when a bad status code return happens
3996         https://bugs.webkit.org/show_bug.cgi?id=71122
3997
3998         Calling error without ending the request set up the CachedResourceRequest so that it could
3999         actually send out two notifyFinished() events.  This probably was the root cause of
4000         lots of crashing instability; I know from crbug.com/75604 that this bug was causing lots
4001         of crashes in ScriptRunner/ScriptElement for instance.
4002
4003         The fix is easy: just properly end the request instead of just calling error, and we won't
4004         re-notify.
4005
4006         Reviewed by Nate Chapin.
4007
4008         No new tests, as the problem wasn't very amenable to layout tests.
4009         There is a chromium test going through code review at http://codereview.chromium.org/8404001/
4010
4011         * loader/cache/CachedResourceRequest.cpp:
4012         (WebCore::CachedResourceRequest::didReceiveData):
4013
4014 2011-11-01  Erik Arvidsson  <arv@chromium.org>
4015
4016         Remove LegacyDefaultOptionalArguments flag from CanvasRenderingContext2d
4017         https://bugs.webkit.org/show_bug.cgi?id=64628
4018
4019         Reviewed by Adam Barth.
4020
4021         Covered by existing tests.
4022
4023         * html/canvas/CanvasRenderingContext2D.idl:
4024
4025 2011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>
4026
4027         REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid
4028         https://bugs.webkit.org/show_bug.cgi?id=71246
4029
4030         Reviewed by Darin Adler.
4031
4032         Tests: fast/table/crash-empty-section-calcBorder.html
4033                fast/table/crash-empty-section-fixed-layout-calcArray.html
4034
4035         The refactoring in r98738 changed the way we handle the size to avoid throwing off
4036         the memory. The new logic would end up never shrinking the grid's size (prior to that
4037         we would grow to the appropriate size and throw the excess capacity with shrinkToFit).
4038         Not shrinking would mean that we would potentially read RowStruct with the default values
4039         (for instance no |rowRenderer|).
4040
4041         addCell will properly grow the grid as needed to accomodate the rows and the protruding
4042         cells with a rowspan so we introduce a variable to keep track of the size needed. At the
4043         end, we just shrink it to this size.
4044
4045         * rendering/RenderTableSection.cpp:
4046         (WebCore::RenderTableSection::recalcCells):
4047         Introduce a variable to keep the grid size and shrink to that size to match the old code.
4048
4049 2011-11-01  Andrey Kosyakov  <caseq@chromium.org>
4050
4051         [Chromium] Some media/video-*.html layout tests occasionally crash on WIN GPU
4052         https://bugs.webkit.org/show_bug.cgi?id=71277
4053
4054         Reviewed by Simon Fraser.
4055
4056         Disabled assert() in hasVisibleDescendant() until callers are fixed.
4057
4058         * rendering/RenderLayer.h:
4059         (WebCore::RenderLayer::hasVisibleDescendant):
4060
4061 2011-11-01  Mike Reed  <reed@google.com>
4062
4063         [skia] call readPixels on canvas instead of device (will be private on device soon) and check for error
4064         https://bugs.webkit.org/show_bug.cgi?id=71284
4065
4066         Reviewed by Stephen White.
4067
4068         No new tests. This is preparing for an API change to Skia.
4069
4070         * platform/graphics/skia/ImageBufferSkia.cpp:
4071         (WebCore::getImageData):
4072         (WebCore::ImageBuffer::getUnmultipliedImageData):
4073         (WebCore::ImageBuffer::getPremultipliedImageData):
4074
4075 2011-11-01  Andreas Kling  <kling@webkit.org>
4076
4077         CSSStyleSheet: Operate directly on the rule vector internally.
4078
4079         Rubber-stamped by Antti Koivisto.
4080
4081         There's no need to go through the public, range-checking item() method
4082         working on m_children. Also changed length() -> m_children.size().
4083
4084         * css/CSSStyleSheet.cpp:
4085         (WebCore::CSSStyleSheet::~CSSStyleSheet):
4086         (WebCore::CSSStyleSheet::insertRule):
4087         (WebCore::CSSStyleSheet::addRule):
4088         (WebCore::CSSStyleSheet::deleteRule):
4089         (WebCore::CSSStyleSheet::isLoading):
4090         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
4091
4092 2011-11-01  Andreas Kling  <kling@webkit.org>
4093
4094         CSSRule: Devirtualize addSubresourceStyleURLs()
4095         https://bugs.webkit.org/show_bug.cgi?id=71285
4096
4097         Reviewed by Antti Koivisto.
4098
4099         Move addSubresourceStyleURLs() into the rules that actually implement it.
4100         Add type checks and casts at the (only) call site.
4101
4102         * css/CSSFontFaceRule.h:
4103         * css/CSSImportRule.h:
4104         * css/CSSRule.h:
4105         * css/CSSStyleRule.h:
4106         * css/CSSStyleSheet.cpp:
4107         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
4108
4109 2011-11-01  Chris Fleizach  <cfleiza