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