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