[BlackBerry] Fix assertion failure introduced by bug 87551
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-06-08  Max Feil  <mfeil@rim.com>
2
3         [BlackBerry] Fix assertion failure introduced by bug 87551
4         https://bugs.webkit.org/show_bug.cgi?id=88659
5
6         Reviewed by Antonio Gomes.
7
8         The determineRenderSlider() convenience function added in bug
9         87551 made an assumption that wasn't always true. This didn't
10         cause a functional error but it caused an assertion failure,
11         which indicates a problem with the code. PR164142.
12
13         No new tests because this case is already covered by ASSERT's.
14
15         * platform/blackberry/RenderThemeBlackBerry.cpp:
16         (WebCore::determineRenderSlider):
17
18 2012-06-08  Ion Rosca  <rosca@adobe.com>
19
20         Some overlay scrollbar API calls in ScrollAnimatorMac can lead to an assertion in RenderBox::mapAbsoluteToLocalPoint
21         https://bugs.webkit.org/show_bug.cgi?id=74111
22
23         Reviewed by Simon Fraser.
24
25         Added zero-delay timer for AppKit scroll notification that can be called during layout.
26         Manual test: ManualTests/scrollbar-crash-on-hide-scrolled-area.html
27         This assertion does not fire when running layout tests. It can be easly reproduced using a debug build by loading the manual test page.
28
29         * platform/mac/ScrollAnimatorMac.h:
30         (ScrollAnimatorMac):
31         * platform/mac/ScrollAnimatorMac.mm:
32         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
33         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
34         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledSoon):
35         (WebCore):
36         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
37
38 2012-06-08  Renata Hodovan  <reni@webkit.org>
39
40         Adding few already supported features to the FeatureSet in DOMImplementation
41         https://bugs.webkit.org/show_bug.cgi?id=86482
42
43         Text, Filter and View features are already implemented but they
44         are not added to the SVG11 feature set. This is corrected in this patch.
45
46         Reviewed by Nikolas Zimmermann.
47
48         No new testcase is needed because we already have one what checks the svg features via
49         DOMImplementation (svg/custom/svg-features.html).
50
51         * dom/DOMImplementation.cpp:
52         (WebCore::isSVG11Feature):
53
54 2012-06-08  Stephen Chenney  <schenney@chromium.org>
55
56         WebCore::ImageBuffer.cpp has broken color table code
57         https://bugs.webkit.org/show_bug.cgi?id=80321
58
59         Reviewed by Dirk Schulze.
60
61         The code in ImageBuffer::transformColorSpace had two problems that are
62         fixed by this patch.
63
64         First, it was using member variables for data
65         that is static constant. This is incredibly wasteful, as every
66         ImageBuffer that is created (and we make a lot of them) gets its own
67         copy of the LUT and the table is initialized again and again. The
68         patch replaces this with a static local, with lazy evaluation, in
69         the method that uses the tables.
70
71         Second, the code for filling the table was mapping 255 to 254, thus
72         reducing the intensity and alpha of every image it pushed through a
73         color transform.
74
75         Test: svg/filters/color-space-conversion.svg
76
77         * platform/graphics/ImageBuffer.cpp:
78         (WebCore::ImageBuffer::transformColorSpace):
79         * platform/graphics/ImageBuffer.h:
80         (ImageBuffer):
81
82 2012-06-08  Alexei Filippov  <alexeif@chromium.org>
83
84         Web Inspector: Better labels positioning on the memory pie chart
85         https://bugs.webkit.org/show_bug.cgi?id=88652
86
87         Reviewed by Vsevolod Vlasov.
88
89         * inspector/front-end/NativeMemorySnapshotView.js:
90         (WebInspector.NativeMemoryPieChart.prototype._paint.paintPercentAndLabel):
91         (WebInspector.NativeMemoryPieChart.prototype._paint):
92
93 2012-06-08  Bryan McQuade  <bmcquade@google.com>
94
95         Web Inspector: Annotate timeline records with a frame identifier
96         https://bugs.webkit.org/show_bug.cgi?id=86406
97
98         Reviewed by Vsevolod Vlasov.
99
100         Tests: Updated existing layout tests.
101
102         * inspector/InspectorController.cpp:
103         (WebCore::InspectorController::InspectorController):
104         * inspector/InspectorInstrumentation.cpp:
105         (WebCore::frameForScriptExecutionContext):
106         (WebCore):
107         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
108         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
109         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
110         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
111         (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
112         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
113         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
114         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
115         (WebCore::InspectorInstrumentation::willFireTimerImpl):
116         (WebCore::InspectorInstrumentation::willLayoutImpl):
117         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
118         (WebCore::InspectorInstrumentation::willPaintImpl):
119         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
120         (WebCore::InspectorInstrumentation::willSendRequestImpl):
121         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
122         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
123         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
124         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
125         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
126         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
127         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
128         (WebCore::InspectorInstrumentation::didRequestAnimationFrameImpl):
129         (WebCore::InspectorInstrumentation::didCancelAnimationFrameImpl):
130         (WebCore::InspectorInstrumentation::willFireAnimationFrameImpl):
131         * inspector/InspectorInstrumentation.h:
132         (InspectorInstrumentation):
133         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
134         (WebCore::InspectorInstrumentation::didInstallTimer):
135         (WebCore::InspectorInstrumentation::didRemoveTimer):
136         (WebCore::InspectorInstrumentation::willCallFunction):
137         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
138         (WebCore::InspectorInstrumentation::willDispatchEvent):
139         (WebCore::InspectorInstrumentation::willEvaluateScript):
140         (WebCore::InspectorInstrumentation::willFireTimer):
141         (WebCore::InspectorInstrumentation::willLayout):
142         (WebCore::InspectorInstrumentation::willLoadXHR):
143         (WebCore::InspectorInstrumentation::willPaint):
144         (WebCore::InspectorInstrumentation::willRecalculateStyle):
145         (WebCore::InspectorInstrumentation::willReceiveResourceData):
146         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
147         (WebCore::InspectorInstrumentation::willWriteHTML):
148         (WebCore::InspectorInstrumentation::didRequestAnimationFrame):
149         (WebCore::InspectorInstrumentation::didCancelAnimationFrame):
150         (WebCore::InspectorInstrumentation::willFireAnimationFrame):
151         * inspector/InspectorTimelineAgent.cpp:
152         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
153         (WebCore::InspectorTimelineAgent::didBeginFrame):
154         (WebCore::InspectorTimelineAgent::willCallFunction):
155         (WebCore::InspectorTimelineAgent::willDispatchEvent):
156         (WebCore::InspectorTimelineAgent::willLayout):
157         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
158         (WebCore::InspectorTimelineAgent::willPaint):
159         (WebCore::InspectorTimelineAgent::willComposite):
160         (WebCore::InspectorTimelineAgent::willWriteHTML):
161         (WebCore::InspectorTimelineAgent::didInstallTimer):
162         (WebCore::InspectorTimelineAgent::didRemoveTimer):
163         (WebCore::InspectorTimelineAgent::willFireTimer):
164         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
165         (WebCore::InspectorTimelineAgent::willLoadXHR):
166         (WebCore::InspectorTimelineAgent::willEvaluateScript):
167         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
168         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
169         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
170         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
171         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
172         (WebCore::InspectorTimelineAgent::didTimeStamp):
173         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
174         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
175         (WebCore::InspectorTimelineAgent::didRequestAnimationFrame):
176         (WebCore::InspectorTimelineAgent::didCancelAnimationFrame):
177         (WebCore::InspectorTimelineAgent::willFireAnimationFrame):
178         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
179         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
180         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
181         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
182         (WebCore::InspectorTimelineAgent::appendRecord):
183         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
184         (WebCore::InspectorTimelineAgent::pushCancelableRecord):
185         (WebCore::InspectorTimelineAgent::commitCancelableRecords):
186         * inspector/InspectorTimelineAgent.h:
187         (WebCore):
188         (WebCore::InspectorTimelineAgent::create):
189         (InspectorTimelineAgent):
190         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
191         (TimelineRecordEntry):
192         * inspector/WorkerInspectorController.cpp:
193         (WebCore::WorkerInspectorController::WorkerInspectorController):
194         * inspector/front-end/TimelinePresentationModel.js:
195         (WebInspector.TimelinePresentationModel.isEventDivider):
196         (WebInspector.TimelinePresentationModel.Record):
197
198 2012-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
199
200         Unreviewed, rolling out r119821.
201         http://trac.webkit.org/changeset/119821
202         https://bugs.webkit.org/show_bug.cgi?id=88648
203
204         Seems to have regression on Mac (Requested by kinuko on
205         #webkit).
206
207         * fileapi/File.cpp:
208         (WebCore::File::File):
209         (WebCore::File::lastModifiedDate):
210         (WebCore::File::lastModifiedDateForBinding):
211         (WebCore):
212         (WebCore::File::captureSnapshot):
213         * fileapi/File.h:
214         (File):
215         * fileapi/File.idl:
216         * platform/FileMetadata.h:
217         (WebCore::FileMetadata::FileMetadata):
218         * platform/FileSystem.h:
219         * platform/chromium/support/WebHTTPBody.cpp:
220         (WebKit::WebHTTPBody::elementAt):
221         * platform/network/BlobData.cpp:
222         (WebCore):
223         * platform/network/BlobData.h:
224         (BlobDataItem):
225         (WebCore::BlobDataItem::BlobDataItem):
226         * platform/network/FormData.cpp:
227         (WebCore::FormData::appendFile):
228         * platform/network/cf/FormDataStreamCFNet.cpp:
229         (WebCore::advanceCurrentStream):
230         * platform/network/soup/ResourceHandleSoup.cpp:
231         (WebCore::blobIsOutOfDate):
232
233 2012-06-08  Kinuko Yasuda  <kinuko@chromium.org>
234
235         Unreviewed, removing duplicated entries in gyp.
236
237         * WebCore.gypi:
238
239 2012-06-08  Arko Saha  <arko@motorola.com>
240
241         Microdata: An element with an empty itemprop='' should not get listed in the .properties list.
242         https://bugs.webkit.org/show_bug.cgi?id=88235
243
244         Reviewed by Ryosuke Niwa.
245
246         As per the specification change http://html5.org/r/6854, an element should be listed in .properties
247         if the elelement has an attribute itemprop specified and the element has one or more property names.
248
249         Test: fast/dom/MicroData/element-with-empty-itemprop.html
250
251         * html/HTMLPropertiesCollection.cpp:
252         (WebCore::HTMLPropertiesCollection::itemAfter):
253
254 2012-06-07  Kinuko Yasuda  <kinuko@chromium.org>
255
256         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
257         https://bugs.webkit.org/show_bug.cgi?id=87826
258
259         Reviewed by Kent Tamura.
260
261         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
262
263         * fileapi/File.cpp:
264         (WebCore::File::File):
265         (WebCore::File::captureSnapshot):
266         (WebCore::File::lastModifiedDate):
267         (WebCore::File::lastModifiedDateForBinding): Removed.
268         * fileapi/File.h:
269         (File):
270         * fileapi/File.idl:
271         * platform/FileMetadata.h:
272         (WebCore::FileMetadata::FileMetadata):
273         * platform/FileSystem.h:
274         * platform/chromium/support/WebHTTPBody.cpp:
275         (WebKit::WebHTTPBody::elementAt):
276         * platform/network/BlobData.h:
277         (WebCore::BlobDataItem::doNotCheckFileChange): Removed.
278         * platform/network/BlobData.cpp:
279         * platform/network/cf/FormDataStreamCFNet.cpp:
280         (WebCore::advanceCurrentStream):
281         * platform/network/soup/ResourceHandleSoup.cpp:
282         (WebCore::blobIsOutOfDate):
283
284 2012-06-08  Kent Tamura  <tkent@chromium.org>
285
286         Move form-related functions of Document to FormController
287         https://bugs.webkit.org/show_bug.cgi?id=88497
288
289         Reviewed by Hajime Morita.
290
291         A lot of files depend on Document.h. We had to build many files when we
292         touched form-related features in Document.h or
293         CheckedRadioButtons.h. This patch reduces such pain.
294
295         No new tests. Just a refactoring.
296
297         * CMakeLists.txt: Add FormController.cpp and/or FormController.h.
298         * GNUmakefile.list.am: ditto.
299         * Target.pri: ditto.
300         * WebCore.gypi: ditto.
301         * WebCore.vcproj/WebCore.vcproj: ditto.
302         * WebCore.xcodeproj/project.pbxproj: ditto.
303
304         * dom/Document.cpp: Removed form-releated features except the followings.
305         (WebCore::Document::formController): Accessor for a FormController.
306         (WebCore::Document::formElementsState):
307         Just returns FormController::formElementsState().
308         We don't create new FormController.
309         (WebCore::Document::setStateForNewFormElements):
310         Just returns FormController::setStateForNewFormElements().
311         We don't create new FormController if the specified vector is empty.
312         * dom/Document.h:
313         Moved form-related functions to FormController.
314
315         * html/FormController.cpp: Added. Moved from Document.cpp.
316         * html/FormController.h: Added. Moved from Document.h
317
318         * html/FormAssociatedElement.cpp: Use Document::formController().
319         (WebCore::FormAssociatedElement::didMoveToNewDocument):
320         (WebCore::FormAssociatedElement::insertedInto):
321         (WebCore::FormAssociatedElement::removedFrom):
322         (WebCore::FormAssociatedElement::formAttributeChanged):
323         * html/HTMLFormControlElementWithState.cpp: Use Document::formController().
324         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
325         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
326         (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
327         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
328         * html/HTMLFormElement.cpp: Use Document::formController().
329         (WebCore::HTMLFormElement::didNotifyDescendantInsertions):
330         (WebCore::HTMLFormElement::removedFrom):
331         * html/HTMLInputElement.cpp: Use Document::formController().
332         (WebCore::HTMLInputElement::~HTMLInputElement):
333         (WebCore::HTMLInputElement::didMoveToNewDocument):
334         (WebCore::HTMLInputElement::checkedRadioButtons):
335         * html/HTMLInputElement.h:
336         Declare CheckedRadioButtons. It was provided by Document.h.
337         * html/parser/HTMLConstructionSite.h:
338         Declare HTMLFormElement. It was provided by Document.h
339
340 2012-06-08  Taiju Tsuiki  <tzik@chromium.org>
341
342         Add FileSystem item to storage tree.
343         https://bugs.webkit.org/show_bug.cgi?id=72691
344
345         Reviewed by Vsevolod Vlasov.
346
347         * WebCore.gypi:
348         * WebCore.vcproj/WebCore.vcproj:
349         * inspector/compile-front-end.py:
350         * inspector/front-end/FileSystemModel.js: Added.
351         * inspector/front-end/Images/fileSystem.png: Added.
352         * inspector/front-end/ResourcesPanel.js:
353         (WebInspector.FileSystemListTreeElement):
354         (WebInspector.FileSystemListTreeElement.prototype.onexpand):
355         (WebInspector.FileSystemListTreeElement.prototype.onattach):
356         (WebInspector.FileSystemListTreeElement.prototype._handleContextMenuEvent):
357         (WebInspector.FileSystemListTreeElement.prototype._fileSystemAdded):
358         (WebInspector.FileSystemListTreeElement.prototype._fileSystemRemoved):
359         (WebInspector.FileSystemListTreeElement.prototype._fileSystemTreeElementByName):
360         (WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem):
361         (WebInspector.FileSystemTreeElement):
362         (WebInspector.FileSystemTreeElement.prototype.get fileSystemName):
363         (WebInspector.FileSystemTreeElement.prototype.get itemURL):
364         * inspector/front-end/Settings.js:
365         (WebInspector.ExperimentsSettings):
366         * inspector/front-end/WebKit.qrc:
367         * inspector/front-end/inspector.html:
368         * inspector/front-end/resourcesPanel.css:
369         (.file-system-storage-tree-item .icon):
370         * inspector/front-end/utilities.js:
371
372 2012-06-08  Kentaro Hara  <haraken@chromium.org>
373
374         REGRESSION r119802: Remove unnecessary ASSERT(!m_deletionHasBegun) from Document.h
375         https://bugs.webkit.org/show_bug.cgi?id=88528
376
377         Reviewed by Ryosuke Niwa.
378
379         m_deletionHasBegun should become true just before 'delete this'.
380
381         No tests. No change in behavior.
382
383         * dom/Document.h:
384         (WebCore::Document::guardRef):
385         (WebCore::Document::guardDeref):
386
387 2012-06-08  Adam Barth  <abarth@webkit.org>
388
389         HTTP 204 No Content responses shouldn't trigger MIME type warnings in the web inspector
390         https://bugs.webkit.org/show_bug.cgi?id=88603
391
392         Reviewed by Pavel Feldman.
393
394         A 204 response doesn't have an entity body, so its MIME type is kind of
395         meaningless.  We shouldn't spam the console with a warning about MIME
396         types.
397
398         * inspector/front-end/NetworkManager.js:
399         (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
400
401 2012-06-08  Yoshifumi Inoue  <yosin@chromium.org>
402
403         [Forms] Drop StepRange::NumberWithDecimalPlacesOrMissing
404         https://bugs.webkit.org/show_bug.cgi?id=88621
405
406         Reviewed by Kent Tamura.
407
408         This patch changes NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
409         We use NaN as indication of having value or not.
410
411         No new tests, because this patch doesn't change behavior.
412
413         * html/DateInputType.cpp:
414         (WebCore::DateInputType::createStepRange): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
415         * html/DateTimeInputType.cpp:
416         (WebCore::DateTimeInputType::createStepRange): ditto.
417         * html/DateTimeLocalInputType.cpp:
418         (WebCore::DateTimeLocalInputType::createStepRange): ditto.
419         * html/MonthInputType.cpp:
420         (WebCore::MonthInputType::createStepRange): ditto.
421         * html/NumberInputType.cpp:
422         (WebCore::NumberInputType::createStepRange): ditto.
423         * html/RangeInputType.cpp:
424         (WebCore::RangeInputType::createStepRange): ditto.
425         * html/StepRange.cpp:
426         (WebCore::StepRange::StepRange): Checks value is finite or not.
427         (WebCore::StepRange::parseStep): Replace NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
428         * html/StepRange.h:
429         (StepRange): Removed NumberWithDecimalPlacesOrMissing.
430         * html/TimeInputType.cpp:
431         (WebCore::TimeInputType::createStepRange):  NumberWithDecimalPlacesOrMissing to NumberWithDecimalPlaces.
432         * html/WeekInputType.cpp:
433         (WebCore::WeekInputType::createStepRange): ditto.
434
435 2012-06-08  Kentaro Hara  <haraken@chromium.org>
436
437         Unreviewed. Fixed a comment, pointed out by ap@.
438
439         * platform/TreeShared.h:
440         (WebCore):
441
442 2012-06-08  Noel Gordon  <noel.gordon@gmail.com>
443
444         [chromium] WEBP image blue and red color channels reversed on Android
445         https://bugs.webkit.org/show_bug.cgi?id=88613
446
447         Reviewed by Kent Tamura.
448
449         No new tests. Covered by test fast/images/webp-image-decoding.html though I'm
450         not sure where/how the Androids run their layout tests.
451
452         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
453         (outputMode): Detect little-endian Skia with a blue pixel shift (aka Android)
454         which seems to be the way for them per bug 75861.
455
456 2012-06-08  Ryosuke Niwa  <rniwa@webkit.org>
457
458         Remove the assertion that has been moved to TreeScope after r119802.
459
460         * dom/Document.cpp:
461         (WebCore::Document::removedLastRef):
462
463 2012-06-07  Kentaro Hara  <haraken@chromium.org>
464
465         Reduce Node object size from 72 byte to 64 byte
466         https://bugs.webkit.org/show_bug.cgi?id=88528
467
468         Reviewed by Ryosuke Niwa.
469
470         This patch removes all virtual methods from TreeShared.h,
471         by which we can remove a virtual method table pointer (8 byte
472         in a 64bit architechture) from each Node object. Consequently,
473         this patch reduces the Node object size from 72 byte to 64 byte.
474
475         e.g. The HTML spec (http://www.whatwg.org/specs/web-apps/current-work/)
476         contains 325640 Node objects. Thus this patch saves 325640 * 8 byte = 2.6 MB.
477
478         e.g. sizeof(Element) is reduced from 104 byte to 96 byte.
479
480         - In multiple inheritance, a virtual method table pointer is allocated
481         for each base class that has virtual methods. For example, for
482         'class A : public B, C {};' where B and C have virtual methods,
483         two virtual method table pointers are allocated for each A object.
484         In this patch, A = Node, B = EventTarget, and C = TreeShared.
485         By removing the virtual methods from TreeShared, we can save the virtual
486         method table pointer for TreeShared. 8 byte saving.
487
488         - Node and SVGElementInstance are the only classes that inherit TreeShared.
489
490         - This patch removes virtual TreeShared::removeLastRef() and implements
491         virtual Node::removeLastRef() and virtual SVGElementInstance::removeLastRef().
492         Node::removeLastRef() calls 'delete this' for 'this' of type Node*,
493         and SVGElementInstance::removeLastRef() calls 'delete this' for 'this' of type
494         SVGElementInstance*.
495
496         - This patch removes the virtual destructor of TreeShared. This removal is safe
497         because (1) no one calls 'delete this' for 'this' of type TreeShared*,
498         and (2) both Node and SVGElementInstance have virtual destructor.
499
500         No change in behavior. Confirm no regression in existing tests.
501
502         * dom/ContainerNode.cpp:
503         (WebCore::callRemovedLastRef):
504         (WebCore):
505         * dom/Node.h:
506         (WebCore::Node::removedLastRef):
507         * platform/TreeShared.h:
508         (WebCore):
509         (TreeShared):
510         (WebCore::TreeShared::deref):
511         * svg/SVGElementInstance.cpp:
512         (WebCore::callRemovedLastRef):
513         (WebCore):
514         * svg/SVGElementInstance.h:
515         (WebCore::SVGElementInstance::removedLastRef):
516
517         * WebCore.order: Added a symbol for callRemovedLastRef().
518         * WebCore.exp.in: Ditto.
519
520 2012-06-07  Takashi Sakamoto  <tasak@google.com>
521
522         ShadowRoot needs resetStyleInheritance
523         https://bugs.webkit.org/show_bug.cgi?id=84048
524
525         Added resetStyleInheritance API to ShadowRoot. The spec URL is
526         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes
527         To implement the API, modified StyleResolver to use empty style
528         instead of parent style if resetStyleInheritance is true,
529         and a node and its parent node are placed in different shadow trees.
530
531         Reviewed by Hajime Morita.
532
533         Test: fast/dom/shadow/shadow-root-resetStyleInheritance.html
534               fast/dom/shadow/shadow-root-resetStyleInheritance-expected.html
535
536         * css/StyleResolver.cpp:
537         (WebCore::StyleResolver::initForStyleResolve):
538         Set m_parentStyle to NULL when resetStyleInheritance.
539         (WebCore::StyleResolver::documentSettings):
540         Added a new method to obtain current document's settings.
541         (WebCore::StyleResolver::initializeFontStyle):
542         Initialize m_style by using document settings. Its code was move
543         from the code initializing font style in applyProperty.
544         (WebCore::StyleResolver::styleForElement):
545         Initialize font style if m_parentStyle is NULL. The old code just
546         used style() and don't touch font style. The new code uses the above
547         initializeFontStyle.
548         (WebCore::StyleResolver::applyProperty):
549         Moved a code for initializing font style as "initial" to
550         a new method: initializeFontStyle and modified to use the method.
551         Modified to use documentSettings().
552         (WebCore::StyleResolver::checkForGenericFamilyChange):
553         Modified to use documentSettings().
554         * css/StyleResolver.h:
555         (WebCore::StyleResolver::documentSettings):
556         (WebCore::StyleResolver::initializeFontStyle):
557         Added two new methods to class StyleResolver.
558         * dom/NodeRenderingContext.cpp:
559         (WebCore::NodeRenderingContext::NodeRenderingContext):
560         Modified to calculate m_resetStyleInheritance in its constructor.
561         * dom/NodeRenderingContext.h:
562         (WebCore::NodeRenderingContext::resetStyleInheritance):
563         Implemented a new method, just returning m_resetStyleInheritance.
564         * dom/ShadowRoot.cpp:
565         (WebCore::ShadowRoot::setResetStyleInheritance):
566         Modified to force to recalculate children's styles if
567         resetStyleInheritance is changed.
568         * dom/ShadowRoot.h:
569         (ShadowRoot):
570         Added resetStyleInheritance getter and setter.
571         * dom/ShadowRoot.idl:
572         Added an attribute, resetStyleInheritance.
573         * dom/TreeScope.cpp:
574         (WebCore::TreeScope::resetStyleInheritance):
575         * dom/TreeScope.h:
576         (TreeScope):
577         Added resetStyleInheritance's default getter.
578         The getter will be overrided by class ShadowRoot's getter.
579
580 2012-06-07  Victor Carbune  <victor@rosedu.org>
581
582         addTextTrack should set track mode to HIDDEN
583         https://bugs.webkit.org/show_bug.cgi?id=88317
584
585         Reviewed by Eric Carlson.
586
587         Updated existing test.
588
589         * html/HTMLMediaElement.cpp:
590         (WebCore::HTMLMediaElement::addTextTrack): Set the default parameters
591         for the newly created TextTrack.
592         * html/track/TextTrack.cpp:
593         (WebCore::TextTrack::TextTrack):
594
595 2012-06-07  Li Yin  <li.yin@intel.com>
596
597         FileAPI: Blob should support ArrayBufferView instead of ArrayBuffer for Constructor Parameters
598         https://bugs.webkit.org/show_bug.cgi?id=88294
599
600         Reviewed by Jian Li.
601
602         From Spec: http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob
603         Currently we add the support for ArrayBufferView, while still keeping ArrayBuffer for
604         backward compatibility. We will remove it in the near future.
605
606         Test: fast/files/blob-constructor.html
607
608         * bindings/js/JSBlobCustom.cpp:
609         (WebCore::JSBlobConstructor::constructJSBlob):
610         * bindings/v8/custom/V8BlobCustom.cpp:
611         (WebCore::V8Blob::constructorCallback):
612         * fileapi/WebKitBlobBuilder.cpp:
613         (WebCore::WebKitBlobBuilder::append):
614         (WebCore):
615         * fileapi/WebKitBlobBuilder.h:
616         (WebCore):
617         (WebKitBlobBuilder):
618         * fileapi/WebKitBlobBuilder.idl: Add support for ArrayBufferView in append method
619
620 2012-06-07  MORITA Hajime  <morrita@google.com>
621
622         A style in an older shadow subtree causes assert when composing with <shadow>
623         https://bugs.webkit.org/show_bug.cgi?id=88299
624
625         Reviewed by Dimitri Glazkov.
626
627         InsertionPoint::attach() assumes its distributed content not being attach()-ed.
628         But this assumption can break. This change added a guard for that.
629         This can happen for shadow boundaries in general. But ShadowRoot already handles that case.
630
631         Test: fast/dom/shadow/insertion-point-shadow-crash.html
632
633         * html/shadow/InsertionPoint.cpp:
634         (WebCore::InsertionPoint::attach):
635
636 2012-06-07  Max Feil  <mfeil@rim.com>
637
638         [BlackBerry] Show correct fullscreen button image (media controls)
639         https://bugs.webkit.org/show_bug.cgi?id=88563
640
641         Reviewed by Antonio Gomes.
642
643         PR159306: Show "exit" fullscreen button image instead of "enter"
644         fullscreen button image when in fullscreen mode (HTML5 media
645         controls).
646
647         I am not providing a test due to the simplicity of this patch
648         and the relative difficulty and maintainability issues associated
649         with testing how an image is rendered.
650
651         * platform/blackberry/RenderThemeBlackBerry.cpp:
652         (WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton):
653
654 2012-06-07  Noel Gordon  <noel.gordon@gmail.com>
655
656         [chromium] Use WEBPImportPictureRGBX|BGRX to import picture data
657         https://bugs.webkit.org/show_bug.cgi?id=88218
658
659         Reviewed by Kent Tamura.
660
661         Stop using the RGBA and RGBA variants of the picture import routines (since
662         these will import alpha channel data in a future libwebp). Use the RGBX and
663         BGRX variants to import picture data for encoding to make it clear that the
664         alpha channel is (and must be) ignored.
665
666         Test: fast/canvas/canvas-toDataURL-webp.html
667
668         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
669         (WebCore::rgbPictureImport):
670         (WebCore::importPictureBGRX): Use WEBPImportPictureBGRX for picture imports
671         that must ignore the alpha channel. Change the template parameter to be the
672         premultiplied alpha state of the input image data.
673         (WebCore::importPictureRGBX): Use WEBPImportPictureRGBX, ditto.
674         (WebCore::encodePixels): Invert the sense of the template parameter to make
675         it now indicate the premultiplied alpha state of the input image data.
676
677 2012-06-07  Takashi Sakamoto  <tasak@google.com>
678
679         Improve the performance of pushScope in StyleResolver
680         https://bugs.webkit.org/show_bug.cgi?id=88222
681
682         Reviewed by Hajime Morita.
683
684         As setupScopeStack always sets m_scopeStackParent to be NULL,
685         m_scopeStack is never reused. m_scopeStackParent should be the last
686         element of m_scopeStack.
687
688         No new tests, because fast/css/style-scoped/ uses pushScope,
689         popScope and setupScopeStack and checks whether there exists
690         any crash bug or not. And this patch doesn't change any behavior
691         of scoped author syltes.
692
693         * css/StyleResolver.cpp:
694         (WebCore::StyleResolver::setupScopeStack):
695         Modified to set m_scopeSackParent to be the last element of
696         m_scopeStack.
697         (WebCore::StyleResolver::popScope):
698         Modified to remove the last element if m_scopeStack is not empty and
699         the last element of m_scopeStack has the same scope as the scoping
700         element given by the argument.
701
702 2012-06-07  Mark Pilgrim  <pilgrim@chromium.org>
703
704         [Chromium] Move didStartWorkerRunLoop to Platform.h
705         https://bugs.webkit.org/show_bug.cgi?id=88562
706
707         Reviewed by Adam Barth.
708
709         Part of a refactoring series. See tracking bug 82948.
710
711         * WebCore.gyp/WebCore.gyp:
712         * bindings/v8/WorkerScriptController.cpp:
713         (WebCore::WorkerScriptController::~WorkerScriptController):
714         * platform/chromium/PlatformSupport.h:
715         (WebCore):
716         * workers/WorkerThread.cpp:
717         (WebCore::WorkerThread::workerThread):
718
719 2012-06-07  Mike West  <mkwst@chromium.org>
720
721         Dropping m_startingLineNumber property from StyledElement.
722         https://bugs.webkit.org/show_bug.cgi?id=86848
723
724         Reviewed by Adam Barth.
725
726         We can have the same effect by moving the line-number calculation
727         directly into StyledElement::styleAttributeChanged. This means that
728         subsequent changes to the style attribute (via script) won't generate
729         error messages with line numbers, but that's an acceptable tradeoff.
730
731         Behavior is covered by existing CSP tests.
732
733         * dom/StyledElement.cpp:
734         (WebCore::StyledElement::StyledElement):
735         (WebCore::StyledElement::styleAttributeChanged):
736         * dom/StyledElement.h:
737         (WebCore::StyledElement::destroyInlineStyle):
738
739 2012-06-07  Peter Beverloo  <peter@chromium.org>
740
741         Initialize m_document in AXObjectCache's constructor for !HAVE(ACCESSIBILITY) builds
742         https://bugs.webkit.org/show_bug.cgi?id=88527
743
744         Reviewed by Adam Barth.
745
746         Initialize the m_document member with the passed on document in the stubbed
747         AXObjectCache constructor. No behavioral changes.
748
749         * accessibility/AXObjectCache.h:
750         (WebCore::AXObjectCache::AXObjectCache):
751
752 2012-06-05  James Robinson  <jamesr@chromium.org>
753
754         [chromium] Move deferral-related logic out of Canvas2DLayerChromium
755         https://bugs.webkit.org/show_bug.cgi?id=86050
756
757         Reviewed by Stephen White.
758
759         This removes Canvas2DLayerChromium and puts the deferral and double-buffering related logic in a new class,
760         Canvas2DLayerBridge, that uses TextureLayerChromium for compositing.  The bridge is responsible for managing the
761         front texture when double buffering is active, inserting the correct makeContextCurrent() and flush() calls on
762         the GraphicsContext3D and SkCanvas when appropriate, and owning the lifetime of the layer.
763
764         * WebCore.gypi:
765         * platform/graphics/chromium/Canvas2DLayerBridge.cpp: Added.
766         (WebCore):
767         (AcceleratedDeviceContext):
768         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
769         (WebCore::AcceleratedDeviceContext::prepareForDraw):
770         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
771         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
772         (WebCore::Canvas2DLayerBridge::skCanvas):
773         (WebCore::Canvas2DLayerBridge::prepareTexture):
774         (WebCore::Canvas2DLayerBridge::context):
775         (WebCore::Canvas2DLayerBridge::layer):
776         (WebCore::Canvas2DLayerBridge::contextAcquired):
777         * platform/graphics/chromium/Canvas2DLayerBridge.h: Added.
778         (WebCore):
779         (Canvas2DLayerBridge):
780         (WebCore::Canvas2DLayerBridge::create):
781         * platform/graphics/chromium/Canvas2DLayerChromium.cpp: Removed.
782         * platform/graphics/chromium/Canvas2DLayerChromium.h: Removed.
783         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
784         * platform/graphics/chromium/ImageBufferDataSkia.h:
785         (WebCore):
786         (ImageBufferData):
787         * platform/graphics/chromium/TextureLayerChromium.cpp:
788         (WebCore::TextureLayerChromium::willModifyTexture):
789             willModifyTexture() is called whenever the texture currently owned by the TextureLayerChromium will be
790             modified by a system out of the compositor's control. It makes sure that the compositor does not attempt to
791             draw with the potentially-modified texture until the next commit. For canvas, this is used when threading is
792             enabled and a non-deferrable drawing command is invoked from JS.
793         (WebCore):
794         * platform/graphics/chromium/TextureLayerChromium.h:
795         (TextureLayerChromium):
796         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
797         (WebCore::CCTextureUpdater::hasMoreUpdates):
798         (WebCore::CCTextureUpdater::update):
799         (WebCore::CCTextureUpdater::clear):
800         * platform/graphics/chromium/cc/CCTextureUpdater.h:
801         (CCTextureUpdater):
802         * platform/graphics/skia/ImageBufferSkia.cpp:
803         (WebCore::createAcceleratedCanvas):
804         (WebCore::ImageBuffer::~ImageBuffer):
805         (WebCore::ImageBuffer::context):
806         (WebCore::ImageBuffer::platformLayer):
807
808 2012-06-07  Patrick Gansterer  <paroga@webkit.org>
809
810         Remove HAVE(PATH_BASED_BORDER_RADIUS_DRAWING)
811         https://bugs.webkit.org/show_bug.cgi?id=87931
812
813         Reviewed by Beth Dakin.
814
815         r62035 added HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until all ports implement
816         GraphicsContext::clipConvexPolygon(). All major ports define HAVE_PATH_BASED_BORDER_RADIUS_DRAWING in the
817         meantime and the alternative path has unnecessary maintainace costs and even don't compile at the moment.
818
819         * rendering/RenderBoxModelObject.cpp:
820         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
821         * rendering/RenderObject.cpp:
822         (WebCore::RenderObject::paintFocusRing):
823         * rendering/RenderObject.h:
824         (RenderObject):
825
826 2012-06-06  Vincent Scheib  <scheib@chromium.org>
827
828         Add new Pointer Lock spec events webkitpointerlockchange and webkitpointerlockerror
829         https://bugs.webkit.org/show_bug.cgi?id=88377
830
831         Reviewed by Dimitri Glazkov.
832
833         Part of a series of refactoring changes to update pointer lock API to
834         the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402
835
836         New change and error events added. Follow up patches will remove
837         the previous callbacks and pointerlocklost event. Tests updated
838         to include the new events, and a new test added specifically for
839         the new events, pointerlockchange-pointerlockerror-events.html.
840
841         Test: pointer-lock/pointerlockchange-pointerlockerror-events.html
842
843         * dom/Document.h:
844         (Document):
845         * dom/Document.idl:
846         * dom/EventNames.h:
847         (WebCore):
848         * page/PointerLockController.cpp:
849         (WebCore::PointerLockController::requestPointerLock):
850         (WebCore::PointerLockController::didAcquirePointerLock):
851         (WebCore::PointerLockController::didNotAcquirePointerLock):
852         (WebCore::PointerLockController::didLosePointerLock):
853         (WebCore::PointerLockController::enqueueEvent):
854         (WebCore):
855         * page/PointerLockController.h:
856         (PointerLockController):
857
858 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
859
860         Unreviewed, rolling out r119744.
861         http://trac.webkit.org/changeset/119744
862         https://bugs.webkit.org/show_bug.cgi?id=88584
863
864         Fails assertions in debug builds (Requested by jamesr_ on
865         #webkit).
866
867         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
868         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
869         (WebCore::CCIOSurfaceLayerImpl::willDraw):
870
871 2012-06-07  Julien Chaffraix  <jchaffraix@webkit.org>
872
873         Cache RenderLayer::isRootLayer for better performance
874         https://bugs.webkit.org/show_bug.cgi?id=88570
875
876         Reviewed by Ojan Vafai.
877
878         Caching covered by existing tests.
879
880         RenderLayer::isRootLayer()'s answer will be the same during the RenderLayer's
881         lifetime as a RenderLayer is tied to a RenderBoxModelObject. This change caches
882         isRootLayer value in the constructor.
883
884         On http://dglazkov.github.com/performance-tests/biggrid.html with a 100,000 rows
885         by 100 columns table, it saves about 10% on the paint time during scrolling on
886         my machine (going from 50ms to 45ms). It would expect all code paths to see some
887         improvement as checking renderer()->isRenderView() was pretty common.
888
889         * rendering/RenderLayer.cpp:
890         (WebCore::RenderLayer::RenderLayer):
891         Added code to cache the result of renderer()->isRenderView() here.
892
893         (WebCore::RenderLayer::stackingContext):
894         (WebCore::isPositionedContainer):
895         (WebCore::isFixedPositionedContainer):
896         (WebCore::RenderLayer::enclosingTransformedAncestor):
897         (WebCore::RenderLayer::clippingRootForPainting):
898         (WebCore::shouldSuppressPaintingLayer):
899         (WebCore::RenderLayer::hitTest):
900         (WebCore::RenderLayer::intersectsDamageRect):
901         * rendering/RenderLayer.h:
902         (WebCore::RenderLayer::isStackingContext):
903         Updated all the call sites to use isRootLayer() instead of renderer()->isRenderView()
904         as it is faster.
905
906         (WebCore::RenderLayer::isRootLayer):
907         Added our caching here. Also made m_canSkipRepaintRectsUpdateOnScroll to follow
908         m_isRootLayer example.
909
910 2012-06-07  Takashi Sakamoto  <tasak@google.com>
911
912         Incorrect border rendering when border radius is above 2px.
913         https://bugs.webkit.org/show_bug.cgi?id=88046
914
915         Fixing findInnerVertex's logic to decide which is the better line
916         to find an inner vertex, x=center point's x of a rendering box or
917         y=center point's y of a rendering box.
918
919         Reviewed by Simon Fraser.
920
921         Test: fast/borders/border-radius-valid-border-clipping.html
922
923         * rendering/RenderBoxModelObject.cpp:
924         (WebCore::findInnerVertex):
925
926 2012-06-07  Edaena Salinas Jasso  <edaena@apple.com>
927
928         Should fire error event for empty 404 script
929         https://bugs.webkit.org/show_bug.cgi?id=50589
930         
931         Reviewed by Brady Eidson.
932
933         Tests: 
934         http/tests/loading/fire-error-event-empty-404-script.html
935         http/tests/loading/fire-error-script-no-content-type.html
936
937         * loader/SubresourceLoader.cpp:
938         (WebCore::SubresourceLoader::didReceiveResponse): We should check for http status 
939         codes here to stop depending on the response being non-empty.
940         (WebCore::SubresourceLoader::didReceiveData): Moved the http status check but
941         avoid messing with multipart responses.
942         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError): Renamed from 
943         errorLoadingResource for clarity.
944
945         * loader/SubresourceLoader.h:
946         * loader/cf/SubresourceLoaderCF.cpp:
947         (WebCore::SubresourceLoader::didReceiveDataArray):
948         Updated for errorLoadingResource renaming.
949
950 2012-06-07  Konrad Piascik  <kpiascik@rim.com>
951
952         [BlackBerry] Update PlayBook's User Agent String for Web Inspector
953         https://bugs.webkit.org/show_bug.cgi?id=88543
954
955         Reviewed by Antonio Gomes.
956
957         We expect users to upgrade their devices so developers only need the latest UA String.
958
959         No tests needed.
960
961         * inspector/front-end/SettingsScreen.js:
962         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
963
964 2012-06-07  Shawn Singh  <shawnsingh@chromium.org>
965
966         [chromium] Remove obsolete FIXME comment about a layer sorting bug.
967         https://bugs.webkit.org/show_bug.cgi?id=88546
968
969         Reviewed by James Robinson.
970
971         No tests needed, only comment changed. The comment referred to a
972         potential bug that actually will not occur. The W3C spec on CSS 3d
973         transforms indicates that layers that do not share the same "3d
974         rendering context" do not sort together, and our existing code
975         sorts this way already.
976
977         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
978         (WebCore::subtreeShouldRenderToSeparateSurface):
979
980 2012-06-07  Adam Barth  <abarth@webkit.org>
981
982         Settings::defaultDeviceScaleFactor is redundant with Page::deviceScaleFactor
983         https://bugs.webkit.org/show_bug.cgi?id=88375
984
985         Reviewed by James Robinson.
986
987         This patch removes Settings::defaultDeviceScaleFactor because it is
988         redundant with Page::deviceScaleFactor now that we no longer support
989         target-densitydpi.  Page::deviceScaleFactor is the canonical place to
990         store the device scale factor.
991
992         * WebCore.exp.in:
993         * page/Settings.cpp:
994         (WebCore::Settings::Settings):
995         (WebCore):
996         * page/Settings.h:
997         (Settings):
998         * testing/InternalSettings.cpp:
999         (WebCore::InternalSettings::setDeviceScaleFactor):
1000
1001 2012-06-07  Alec Flett  <alecflett@chromium.org>
1002
1003         IndexedDB: Error codes, phase one
1004         https://bugs.webkit.org/show_bug.cgi?id=88459
1005
1006         Reviewed by Tony Chang.
1007
1008         This phase gets rid of the now-deprecated NOT_ALLOWED_ERR and
1009         NON_TRANSIENT_ERR from earlier versions of the spec, and
1010         normalizes the place where TypeError should be thrown so that it's
1011         easier to update when the bindings change.
1012
1013         No new tests: existing tests cover these changes and have been updated.
1014
1015         * Modules/indexeddb/IDBCursor.cpp:
1016         (WebCore::IDBCursor::advance):
1017         (WebCore::IDBCursor::continueFunction):
1018         (WebCore::IDBCursor::stringToDirection):
1019         (WebCore::IDBCursor::directionToString):
1020         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
1021         (WebCore::IDBCursorBackendImpl::update):
1022         (WebCore::IDBCursorBackendImpl::deleteFunction):
1023         * Modules/indexeddb/IDBDatabase.cpp:
1024         (WebCore::IDBDatabase::createObjectStore):
1025         (WebCore::IDBDatabase::deleteObjectStore):
1026         (WebCore::IDBDatabase::setVersion):
1027         (WebCore::IDBDatabase::transaction):
1028         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1029         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1030         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
1031         (WebCore::IDBDatabaseBackendImpl::setVersion):
1032         * Modules/indexeddb/IDBDatabaseException.cpp:
1033         (WebCore):
1034         * Modules/indexeddb/IDBDatabaseException.h:
1035         * Modules/indexeddb/IDBDatabaseException.idl:
1036         * Modules/indexeddb/IDBFactory.cpp:
1037         (WebCore::IDBFactory::open):
1038         (WebCore::IDBFactory::deleteDatabase):
1039         * Modules/indexeddb/IDBObjectStore.cpp:
1040         (WebCore::IDBObjectStore::index):
1041         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1042         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1043         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
1044         * Modules/indexeddb/IDBRequest.cpp:
1045         (WebCore::IDBRequest::result):
1046         (WebCore::IDBRequest::errorCode):
1047         (WebCore::IDBRequest::webkitErrorMessage):
1048         * Modules/indexeddb/IDBTransaction.cpp:
1049         (WebCore::IDBTransaction::objectStore):
1050         (WebCore::IDBTransaction::stringToMode):
1051         (WebCore::IDBTransaction::modeToString):
1052         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1053         (WebCore::IDBTransactionBackendImpl::objectStore):
1054
1055 2012-06-07  Dana Jansens  <danakj@chromium.org>
1056
1057         [chromium] Free texture from CCIOSurfaceLayerImpl when it is destroyed
1058         https://bugs.webkit.org/show_bug.cgi?id=88371
1059
1060         Reviewed by James Robinson.
1061
1062         Unit test: CCLayerTreeHostImplTest.layersFreeTextures
1063
1064         * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
1065         (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
1066         (WebCore::CCIOSurfaceLayerImpl::willDraw):
1067
1068 2012-06-07  Peter Beverloo  <peter@chromium.org>
1069
1070         Buildfix for ENABLE_OVERFLOW_SCROLLING=0 (though defined)
1071         https://bugs.webkit.org/show_bug.cgi?id=88564
1072
1073         Reviewed by Adam Barth.
1074
1075         Where ENABLE(X) mandates that X both has to be defined and evaluates to
1076         true as a lone preprocessor statement, there were two places in the CSS
1077         property and value input files where only was checked whether is has
1078         been defined. This also goes against other #ifdefs in those files.
1079
1080         * css/CSSPropertyNames.in:
1081         * css/CSSValueKeywords.in:
1082
1083 2012-06-07  Ami Fischman  <fischman@chromium.org>
1084
1085         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
1086         https://bugs.webkit.org/show_bug.cgi?id=88349
1087
1088         Reviewed by Adam Barth.
1089
1090         Test: http/tests/security/video-cross-origin-readback.html
1091
1092         * html/HTMLMediaElement.cpp:
1093         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
1094         (WebCore):
1095         * html/HTMLMediaElement.h:
1096         (HTMLMediaElement):
1097         * html/canvas/CanvasRenderingContext.cpp:
1098         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1099         * platform/graphics/MediaPlayer.cpp:
1100         (WebCore::MediaPlayer::didPassCORSAccessCheck):
1101         (WebCore):
1102         * platform/graphics/MediaPlayer.h:
1103         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
1104         (MediaPlayer):
1105         * platform/graphics/MediaPlayerPrivate.h:
1106         (WebCore::MediaPlayerPrivateInterface::didPassCORSAccessCheck):
1107         (MediaPlayerPrivateInterface):
1108
1109 2012-06-07  Mark Hahnenberg  <mhahnenberg@apple.com>
1110
1111         Worker tear-down can re-enter JSC during GC finalization
1112         https://bugs.webkit.org/show_bug.cgi?id=88449
1113
1114         Reviewed by Geoffrey Garen.
1115
1116         No new tests. 
1117
1118         This is the first of two patches to fix this issue with Workers.
1119
1120         * workers/AbstractWorker.cpp:
1121         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
1122         will be called elsewhere in contextDestroyed().
1123
1124 2012-06-07  Jer Noble  <jer.noble@apple.com>
1125
1126         sometimes all slaved videos don't start playing
1127         https://bugs.webkit.org/show_bug.cgi?id=88553
1128
1129         Reviewed by Darin Adler.
1130
1131         Test: media/media-controller-time-clamp.html
1132
1133         Some PlatformClock classes will occasionally return times < 0 and will
1134         always return times slightly > duration() when playback has ended.  Clamp
1135         the value of currentTime() to the specified [0..duration] range.
1136
1137         * html/MediaController.cpp:
1138         (MediaController::currentTime):
1139
1140 2012-06-07  Simon Fraser  <simon.fraser@apple.com>
1141
1142         Optimize FrameView::scrollXForFixedPosition() / scrollYForFixedPosition()
1143         https://bugs.webkit.org/show_bug.cgi?id=88475
1144
1145         Reviewed by Sam Weinig.
1146         
1147         FrameView's scrollXForFixedPosition() and scrollYForFixedPosition()
1148         methods were often called together, but they do duplicate work,
1149         including calling into platform widget code which might be slow.
1150         
1151         Fix by converting scrollOffsetForFixedPosition() from being a wrapper
1152         that just calls scrollXForFixedPosition() and scrollYForFixedPosition()
1153         to the method that does all the work, calling just once into platform
1154         widget code.
1155         
1156         Changed callers to use scrollOffsetForFixedPosition() rather than make
1157         two separate method calls.
1158         
1159         Added ScrollView::layoutSize() and visibleSize() methods for
1160         convenience.
1161         
1162         Removed FrameView::scrollXForFixedPosition and FrameView::scrollYForFixedPosition
1163         to avoid inefficient callers in future.
1164
1165         No new tests; refactoring only.
1166
1167         * page/FrameView.cpp:
1168         (WebCore::fixedPositionScrollOffset):
1169         (WebCore::FrameView::scrollOffsetForFixedPosition):
1170         * page/FrameView.h: Removed scrollXForFixedPosition and scrollYForFixedPosition.
1171         * platform/ScrollView.cpp:
1172         (WebCore::ScrollView::layoutSize):
1173         * platform/ScrollView.h:
1174         (WebCore::ScrollView::visibleSize):
1175         * rendering/RenderLayer.cpp:
1176         (WebCore::RenderLayer::backgroundClipRect):
1177         * rendering/RenderLayer.h:
1178         (WebCore::ClipRect::move):
1179         * rendering/RenderLayerCompositor.cpp:
1180         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1181         * rendering/RenderView.cpp:
1182         (WebCore::RenderView::computeRectForRepaint):
1183
1184 2012-06-07  Raymes Khoury  <raymes@chromium.org>
1185
1186         Incorrect rect-based hit-test result for culled-inline elements
1187         https://bugs.webkit.org/show_bug.cgi?id=85849
1188
1189         Reviewed by Levi Weintraub.
1190
1191         Modified code which blindly adds culled inlines to rect-based hit-test
1192         results so that it only does so if the child node does not fully cover
1193         the hit-test region.
1194
1195         Test: fast/dom/nodesFromRect-culled-inline.html
1196
1197         * rendering/HitTestResult.cpp:
1198         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
1199
1200 2012-06-07  Daniel Erat  <derat@chromium.org>
1201
1202         Make Skia backend honor requests for subpixel-positioned text.
1203         https://bugs.webkit.org/show_bug.cgi?id=88263
1204
1205         Reviewed by Tony Chang.
1206
1207         Add subpixel positioning field to FontRenderStyle and rename
1208         subpixel rendering field.
1209
1210         Pass setting to SkPaint in FontPlatformDataHarfBuzz and remove
1211         round() call when computing glyph widths in SimpleFontDataSkia.
1212
1213         Test: platform/chromium-linux/fast/text/chromium-linux-text-subpixel-positioning.html
1214
1215         * platform/graphics/blackberry/skia/PlatformSupport.cpp:
1216         (WebCore::setFontRenderStyleDefaults):
1217         (WebCore::PlatformSupport::getRenderStyleForStrike):
1218         * platform/graphics/chromium/FontRenderStyle.h:
1219         (WebCore::FontRenderStyle::FontRenderStyle):
1220         (WebCore::FontRenderStyle::operator==):
1221         (FontRenderStyle):
1222         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
1223         (WebCore):
1224         (WebCore::FontPlatformData::setSubpixelRendering):
1225         (WebCore::FontPlatformData::setSubpixelPositioning):
1226         (WebCore::FontPlatformData::setupPaint):
1227         (WebCore::FontPlatformData::querySystemForRenderStyle):
1228         * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
1229         (FontPlatformData):
1230         * platform/graphics/skia/SimpleFontDataSkia.cpp:
1231         (WebCore::SimpleFontData::platformWidthForGlyph):
1232
1233 2012-06-06  Dana Jansens  <danakj@chromium.org>
1234
1235         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
1236         https://bugs.webkit.org/show_bug.cgi?id=88469
1237
1238         Reviewed by James Robinson.
1239
1240         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
1241
1242         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1243         (WebCore::shouldDrawLayer):
1244         (WebCore):
1245         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1246         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1247
1248 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
1249
1250         Web Inspector: sorting of object fields is broken in heap profiler
1251         https://bugs.webkit.org/show_bug.cgi?id=88532
1252
1253         A recent change to heap profiler has replaced getters with functions.
1254         Function calls were missing in couple places after that change.
1255
1256         Reviewed by Vsevolod Vlasov.
1257
1258         Tests: inspector/profiler/heap-snapshot-summary-sorting-fields.html
1259                inspector/profiler/heap-snapshot-summary-sorting-instances.html
1260
1261         * inspector/front-end/HeapSnapshot.js:
1262         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
1263
1264 2012-06-07  Alexander Pavlov  <apavlov@chromium.org>
1265
1266         Web Inspector: Consider Ctrl+Shift+key as valid zoom change combinations
1267         https://bugs.webkit.org/show_bug.cgi?id=88520
1268
1269         Reviewed by Vsevolod Vlasov.
1270
1271         * inspector/front-end/inspector.js:
1272         (WebInspector.documentKeyDown):
1273
1274 2012-06-07  Arvid Nilsson  <anilsson@rim.com>
1275
1276         [BlackBerry] Allow WebPageCompositor to blend a transparent web page
1277         https://bugs.webkit.org/show_bug.cgi?id=88233
1278
1279         Reviewed by Rob Buis.
1280
1281         RIM PR #159998
1282
1283         Add a parameter to LayerRenderer::compositeBuffer() indicating whether
1284         the buffer contents are opaque, and set the GL blend mode accordingly.
1285
1286         This is not currently testable using BlackBerry testing infrastructure.
1287
1288         Reviewed internally by Jakob Petsovits.
1289
1290         * platform/graphics/blackberry/LayerRenderer.cpp:
1291         (WebCore::LayerRenderer::compositeBuffer):
1292         * platform/graphics/blackberry/LayerRenderer.h:
1293         (LayerRenderer):
1294
1295 2012-06-07  Alexei Filippov  <alexeif@chromium.org>
1296
1297         Web Inspector: reuse edge_count field of heap snapshot to store retained size
1298         https://bugs.webkit.org/show_bug.cgi?id=88416
1299
1300         The edge_count field is unused after node first edge indexes have been built.
1301         Store node retained size in there instead of allocating an extra array for it.
1302
1303         Reviewed by Vsevolod Vlasov.
1304
1305         * inspector/front-end/HeapSnapshot.js:
1306         (WebInspector.HeapSnapshotNode.prototype.retainedSize):
1307         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
1308
1309 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1310
1311         Unreviewed, rolling out r119694.
1312         http://trac.webkit.org/changeset/119694
1313         https://bugs.webkit.org/show_bug.cgi?id=88529
1314
1315         it broke PrerenderBrowserTest.PrerenderHTML5VideoNetwork
1316         (Requested by loislo on #webkit).
1317
1318         * html/HTMLMediaElement.cpp:
1319         * html/HTMLMediaElement.h:
1320         (HTMLMediaElement):
1321         * html/canvas/CanvasRenderingContext.cpp:
1322         (WebCore::CanvasRenderingContext::wouldTaintOrigin):
1323         * platform/graphics/MediaPlayer.cpp:
1324         * platform/graphics/MediaPlayer.h:
1325         (MediaPlayer):
1326         * platform/graphics/MediaPlayerPrivate.h:
1327
1328 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
1329
1330         Delete a contenteditable element having a Shadow DOM causes a crash.
1331         https://bugs.webkit.org/show_bug.cgi?id=86345
1332
1333         Reviewed by Ryosuke Niwa.
1334
1335         In VisibleSelection::validate(), m_start.downstream() or m_end.upstream() might cross
1336         editing boundaries. So we adjust selection after calling them again.
1337
1338         Test: editing/shadow/select-contenteditable-shadowhost.html
1339
1340         * editing/VisibleSelection.cpp:
1341         (WebCore::VisibleSelection::validate):
1342
1343 2012-06-07  Vivek Galatage  <vivekgalatage@gmail.com>
1344
1345         No new line at the end for SVGCSSPropertyNames.in causes compilation warning
1346         https://bugs.webkit.org/show_bug.cgi?id=88503
1347
1348         Reviewed by Ryosuke Niwa.
1349
1350         Added new line at the end of the file.
1351
1352         No new tests required.
1353
1354         * css/SVGCSSPropertyNames.in:
1355
1356 2012-06-07  Csaba Osztrogonác  <ossy@webkit.org>
1357
1358         [Qt][Win] Use OS(WINDOWS) instead of Q_WS_WIN in WebCore/platform/graphics/GraphicsContext.h
1359         https://bugs.webkit.org/show_bug.cgi?id=88305
1360
1361         Reviewed by Simon Hausmann.
1362
1363         * platform/graphics/GraphicsContext.h: Buildfix.
1364         (GraphicsContext):
1365
1366 2012-06-07  Shinya Kawanaka  <shinyak@chromium.org>
1367
1368         Incorrect data retrieved in calls to get selection data in client->textWillBeReplaced from CharacterData::setDataAndUpdate
1369         https://bugs.webkit.org/show_bug.cgi?id=66120
1370
1371         Reviewed by Ryosuke Niwa.
1372
1373         Since FrameSelection::textWillBeReplaced was called before replacing text, updated Selection became
1374         temporarily invalid. The invalid selection was set to updateSelection(), so client will have
1375         invalid selection.
1376
1377         This patch makes calling updateSelection() after updating selection.
1378
1379         No new tests, it's too hard to create a correct test cases in DRT.
1380
1381         * dom/CharacterData.cpp:
1382         (WebCore::CharacterData::setDataAndUpdate):
1383         * editing/FrameSelection.cpp:
1384         (WebCore::updatePositionAfterAdoptingTextReplacement):
1385         (WebCore::FrameSelection::textWasReplaced):
1386         * editing/FrameSelection.h:
1387         (FrameSelection):
1388
1389 2012-06-07  Li Yin  <li.yin@intel.com>
1390
1391         FileAPI: If type consists of non-ASCII characters in Blob constructor, it should throw a SyntaxError.
1392         https://bugs.webkit.org/show_bug.cgi?id=88411
1393
1394         Reviewed by Kentaro Hara.
1395
1396         From spec: http://dev.w3.org/2006/webapi/FileAPI/#constructorBlob
1397         If type consists of any non-ASCII characters, throw a SyntaxError and
1398         return from this algorithm.
1399         This patch checks the String is ASCii or not, if not, throw SyntaxError.
1400
1401         Test: fast/files/blob-constructor.html
1402
1403         * bindings/js/JSBlobCustom.cpp:
1404         (WebCore::JSBlobConstructor::constructJSBlob):
1405         * bindings/v8/custom/V8BlobCustom.cpp:
1406         (WebCore::V8Blob::constructorCallback):
1407
1408 2012-06-07  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1409
1410         InsertUnorderedList and InsertOrderedList (execCommand) do not remove bullets
1411         https://bugs.webkit.org/show_bug.cgi?id=84597
1412
1413         Reviewed by Ryosuke Niwa.
1414
1415         Comparison between start and end VisiblePositions will fail when a position inside
1416         a paragraph is compared with one at the start of the paragraph.
1417         
1418         This fix thus converts the end VisiblePosition (which could be inside the paragraph)
1419         to the start of the paragraph thereby enabling a proper comparison of start and end
1420         positions.
1421
1422         Test: editing/execCommand/remove-list-from-multi-list-items.html
1423
1424         * editing/InsertListCommand.cpp:
1425         (WebCore::InsertListCommand::selectionHasListOfType):
1426
1427 2012-06-07  Li Yin  <li.yin@intel.com>
1428
1429         [FileAPI] FileReader should throw an InvalidStateError exception when readyState is LOADING
1430         https://bugs.webkit.org/show_bug.cgi?id=88212
1431
1432         Reviewed by Jian Li.
1433
1434         From Spec: http://www.w3.org/TR/FileAPI/#readAsBinaryString
1435         FileReader should throw an InvalidStateError exception instead of NOT_ALLOWED_ERR
1436         when the readyState is LOADING.
1437         Also delete OperationNotAllowedException related code, because it is not longer needed.
1438
1439         Tests: fast/files/read-file-async.html
1440                fast/files/workers/worker-read-file-async.html
1441
1442         * CMakeLists.txt:
1443         * DerivedSources.cpp:
1444         * DerivedSources.make:
1445         * DerivedSources.pri:
1446         * GNUmakefile.list.am:
1447         * Target.pri:
1448         * WebCore.gypi:
1449         * WebCore.vcproj/WebCore.vcproj:
1450         * WebCore.xcodeproj/project.pbxproj:
1451         * dom/DOMExceptions.in:
1452         * fileapi/FileReader.cpp:
1453         (WebCore::FileReader::readInternal): Changed it to throw INVALID_STATE_ERR.
1454         * fileapi/FileReader.idl: Changed it to raise DOMException for all read methods.
1455         * fileapi/OperationNotAllowedException.cpp: Removed.
1456         * fileapi/OperationNotAllowedException.h: Removed.
1457         * fileapi/OperationNotAllowedException.idl: Removed.
1458
1459 2012-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1460
1461         Unreviewed, rolling out r119689.
1462         http://trac.webkit.org/changeset/119689
1463         https://bugs.webkit.org/show_bug.cgi?id=88516
1464
1465         it broke didDrawNotCalledOnScissoredLayer webkit_unit_test
1466         (Requested by loislo on #webkit).
1467
1468         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1469         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1470         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1471
1472 2012-06-07  Ami Fischman  <fischman@chromium.org>
1473
1474         Plumb CORS attribute information from HTMLMediaElement to media players so it can be used
1475         https://bugs.webkit.org/show_bug.cgi?id=88349
1476
1477         Reviewed by Adam Barth.
1478
1479         Test: http/tests/security/video-cross-origin-readback.html
1480
1481         * html/HTMLMediaElement.cpp:
1482         (WebCore::HTMLMediaElement::mediaPlayerCORSMode):
1483         (WebCore):
1484         * html/HTMLMediaElement.h:
1485         (HTMLMediaElement):
1486         * platform/graphics/MediaPlayer.h:
1487         (WebCore::MediaPlayerClient::mediaPlayerCORSMode):
1488
1489 2012-06-07  Hironori Bono  <hbono@chromium.org>
1490
1491         Use light gray for grammar markers on Windows and Linux
1492         https://bugs.webkit.org/show_bug.cgi?id=88398
1493
1494         Reviewed by Ryosuke Niwa.
1495
1496         This change changes the color of grammar markers from dark gray to light gray
1497         and rebaselines a couple of pixel tests affected by this change.
1498
1499         No new tests because it changes the marker color of an existing test 'grammar-markers.html'.
1500
1501         * platform/graphics/skia/GraphicsContextSkia.cpp: Change dark gray to light gray.
1502
1503 2012-06-07  Yoshifumi Inoue  <yosin@chromium.org>
1504
1505         [Platform] Introduce conversion from/to Deciaml to/from double
1506         https://bugs.webkit.org/show_bug.cgi?id=88480
1507
1508         Reviewed by Kent Tamura.
1509
1510         This patch added functions for Decimal/Double conversion and isInfinity
1511         for reducing patch size of introducing Decimal arithmetic, bug 88383.
1512
1513         Tests: WebKit/chromium/tests/DecimalTest.cpp
1514
1515         * platform/Decimal.cpp:
1516         (WebCore::Decimal::fromDouble): Added.
1517         (WebCore::Decimal::toDouble): Added.
1518         * platform/Decimal.h:
1519         (WebCore::Decimal::EncodedData::isInfinity): Added for isinf()
1520         (WebCore::Decimal::isInfinity): Added.
1521
1522 2012-06-06  Xianzhu Wang  <wangxianzhu@chromium.org>
1523
1524         Element.getBoundingClientRect() and Element.getClientRects() return incorrect values in frames in a scaled page
1525         https://bugs.webkit.org/show_bug.cgi?id=88430
1526
1527         Element.getBoudingClientRect() and Element.getClientRects() should not scale back the rects
1528         if the element is in a frame because page scale only apply to elements in the main frame.
1529
1530         Reviewed by James Robinson.
1531
1532         Tests: fast/dom/Element/scale-page-bounding-client-rect-in-frame.html
1533                fast/dom/Element/scale-page-client-rects-in-frame.html
1534
1535         * dom/Document.cpp:
1536         (WebCore):
1537         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and Range.cpp and fixed issue of pageScale in frames.
1538         (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Extracted from Element.cpp and fixed issue of pageScale in frames.
1539         * dom/Document.h:
1540         (WebCore):
1541         (Document):
1542         * dom/Element.cpp:
1543         (WebCore::Element::getClientRects):
1544         (WebCore::Element::getBoundingClientRect):
1545         * dom/Range.cpp:
1546         (WebCore):
1547         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): Moved into Document and fixed issue of pageScale in frames.
1548         (WebCore::Range::getBorderAndTextQuads):
1549         * rendering/RenderObject.h: Removed adjustFloatQuadForPageScale and adjustFloatRectForPageScale because they seem unrelated to RenderObject.
1550         (WebCore):
1551
1552 2012-06-06  Dana Jansens  <danakj@chromium.org>
1553
1554         [chromium] In each composited frame, didDraw() should only be called on layers for which willDraw() was called
1555         https://bugs.webkit.org/show_bug.cgi?id=88469
1556
1557         Reviewed by James Robinson.
1558
1559         Unit test: CCLayerTreeHostImplTest.didDrawNotCalledOnScissoredLayer
1560
1561         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1562         (WebCore::shouldDrawLayer):
1563         (WebCore):
1564         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1565         (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
1566
1567 2012-06-06  Andy Estes  <aestes@apple.com>
1568
1569         Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
1570         https://bugs.webkit.org/show_bug.cgi?id=88504
1571
1572         Reviewed by Dan Bernstein.
1573
1574         uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
1575         by NSResponder that subclasses are expected to implement. WebKit should
1576         only support these implementations on platforms that use AppKit.
1577
1578         * WebCore.exp.in:
1579         * editing/Editor.cpp:
1580         * editing/Editor.h:
1581         * loader/EmptyClients.h:
1582         * page/ContextMenuController.cpp:
1583         * page/EditorClient.h:
1584
1585 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1586
1587         Unreviewed, rolling out r119683.
1588         http://trac.webkit.org/changeset/119683
1589         https://bugs.webkit.org/show_bug.cgi?id=88505
1590
1591         it broke webkit-unit-test
1592         WebLayerTreeViewThreadedTest.InstrumentationCallbacks on mac
1593         (Requested by loislo on #webkit).
1594
1595         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1596         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1597         (WebCore::CCLayerTreeHost::setVisible):
1598
1599 2012-06-06  Robert Kroeger  <rjkroege@chromium.org>
1600
1601         [Chromium] Re-enable handling of smooth scrolling on Chromium Linux/Windows
1602         https://bugs.webkit.org/show_bug.cgi?id=87535 by adding support for
1603         m_hasPreciseScrollingDelta on all Chromium platforms and adjusting ScrollAnimator
1604         and ScrollAnimatorNone accordingly to let m_hasPreciseScrollingDelta == true
1605         force exact (non-animated) scrolling.
1606
1607         Reviewed by James Robinson.
1608
1609         Updated WebKit unit tests to validate change.
1610
1611         * platform/PlatformWheelEvent.h:
1612         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Adjusted #ifdefs to
1613         make m_hasPreciseScrollingDelta available on all Chromium platforms.
1614         (PlatformWheelEvent):
1615         * platform/ScrollAnimator.cpp:
1616         (WebCore::ScrollAnimator::handleWheelEvent): Default scroll type is set based on 
1617         m_hasPreciseScrollingDelta value.
1618         * platform/ScrollAnimatorNone.cpp:
1619         (WebCore::ScrollAnimatorNone::scroll): Scroll precisely when necessary.
1620         * platform/ScrollTypes.h: Added additional pixel scrolling subtype.
1621         * platform/ScrollableArea.cpp:
1622         (WebCore::ScrollableArea::scroll): Updated for additional pixel scroll subtype.
1623
1624 2012-06-06  Michal Mocny  <mmocny@google.com>
1625
1626         [chromium] Stop dropping texture limits when the layer tree host becomes invisible, and initialize with 0 allocation.
1627         https://bugs.webkit.org/show_bug.cgi?id=87747
1628
1629         Reviewed by Adrienne Walker.
1630
1631         GpuMemoryManager manages texture memory allocation limits. It will send a 0 allocation when a renderer becomes
1632         invisible, and an appropriate allocation after a renderer is initialized.  These numbers will change
1633         depending on the state of memory across devices and other renderers, so we would like to remove all explicit
1634         management by the renderers themselves.
1635
1636         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1637         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1638         (WebCore::CCLayerTreeHost::setVisible):
1639
1640 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1641
1642         Unreviewed, rolling out r119680.
1643         http://trac.webkit.org/changeset/119680
1644         https://bugs.webkit.org/show_bug.cgi?id=88498
1645
1646         It broke mac build (Requested by kinuko on #webkit).
1647
1648         * fileapi/File.cpp:
1649         (WebCore::File::File):
1650         (WebCore::File::lastModifiedDate):
1651         (WebCore::File::lastModifiedDateForBinding):
1652         (WebCore):
1653         (WebCore::File::captureSnapshot):
1654         * fileapi/File.h:
1655         (File):
1656         * fileapi/File.idl:
1657         * platform/FileMetadata.h:
1658         (WebCore::FileMetadata::FileMetadata):
1659         * platform/FileSystem.h:
1660         * platform/chromium/support/WebHTTPBody.cpp:
1661         (WebKit::WebHTTPBody::elementAt):
1662         * platform/network/BlobData.cpp:
1663         (WebCore):
1664
1665 2012-06-06  Kinuko Yasuda  <kinuko@chromium.org>
1666
1667         File::lastModifiedDate should use NaN or separate boolean flag for null Date value
1668         https://bugs.webkit.org/show_bug.cgi?id=87826
1669
1670         Reviewed by Kent Tamura.
1671
1672         Test: http/tests/local/fileapi/file-last-modified-after-delete.html
1673
1674         * fileapi/File.cpp:
1675         (WebCore::File::File):
1676         (WebCore::File::captureSnapshot):
1677         (WebCore::File::lastModifiedDate):
1678         (WebCore::File::lastModifiedDateForBinding): Removed.
1679         * fileapi/File.h:
1680         (File):
1681         * fileapi/File.idl:
1682         * platform/FileMetadata.h:
1683         (WebCore::FileMetadata::FileMetadata):
1684         * platform/FileSystem.h:
1685         * platform/chromium/support/WebHTTPBody.cpp:
1686         (WebKit::WebHTTPBody::elementAt):
1687         * platform/network/BlobData.cpp:
1688         (WebCore):
1689
1690 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
1691
1692         Unreviewed, rolling out r119668.
1693         http://trac.webkit.org/changeset/119668
1694         https://bugs.webkit.org/show_bug.cgi?id=88493
1695
1696         Hitting assertions in debug builds (Requested by rniwa on
1697         #webkit).
1698
1699         * rendering/RenderBlock.cpp:
1700         (WebCore::RenderBlock::localCaretRect):
1701         * rendering/RenderBoxModelObject.cpp:
1702         * rendering/RenderBoxModelObject.h:
1703         (RenderBoxModelObject):
1704         * rendering/RenderInline.cpp:
1705         * rendering/RenderInline.h:
1706         (RenderInline):
1707
1708 2012-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
1709
1710         Cache isSelfPaintingLayer() for better performance
1711         https://bugs.webkit.org/show_bug.cgi?id=88464
1712
1713         Reviewed by Simon Fraser.
1714
1715         Covered by existing tests (repaint tests among them).
1716
1717         isSelfPaintingLayer() has shown up several times on some scrolling benchmarks due
1718         to the function being called several time per paint phase. This change caches the
1719         boolean at style change time.
1720         
1721         On http://dglazkov.github.com/performance-tests/biggrid.html, this nearly speed-up
1722         painting by 2 (lowering the time taken to paint the newly exposed area when scrolling
1723         on a 10,000 * 100 table from 95ms to 50ms).
1724
1725         * rendering/RenderLayer.cpp:
1726         (WebCore::RenderLayer::RenderLayer):
1727         Initialized m_isSelfPaintingLayer here.
1728
1729         (WebCore::RenderLayer::paintLayer):
1730         Changed the order of the checks to get the more likely check first.
1731
1732         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
1733         Renamed from isSelfPaintingLayer to make m_isNormalFlowOnly.
1734
1735         (WebCore::RenderLayer::styleChanged):
1736         Added code to update our cached m_isSelfPaintingLayer.
1737
1738         * rendering/RenderLayer.h:
1739         (WebCore::RenderLayer::isSelfPaintingLayer):
1740         Changed to return m_isSelfPaintingLayer.
1741
1742 2012-06-06  Yoshifumi Inoue  <yosin@chromium.org>
1743
1744         REGRESSION(r109729) [Form] Rendering of select/optgroup/option combination is too slow.
1745         https://bugs.webkit.org/show_bug.cgi?id=88059
1746
1747         Reviewed by Kent Tamura.
1748
1749         This patch changes not to share RenderStyle object for option and
1750         optgroup element regardless attributes.
1751
1752         When we tried to shared RenderStyle object, rendering performance was
1753         good but we had issue in selected option and text transform, see
1754         https://bugs.webkit.org/show_bug.cgi?id=88405 for details.
1755
1756         No new tests. This patch doesn't change behavior but rendering performance.
1757
1758         * css/StyleResolver.cpp:
1759         (WebCore::StyleResolver::canShareStyleWithElement): Changed to always
1760         return false for option and optgroup.
1761
1762 2012-06-06  Alec Flett  <alecflett@chromium.org>
1763
1764         IndexedDB: Optimize single-key get()
1765         https://bugs.webkit.org/show_bug.cgi?id=85288
1766
1767         Reviewed by Tony Chang.
1768
1769         No new tests, this is just an optimization.
1770
1771         After a recent refactoring, we started creating
1772         an internal cursor with every call to get(). The
1773         most common use of get() is with a single key,
1774         so provide a fast-path to avoid creating the cursor.
1775
1776         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
1777         (WebCore::IDBIndexBackendImpl::getByRangeInternal):
1778         * Modules/indexeddb/IDBKeyRange.h:
1779         (WebCore::IDBKeyRange::isOnlyKey):
1780         (IDBKeyRange):
1781         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1782         (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
1783
1784 2012-06-06  Shezan Baig  <shezbaig.wk@gmail.com>
1785
1786         Caret is not rendered in empty inline contenteditable elements
1787         https://bugs.webkit.org/show_bug.cgi?id=85793
1788
1789         Reviewed by Ryosuke Niwa.
1790
1791         Override localCaretRect in RenderInline. The implementation was almost
1792         identical to localCaretRect in RenderBlock for empty block elements, so
1793         I refactored RenderBlock::localCaretRect and moved the logic to a new
1794         method 'localCaretRectForEmptyElement' in RenderBoxModelObject. The
1795         implementation of 'localCaretRect' in RenderBlock and RenderInline both
1796         use this helper method in RenderBoxModelObject.
1797
1798         Tests: editing/selection/caret-in-empty-inline-1.html
1799                editing/selection/caret-in-empty-inline-2.html
1800
1801         * rendering/RenderBlock.cpp:
1802         (WebCore::RenderBlock::localCaretRect):
1803         Modified to use RenderBoxModelObject::localCaretRectForEmptyElement.
1804         * rendering/RenderBoxModelObject.cpp:
1805         (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
1806         (WebCore):
1807         * rendering/RenderBoxModelObject.h:
1808         (RenderBoxModelObject):
1809         Add localCaretRectForEmptyElement helper method.
1810         * rendering/RenderInline.cpp:
1811         (WebCore::RenderInline::localCaretRect):
1812         (WebCore):
1813         * rendering/RenderInline.h:
1814         (RenderInline):
1815         Override localCaretRect using localCaretRectForEmptyElement.
1816
1817 2012-06-06  Alexis Menard  <alexis.menard@openbossa.org>
1818
1819         Fix border-image-slice failures on http://css3test.com.
1820         https://bugs.webkit.org/show_bug.cgi?id=88328
1821
1822         Reviewed by Tony Chang.
1823
1824         The old parsing code was assuming that the fill keyword comes after the
1825         numbers or the percentage values. http://www.w3.org/TR/css3-background/#the-border-image-slice
1826         defines the property like this : [<number> | <percentage>]{1,4} && fill? where the fill
1827         keyword is not mandatory. But according to http://www.w3.org/TR/CSS2/about.html "&&" 
1828         separates two or more components, all of which must occur, in any order. So the previous
1829         code was wrong the fill can come first following by the percentages or the numbers. http://css3test.com
1830         was covering this particular case. I took the opportunity to extend our coverage 
1831         by adding tests on many different values the boder-image-slice property could take. I
1832         also did a small cleanup by removing unused functions in BorderImageSliceParseContext.
1833
1834         Test: fast/css/getComputedStyle/getComputedStyle-border-image-slice.html
1835
1836         * css/CSSParser.cpp:
1837         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
1838         (WebCore::BorderImageSliceParseContext::commitNumber):
1839         (WebCore::BorderImageSliceParseContext::commitFill):
1840
1841 2012-06-06  Levi Weintraub  <leviw@chromium.org>
1842
1843         Use enclosingIntRect instead of pixelSnappedIntRect in RenderFileUploadControl
1844         https://bugs.webkit.org/show_bug.cgi?id=88454
1845
1846         Reviewed by Kent Tamura.
1847
1848         Properly clipping the file upload control to avoid clipping out the top of the file upload button
1849         when the control is positioned at a sub-pixel offset that rounds up.
1850
1851         Test: fast/sub-pixel/file-upload-control-at-fractional-offset.html
1852
1853         * rendering/RenderFileUploadControl.cpp:
1854         (WebCore::RenderFileUploadControl::paintObject):
1855
1856 2012-06-06  Filip Pizlo  <fpizlo@apple.com>
1857
1858         Global object variable accesses should not require an extra load
1859         https://bugs.webkit.org/show_bug.cgi?id=88385
1860
1861         Reviewed by Gavin Barraclough and Geoffrey Garen.
1862
1863         Updated JSDOMWindowBase.cpp to use the new symbol table API. this->symbolTableFoo(...)
1864         becomes symbolTableFoo(this, ...).
1865                 
1866         No new tests because no change in behavior.
1867
1868         * bindings/js/JSDOMWindowBase.cpp:
1869         (WebCore::JSDOMWindowBase::updateDocument):
1870
1871 2012-06-06  James Robinson  <jamesr@chromium.org>
1872
1873         [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
1874         https://bugs.webkit.org/show_bug.cgi?id=86257
1875
1876         Reviewed by Kenneth Russell.
1877
1878         The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium
1879         on top of the Platform interface WebGraphicsContext3D. This moves the implementation support code from
1880         WebKit/chromium/src to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore
1881         interfaces and allows code in WebCore/platform to use this support code directly where appropriate.
1882
1883         Refactor only, no new functionality or tests.
1884
1885         * WebCore.gypi:
1886         * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
1887         (WebCore):
1888         (WebCore::Extensions3DChromium::Extensions3DChromium):
1889         (WebCore::Extensions3DChromium::~Extensions3DChromium):
1890         (WebCore::Extensions3DChromium::supports):
1891         (WebCore::Extensions3DChromium::ensureEnabled):
1892         (WebCore::Extensions3DChromium::isEnabled):
1893         (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
1894         (WebCore::Extensions3DChromium::blitFramebuffer):
1895         (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
1896         (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
1897         (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
1898         (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
1899         (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
1900         (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
1901         (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
1902         (WebCore::Extensions3DChromium::discardFramebufferEXT):
1903         (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
1904         (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
1905         (WebCore::Extensions3DChromium::createVertexArrayOES):
1906         (WebCore::Extensions3DChromium::deleteVertexArrayOES):
1907         (WebCore::Extensions3DChromium::isVertexArrayOES):
1908         (WebCore::Extensions3DChromium::bindVertexArrayOES):
1909         (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
1910         (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
1911         (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
1912         (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
1913         (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
1914         (WebCore::Extensions3DChromium::texStorage2DEXT):
1915         (WebCore::Extensions3DChromium::createQueryEXT):
1916         (WebCore::Extensions3DChromium::deleteQueryEXT):
1917         (WebCore::Extensions3DChromium::isQueryEXT):
1918         (WebCore::Extensions3DChromium::beginQueryEXT):
1919         (WebCore::Extensions3DChromium::endQueryEXT):
1920         (WebCore::Extensions3DChromium::getQueryivEXT):
1921         (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
1922         * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
1923         (WebCore):
1924         (WebCore::GraphicsContext3D::GraphicsContext3D):
1925         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1926         (WebCore::GraphicsContext3D::setContextLostCallback):
1927         (WebCore::GraphicsContext3D::setErrorMessageCallback):
1928         (WebCore::GraphicsContext3D::create):
1929         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1930         (WebCore::GraphicsContext3D::platformTexture):
1931         (WebCore::GraphicsContext3D::grContext):
1932         (WebCore::GraphicsContext3D::platformLayer):
1933         (WebCore::GraphicsContext3D::isGLES2Compliant):
1934         (WebCore::GraphicsContext3D::isResourceSafe):
1935         (WebCore::GraphicsContext3D::bindAttribLocation):
1936         (WebCore::GraphicsContext3D::bufferData):
1937         (WebCore::GraphicsContext3D::getActiveAttrib):
1938         (WebCore::GraphicsContext3D::getActiveUniform):
1939         (WebCore::GraphicsContext3D::getAttribLocation):
1940         (WebCore::GraphicsContext3D::getContextAttributes):
1941         (WebCore::GraphicsContext3D::getProgramInfoLog):
1942         (WebCore::GraphicsContext3D::getShaderInfoLog):
1943         (WebCore::GraphicsContext3D::getShaderSource):
1944         (WebCore::GraphicsContext3D::getString):
1945         (WebCore::GraphicsContext3D::getUniformLocation):
1946         (WebCore::GraphicsContext3D::shaderSource):
1947         (WebCore::GraphicsContext3D::texImage2D):
1948         (WebCore::GraphicsContext3D::texSubImage2D):
1949         (WebCore::GraphicsContext3D::reshape):
1950         (WebCore::GraphicsContext3D::markContextChanged):
1951         (WebCore::GraphicsContext3D::layerComposited):
1952         (WebCore::GraphicsContext3D::markLayerComposited):
1953         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1954         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1955         (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
1956         (WebCore::GraphicsContext3D::getExtensions):
1957         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
1958         * platform/chromium/support/GraphicsContext3DPrivate.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.cpp.
1959         (WebCore):
1960         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1961         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1962         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
1963         (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
1964         (GrMemoryAllocationChangedCallback):
1965         (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
1966         (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
1967         (WebCore::GraphicsContext3DPrivate::grContext):
1968         (WebCore::GraphicsContext3DPrivate::markContextChanged):
1969         (WebCore::GraphicsContext3DPrivate::layerComposited):
1970         (WebCore::GraphicsContext3DPrivate::markLayerComposited):
1971         (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
1972         (GraphicsContext3DContextLostCallbackAdapter):
1973         (WebCore::GraphicsContext3DContextLostCallbackAdapter::GraphicsContext3DContextLostCallbackAdapter):
1974         (WebCore::GraphicsContext3DContextLostCallbackAdapter::~GraphicsContext3DContextLostCallbackAdapter):
1975         (WebCore::GraphicsContext3DContextLostCallbackAdapter::onContextLost):
1976         (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
1977         (GraphicsContext3DErrorMessageCallbackAdapter):
1978         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::GraphicsContext3DErrorMessageCallbackAdapter):
1979         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::~GraphicsContext3DErrorMessageCallbackAdapter):
1980         (WebCore::GraphicsContext3DErrorMessageCallbackAdapter::onErrorMessage):
1981         (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
1982         (WebCore::GraphicsContext3DPrivate::getExtensions):
1983         (WebCore::GraphicsContext3DPrivate::initializeExtensions):
1984         (WebCore::GraphicsContext3DPrivate::supportsExtension):
1985         (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
1986         (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
1987         (WebCore::GraphicsContext3DPrivate::isResourceSafe):
1988         (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
1989         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
1990         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
1991         (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
1992         (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
1993         (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
1994         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
1995         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
1996         (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
1997         (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
1998         * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
1999         (WebKit):
2000         (WebCore):
2001         (GraphicsContext3DPrivate):
2002         (WebCore::GraphicsContext3DPrivate::webContext):
2003         (WebCore::GraphicsContext3DPrivate::preserveDrawingBuffer):
2004
2005 2012-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2006
2007         Unreviewed, rolling out r119624.
2008         http://trac.webkit.org/changeset/119624
2009         https://bugs.webkit.org/show_bug.cgi?id=88472
2010
2011         Caused worker tests to become flaky (Requested by mhahnenberg
2012         on #webkit).
2013
2014         * workers/AbstractWorker.cpp:
2015         (WebCore::AbstractWorker::~AbstractWorker):
2016         * workers/WorkerMessagingProxy.cpp:
2017         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
2018
2019 2012-06-06  Brady Eidson  <beidson@apple.com>
2020
2021         <rdar://problem/11575112> and https://bugs.webkit.org/show_bug.cgi?id=88428
2022         REGRESSION (r115654): Opening many non-English WebArchives shows obvious encoding issues
2023
2024         Reviewed by Nate Chapin.
2025
2026         Test: fast/loader/webarchive-encoding-respected.html
2027
2028         * loader/DocumentLoader.cpp:
2029         (WebCore::DocumentLoader::commitData): Properly set the main resource encoding from the webarchive.
2030
2031 2012-06-06  Mark Hahnenberg  <mhahnenberg@apple.com>
2032
2033         Worker tear-down can re-enter JSC during GC finalization
2034         https://bugs.webkit.org/show_bug.cgi?id=88449
2035
2036         Reviewed by Geoffrey Garen.
2037
2038         No new tests. Current regression tests cover these changes.
2039
2040         * workers/AbstractWorker.cpp: 
2041         (WebCore::AbstractWorker::~AbstractWorker): We don't need to call onDestroyWorker() here, it 
2042         will be called elsewhere in contextDestroyed().
2043         * workers/WorkerMessagingProxy.cpp:
2044         (WebCore::WorkerMessagingProxy::workerObjectDestroyed): We make the call to terminateWorkerContext()
2045         and workerContextDestroyed() asynchronous to avoid entering JSC during GC finalization.
2046
2047 2012-06-06  Tony Chang  <tony@chromium.org>
2048
2049         webkit crashes on debug builds when running IETC flexbox-ordinal-group-001.htm
2050         https://bugs.webkit.org/show_bug.cgi?id=85832
2051
2052         Reviewed by Ojan Vafai.
2053
2054         We were using a HashSet<unsigned>, which can't hold the value of 0.
2055         According to the spec, 0 isn't a valid value, so at CSS parse time,
2056         reject the value 0. This lets us pass the test, although that's kind
2057         of by accident.
2058
2059         We could allow 0 for box-ordinal-group, but there are some perf implications
2060         to having allowing a value below the initial value (1 in this case).
2061
2062         We still allow 0 for box-flex-group, because that's what the existing code
2063         does and there are tests expecting this behavior.
2064
2065         No new tests, covered by ietestcenter/css3/flexbox/flexbox-ordinal-group-001.htm
2066         which was crashing.
2067
2068         * css/CSSParser.cpp:
2069         (WebCore::CSSParser::parseValue): Reject 0 for -webkit-box-ordinal-group.
2070
2071 2012-06-06  Ojan Vafai  <ojan@chromium.org>
2072
2073         Remove some magic from the -webkit-flex shorthand parsing to match the changes in the spec
2074         https://bugs.webkit.org/show_bug.cgi?id=88444
2075
2076         Reviewed by Tony Chang.
2077
2078         -Unset positive flex defaults to 0.
2079         -Unset negative flex defaults to 1. No magic of doing something different if positive flex was set.
2080
2081         * css/CSSParser.cpp:
2082         (WebCore::CSSParser::parseFlex):
2083
2084 2012-06-06  Ryosuke Niwa  <rniwa@webkit.org>
2085
2086         Revert r119440 now that I have a time to rebaseline them all!
2087
2088         * platform/ScrollbarThemeComposite.cpp:
2089         (WebCore::ScrollbarThemeComposite::thumbLength):
2090
2091 2012-06-06  Joshua Bell  <jsbell@chromium.org>
2092
2093         IndexedDB: Infinite recursion in IDBObjectStore.openCursor(key, legacy_constant)
2094         https://bugs.webkit.org/show_bug.cgi?id=88431
2095
2096         Reviewed by Tony Chang.
2097
2098         Function was calling itself, rather than delegating to the correct (IDBKeyRange) overload.
2099
2100         Test: storage/indexeddb/legacy-constants.html
2101
2102         * Modules/indexeddb/IDBObjectStore.cpp:
2103         (WebCore::IDBObjectStore::openCursor):
2104
2105 2012-06-06  Joshua Bell  <jsbell@chromium.org>
2106
2107         IndexedDB: Rename IDBFactory.getDatabaseNames() to webkitGetDatabaseNames()
2108         https://bugs.webkit.org/show_bug.cgi?id=86874
2109
2110         Reviewed by Ojan Vafai.
2111
2112         The function is non-standard, and should be prefixed.
2113
2114         Test: storage/indexeddb/factory-basics.html
2115
2116         * Modules/indexeddb/IDBFactory.idl:
2117
2118 2012-06-06  Julien Chaffraix  <jchaffraix@webkit.org>
2119
2120         Add support for direction on table row group with collapsing borders
2121         https://bugs.webkit.org/show_bug.cgi?id=87900
2122
2123         Reviewed by Ojan Vafai.
2124
2125         Tests: fast/table/border-collapsing/first-cell-left-border-hidden-table-ltr-section-rtl.html
2126                fast/table/border-collapsing/last-cell-left-border-hidden-table-ltr-section-rtl.html
2127                fast/table/border-collapsing/left-border-table-ltr-section-rtl.html
2128                fast/table/border-collapsing/left-border-table-rtl-section-ltr.html
2129                fast/table/border-collapsing/left-border-table-rtl-section-rtl.html
2130                fast/table/border-collapsing/left-border-vertical-lr-table-ltr-section-rtl.html
2131                fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-ltr.html
2132                fast/table/border-collapsing/left-border-vertical-lr-table-rtl-section-rtl.html
2133                fast/table/border-collapsing/rtl-table-left-border-hidden.html
2134                fast/table/border-collapsing/top-border-vertical-rl-table-ltr-section-rtl.html
2135                fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-ltr.html
2136                fast/table/border-collapsing/top-border-vertical-rl-table-rtl-section-rtl.html
2137                fast/table/table-ltr-section-rtl.html
2138                fast/table/table-rtl-section-ltr.html
2139                fast/table/table-rtl-section-rtl.html
2140
2141         This change enables proper support for direction on table row group.
2142         The current code would allow people to set direction on the row group but would still
2143         use the table's code for directionality checks (with surprising consequences).
2144
2145         The main change involve swapping end / start borders in case of mixed directionality
2146         as those 2 are not in sync.
2147         
2148         Example: <table dir="ltr"><tbody dir="rtl"><td id="cell0"></td><td id="cell1"></td></tbody></table>
2149
2150         Visually:
2151         Table: Start ---------------------> End
2152         Tbody: End <---------------------- Start
2153         Cell:  | #cell0        |           #cell1 |
2154
2155         In this example, the end table border should be compared with the tbody's start border
2156         and the last cell's (in DOM order) start border.
2157
2158         * rendering/RenderTable.cpp:
2159         (WebCore::RenderTable::tableStartBorderAdjoiningCell):
2160         (WebCore::RenderTable::tableEndBorderAdjoiningCell):
2161         Same as the other adjoining functions.
2162
2163         * rendering/RenderTable.h:
2164         (WebCore::RenderTable::lastColumnIndex):
2165         Helper function to get the last column index.
2166
2167         * rendering/RenderTableCell.cpp:
2168         (WebCore::RenderTableCell::computeCollapsedStartBorder):
2169         (WebCore::RenderTableCell::computeCollapsedEndBorder):
2170         Updated to call the table's adjoining border helpers.
2171
2172         * rendering/RenderTableCell.h:
2173         (WebCore::RenderTableCell::styleForCellFlow):
2174         Updated to use the table row group's style now that we properly support it.
2175
2176         (WebCore::RenderTableCell::isFirstOrLastCellInRow):
2177         Debug only helper to make sure we don't call the border adjoining function
2178         on non-terminal cells.
2179
2180         (WebCore::RenderTableCell::borderAdjoiningTableStart):
2181         (WebCore::RenderTableCell::borderAdjoiningTableEnd):
2182         * rendering/RenderTableRow.h:
2183         (WebCore::RenderTableRow::borderAdjoiningTableStart):
2184         (WebCore::RenderTableRow::borderAdjoiningTableEnd):
2185         * rendering/RenderTableSection.cpp:
2186         (WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
2187         (WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
2188         Updated the previous function to account for mixed directionality.
2189
2190         (WebCore::RenderTableSection::layoutRows):
2191         Move some of the code to setLogicalPositionForCell to match RenderBlock.
2192
2193         (WebCore::RenderTableSection::setLogicalPositionForCell):
2194         Switched direction checks to styleForCellFlow (this doesn't change anything as we
2195         were already properly flipping already but ensure better).
2196
2197         * rendering/RenderTableSection.h:
2198         (WebCore::RenderTableSection::hasSameDirectionAsTable):
2199         Added this helper to know if we have a mixed direction.
2200
2201         (WebCore::RenderTableSection::borderAdjoiningTableStart):
2202         (WebCore::RenderTableSection::borderAdjoiningTableEnd):
2203         Updated to account for mixed directionality.
2204
2205 2012-06-06  Keyar Hood  <keyar@chromium.org>
2206
2207         [Chromium] imageSmoothingEnabled should apply to patterns
2208         https://bugs.webkit.org/show_bug.cgi?id=88103
2209
2210         Reviewed by Stephen White.
2211
2212         Test: fast/canvas/canvas-imageSmoothingEnabled-patterns.html
2213
2214         When drawing patterns on a Canvas, the imageSmoothingEnabled flag is
2215         respected.
2216         * platform/graphics/skia/PlatformContextSkia.cpp:
2217         (WebCore::PlatformContextSkia::setupShader):
2218
2219 2012-06-06  Andrey Adaikin  <aandrey@chromium.org>
2220
2221         Web Inspector: [JSC] Add WebGL instrumentation support
2222         https://bugs.webkit.org/show_bug.cgi?id=87975
2223
2224         Reviewed by Vsevolod Vlasov.
2225
2226         * bindings/js/JSInjectedScriptManager.cpp:
2227         (WebCore::injectAndExecuteFunction):
2228         (WebCore::InjectedScriptManager::createInjectedScript):
2229         (WebCore):
2230         (WebCore::InjectedScriptManager::injectWebGLScript):
2231         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2232         (WebCore::InjectedScriptManager::injectWebGLScript):
2233         * inspector/InjectedScriptManager.cpp:
2234         (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
2235         * inspector/InjectedScriptManager.h:
2236         (InjectedScriptManager):
2237         * inspector/InspectorInstrumentation.h:
2238         (InspectorInstrumentation):
2239         * inspector/InspectorWebGLAgent.cpp:
2240         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
2241         * inspector/InspectorWebGLAgent.h:
2242         (InspectorWebGLAgent):
2243         * inspector/InspectorWebGLInstrumentation.h:
2244         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2245
2246 2012-06-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2247
2248         Fix a few spelling mistakes in IconDatabase logging
2249
2250         Makes debugging harder if the logging is confusing.
2251
2252         Reviewed by Jocelyn Turcotte.
2253
2254         * loader/icon/IconDatabase.cpp:
2255         (WebCore::IconDatabase::notifyPendingLoadDecisions):
2256         (WebCore::IconDatabase::readFromDatabase):
2257
2258 2012-05-25  Vsevolod Vlasov  <vsevik@chromium.org>
2259
2260         Web Inspector: [Compiler] Remove compile-front-end.sh and fix InjectedScriptSource errors.
2261         https://bugs.webkit.org/show_bug.cgi?id=87512
2262
2263         Reviewed by Yury Semikhatsky.
2264
2265         Removed compile-front-end.sh, compile-front-end.py should be used instead now.
2266         Made generate_protocol_externs a python module to call it from compile-front-end.py.
2267         Temporary copy of InjectedScriptSource.js is created and modified to
2268         avoid "This code lacks side effects" warning.
2269
2270         * inspector/compile-front-end.py:
2271         * inspector/compile-front-end.sh: Removed.
2272         * inspector/generate-protocol-externs: Removed.
2273         * inspector/generate_protocol_externs.py: Added.
2274         (full_qualified_type_id):
2275         (param_type):
2276         (generate_protocol_externs):
2277
2278 2012-06-06  Zoltan Herczeg  <zherczeg@webkit.org>
2279
2280         [Qt] REGRESSION(r118616): It made all tests crash in debug mode
2281         https://bugs.webkit.org/show_bug.cgi?id=87701
2282
2283         Reviewed by Csaba Osztrogonác.
2284
2285         Replace WriteBarrier<JSObject> to Weak<JSObject> by introducing a new
2286         QtWeakObjectReference sub class. Rewrite all affected type definitions.
2287
2288         All existing test in debug mode cover this issue.
2289
2290         * bridge/qt/qt_class.cpp:
2291         (JSC::Bindings::QtClass::fallbackObject):
2292         * bridge/qt/qt_instance.cpp:
2293         (QtRuntimeObject):
2294         (JSC::Bindings::QtInstance::removeUnusedMethods):
2295         * bridge/qt/qt_instance.h:
2296         (QtInstance):
2297         (QtWeakObjectReference):
2298         (JSC::Bindings::QtInstance::QtWeakObjectReference::QtWeakObjectReference):
2299         (JSC::Bindings::QtInstance::QtWeakObjectReference::operator=):
2300         (JSC::Bindings::QtInstance::QtWeakObjectReference::get):
2301         * bridge/qt/qt_runtime.cpp:
2302         (JSC::Bindings::QtRuntimeMethodData::finalize):
2303         * bridge/qt/qt_runtime_qt4.cpp:
2304         (JSC::Bindings::QtRuntimeMethodData::finalize):
2305
2306 2012-06-06  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2307
2308         Web Inspector: help/settings screen does not overlay console in split screen mode
2309         https://bugs.webkit.org/show_bug.cgi?id=88352
2310
2311         Reviewed by Pavel Feldman.
2312
2313         * inspector/front-end/HelpScreen.js:
2314         (WebInspector.HelpScreen): Mark view as root.
2315         (WebInspector.HelpScreen.prototype.showModal): Change view parent.
2316         * inspector/front-end/helpScreen.css:
2317         (.help-window-outer): Add panel and status bar indent.
2318         (body.compact .help-window-outer): Ditto.
2319
2320 2012-06-06  Yoshifumi Inoue  <yosin@chromium.org>
2321
2322         [Form] Changes for InputNumber type
2323         https://bugs.webkit.org/show_bug.cgi?id=88394
2324
2325         Reviewed by Kent Tamura.
2326
2327         This patch changes codes for consitency of InputNumber usage for
2328         reducing size of patch when we change InputNumber type alias from
2329         double to Decimal.
2330
2331         No new tests. This patch doesn't change behavior.
2332
2333         * html/BaseDateAndTimeInputType.cpp:
2334         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Fixed parameter type for getAllowedValueStep.
2335         * html/InputType.cpp:
2336         (WebCore::InputType::minimum): Fixed return value type to InputNumber.
2337         (WebCore::InputType::maximum): ditto.
2338         * html/MonthInputType.cpp:
2339         (WebCore::MonthInputType::defaultValueForStepUp): Fix return value type to InputNumber.
2340         (WebCore::MonthInputType::parseToNumber): ditto.
2341         * html/NumberInputType.cpp:
2342         (WebCore::NumberInputType::setValueAsDouble): Removed extra convertDoubleToInputNumber.
2343         * html/StepRange.cpp:
2344         (WebCore::StepRange::alignValueForStep): Use roundByStep for code sharing.
2345         (WebCore::StepRange::clampValue): ditto.
2346         (WebCore::StepRange::roundByStep): Added.
2347         * html/StepRange.h:
2348         (StepRange): Added a declaration of roundByStep.
2349
2350 2012-06-06  Michael Brüning  <michael.bruning@nokia.com>
2351
2352         [Qt] Fix harmattan builds broken by r119247.
2353         https://bugs.webkit.org/show_bug.cgi?id=88330
2354
2355         Reviewed by Jocelyn Turcotte.
2356
2357         Fix Harmattan build break caused by undefined constant
2358         GL_TEXTURE_RECTANGLE_ARB by adding defined(GL_ARB_texture_rectangle)
2359         guards around TextureMapperGL::drawTextureRectangleARB.
2360
2361         * platform/graphics/texmap/TextureMapperGL.cpp: Added defined(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB.
2362         (WebCore):
2363         * platform/graphics/texmap/TextureMapperGL.h: Added definded(GL_ARB_texture_rectangle) guards around drawTextureRectangleARB.
2364
2365 2012-06-06  Shinya Kawanaka  <shinyak@chromium.org>
2366
2367         PositionIterator:;setOffsetInLeafNode() is not used anywhere.
2368         https://bugs.webkit.org/show_bug.cgi?id=88397
2369
2370         Reviewed by Ryosuke Niwa.
2371
2372         It's not used anywhere. We can remove it safely.
2373
2374         No new tests, no change in behavior.
2375
2376         * WebCore.order:
2377         * dom/PositionIterator.cpp:
2378         * dom/PositionIterator.h:
2379
2380 2012-06-06  Andrey Adaikin  <aandrey@chromium.org>
2381
2382         Web Inspector: [WebGL] Add WebGL instrumentation support on the backend
2383         https://bugs.webkit.org/show_bug.cgi?id=87960
2384
2385         Adds a WebGLAgent, injects a WebGL script upon calling the getContext
2386         method of a HTMLCanvasElement that will wrap the WebGL rendering context
2387         for instrumentation purposes.
2388
2389         Reviewed by Yury Semikhatsky.
2390
2391         * CMakeLists.txt:
2392         * DerivedSources.make:
2393         * DerivedSources.pri:
2394         * GNUmakefile.am:
2395         * GNUmakefile.list.am:
2396         * Target.pri:
2397         * WebCore.gyp/WebCore.gyp:
2398         * WebCore.gypi:
2399         * WebCore.vcproj/WebCore.vcproj:
2400         * WebCore.xcodeproj/project.pbxproj:
2401         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2402         (WebCore::JSHTMLCanvasElement::getContext):
2403         (WebCore::JSHTMLCanvasElement::toDataURL):
2404         * bindings/js/JSInjectedScriptManager.cpp:
2405         (WebCore):
2406         (WebCore::InjectedScriptManager::injectWebGLScript):
2407         * bindings/v8/ScriptState.cpp:
2408         (WebCore::ScriptState::forContext):
2409         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2410         (WebCore::V8HTMLCanvasElement::getContextCallback):
2411         * bindings/v8/custom/V8InjectedScriptManager.cpp:
2412         (WebCore::InjectedScriptManager::createInjectedScript):
2413         (WebCore):
2414         (WebCore::InjectedScriptManager::injectWebGLScript):
2415         (WebCore::InjectedScriptManager::discardInjectedScript):
2416         (WebCore::InjectedScriptManager::injectedScriptFor):
2417         * inspector/CodeGeneratorInspector.py:
2418         * inspector/InjectedScriptManager.cpp:
2419         (WebCore):
2420         (WebCore::InjectedScriptManager::wrapWebGLRenderingContextForInstrumentation):
2421         (WebCore::InjectedScriptManager::injectedWebGLScriptSource):
2422         * inspector/InjectedScriptManager.h:
2423         (InjectedScriptManager):
2424         * inspector/InjectedWebGLScriptSource.js: Added.
2425         * inspector/Inspector.json:
2426         * inspector/InspectorAllInOne.cpp:
2427         * inspector/InspectorController.cpp:
2428         (WebCore::InspectorController::InspectorController):
2429         * inspector/InspectorInstrumentation.h:
2430         (WebCore):
2431         (InspectorInstrumentation):
2432         (WebCore::InspectorInstrumentation::markResourceAsCached):
2433         * inspector/InspectorWebGLAgent.cpp: Added.
2434         (WebCore):
2435         (WebGLAgentState):
2436         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2437         (WebCore::InspectorWebGLAgent::~InspectorWebGLAgent):
2438         (WebCore::InspectorWebGLAgent::setFrontend):
2439         (WebCore::InspectorWebGLAgent::clearFrontend):
2440         (WebCore::InspectorWebGLAgent::restore):
2441         (WebCore::InspectorWebGLAgent::enable):
2442         (WebCore::InspectorWebGLAgent::disable):
2443         (WebCore::InspectorWebGLAgent::wrapWebGLRenderingContextForInstrumentation):
2444         * inspector/InspectorWebGLAgent.h: Added.
2445         (WebCore):
2446         (InspectorWebGLAgent):
2447         (WebCore::InspectorWebGLAgent::create):
2448         (WebCore::InspectorWebGLAgent::enabled):
2449         * inspector/InspectorWebGLInstrumentation.h: Added.
2450         (WebCore):
2451         (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
2452         * inspector/InstrumentingAgents.h:
2453         (WebCore):
2454         (WebCore::InstrumentingAgents::InstrumentingAgents):
2455         (InstrumentingAgents):
2456         (WebCore::InstrumentingAgents::inspectorWebGLAgent):
2457         (WebCore::InstrumentingAgents::setInspectorWebGLAgent):
2458
2459 2012-06-06  Joone Hur  <joone.hur@intel.com>
2460
2461         [GTK] Build fix for Accelerated Compositing with OpenGL
2462         https://bugs.webkit.org/show_bug.cgi?id=88292
2463
2464         Reviewed by Martin Robinson.
2465
2466         Build fix after r119247.
2467         Do not include GraphicsSurface.h when not building
2468         with GRAPHICS_SURFACE.
2469
2470         No new tests. This is only a build fix.
2471
2472         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
2473         * platform/graphics/texmap/TextureMapperBackingStore.h:
2474         * platform/graphics/texmap/TextureMapperGL.cpp:
2475
2476 2012-06-05  Joe Thomas  <joethomas@motorola.com>
2477
2478         ASSERTION FAILED: ASSERT(!isPercentageIntrinsicSize) in RenderReplaced::computeIntrinsicRatioInformationForRenderBox
2479         https://bugs.webkit.org/show_bug.cgi?id=88197
2480
2481         Reviewed by Daniel Bates.
2482
2483         RenderSVGRoot extends RenderReplaced and it overrides the computeIntrinsicRatioInformation() 
2484         method of RenderReplaced. RenderSVGRoot::computeIntrinsicRatioInformation
2485         sets isPercentageIntrinsicSize to true while it handles width and height of percentage types.
2486         So this assertion should be fired only if intrinsicRatio is non-zero.
2487
2488         Test: svg/in-html/svg-assert-failure-percentage.html
2489
2490         * rendering/RenderReplaced.cpp:
2491         (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
2492
2493 2012-06-05  Tony Chang  <tony@chromium.org>
2494
2495         Changing flexbox justify/alignment doesn't update their positioning
2496         https://bugs.webkit.org/show_bug.cgi?id=88366
2497
2498         Reviewed by Ojan Vafai.
2499
2500         Test: css3/flexbox/style-change.html
2501
2502         * rendering/style/RenderStyle.cpp:
2503         (WebCore::RenderStyle::diff): Since these member variables were moved
2504         out of StyleFlexibleBoxData, we have to compare them in RenderStyle::diff.
2505
2506 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
2507
2508         JSC implementation of SerializedScriptValue for IndexedDB
2509         https://bugs.webkit.org/show_bug.cgi?id=88048
2510
2511         Reviewed by George Staikos.
2512
2513         No new tests. All the current indexeddb test cases apply when indexeddb works for JSC.
2514
2515         * bindings/js/SerializedScriptValue.cpp:
2516         (WebCore::CloneSerializer::serializeNumber):
2517         (CloneSerializer):
2518         (WebCore::CloneDeserializer::toWireString):
2519         (CloneDeserializer):
2520         (WebCore::SerializedScriptValue::create):
2521         (WebCore::SerializedScriptValue::toWireString):
2522         (WebCore):
2523         (WebCore::SerializedScriptValue::createFromWire):
2524         (WebCore::SerializedScriptValue::numberValue):
2525         (WebCore::SerializedScriptValue::deserialize):
2526
2527 2012-06-05  Ojan Vafai  <ojan@chromium.org>
2528
2529         Nested CSS flexbox renders incorrectly
2530         https://bugs.webkit.org/show_bug.cgi?id=87679
2531
2532         Reviewed by Julien Chaffraix.
2533
2534         If the containing block with a perpendicular writing mode has an overrideHeight,
2535         then its logical height should be based off that instead of its RenderStyle.
2536
2537         Test: css3/flexbox/perpendicular-writing-modes-inside-flex-item.html
2538
2539         * rendering/RenderBox.cpp:
2540         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
2541
2542 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
2543
2544         Need special-case toJS(IDBAny) for IDBCursorWithValue
2545         https://bugs.webkit.org/show_bug.cgi?id=87963
2546
2547         Reviewed by George Staikos.
2548
2549         No new tests, this is for indexedDB, which is not working for JSC binding.
2550         When indexedDB working for JSC, all the indexdb test cases should apply.
2551
2552         * bindings/js/JSIDBAnyCustom.cpp:
2553         (WebCore::toJS):
2554
2555 2012-06-05  Michal Mocny  <mmocny@google.com>
2556
2557         [chromium] Set default memory allocation limit bytes when GL_CHROMIUM_gpu_memory_manager is not supported by graphics context.
2558         https://bugs.webkit.org/show_bug.cgi?id=87996
2559
2560         Reviewed by James Robinson.
2561
2562         Soon we hope to have renderers not manage there own memory allocation limits, and rely exclusively on the
2563         allocation given by GpuMemoryManager.  However, when the graphics context does not support the
2564         GL_CHROMIUM_gpu_memory_manager extension, such as the one used by DumpRenderTree, we must default the
2565         memory allocation limit to some non-0 value.
2566
2567         * platform/graphics/chromium/LayerRendererChromium.cpp:
2568         (WebCore::LayerRendererChromium::initialize):
2569         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2570         (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
2571         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2572         (WebCore):
2573         (DebugScopedSetMainThreadFromEither):
2574         (WebCore::DebugScopedSetMainThreadFromEither::DebugScopedSetMainThreadFromEither):
2575         (WebCore::DebugScopedSetMainThreadFromEither::~DebugScopedSetMainThreadFromEither):
2576
2577 2012-06-05  Roland Takacs  <takacs.roland@stud.u-szeged.hu>
2578
2579         [Qt] Use GraphicsContext3DOpenGLES.cpp when using OpenGL ES
2580         https://bugs.webkit.org/show_bug.cgi?id=78720
2581
2582         Reviewed by Noam Rosenthal.
2583
2584         Functions are removed from GraphicsContext3DQt that already implemented
2585         in GraphicsContext3DCommon. Macros that not supported at GLES have been
2586         changed to their appropriate pair that found in GraphicsContext3D
2587         (e.g. GL_FRAMEBUFFER_EXT to GraphicsContext3D::FRAMEBUFFER).
2588         It was needed because OpenGLES does not support these macros.
2589         Extensions3DQt is removed beceause it has never been used.
2590         Some functions have been moved fron GraphicsContext3DCommon to *OpenGL
2591         and *OpenGLES to provide specialization.
2592         The "m_depthStencilBuffer" member is added to Qt port because it uses
2593         "m_depthStencilBuffer" like the other platforms.
2594
2595         * Target.pri:
2596         * platform/graphics/GraphicsContext3D.h:
2597         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2598         (WebCore::GraphicsContext3D::depthRange):
2599         (WebCore):
2600         (WebCore::GraphicsContext3D::clearDepth):
2601         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2602         (WebCore::GraphicsContext3D::prepareTexture):
2603         (WebCore::GraphicsContext3D::readRenderingResults):
2604         (WebCore::GraphicsContext3D::reshape):
2605         (WebCore::GraphicsContext3D::copyTexImage2D):
2606         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2607         (WebCore::GraphicsContext3D::readPixels):
2608         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2609         (WebCore::GraphicsContext3D::reshapeFBOs):
2610         (WebCore::GraphicsContext3D::depthRange):
2611         (WebCore):
2612         (WebCore::GraphicsContext3D::clearDepth):
2613         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2614         (WebCore::GraphicsContext3D::isGLES2Compliant):
2615         (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebuffer):
2616         (WebCore::GraphicsContext3D::GraphicsContext3D):
2617         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2618         (WebCore):
2619
2620 2012-06-05  Vitaly Buka  <vitalybuka@chromium.org>
2621
2622         Special layout handler should be done on top frame being printed.
2623         https://bugs.webkit.org/show_bug.cgi?id=88201
2624
2625         Reviewed by Brady Eidson.
2626
2627         No new tests. Root case is already covered by tests.
2628         Case described in the issue can be reproduced only by direct call
2629         to Frame::setPrinting of subframe. Probably it's not possible with
2630         layout tests.
2631
2632         * page/Frame.cpp:
2633         (WebCore::Frame::setPrinting):
2634         Use shouldUsePrintingLayout to choose proper version of forceLayout().
2635         (WebCore::Frame::shouldUsePrintingLayout):
2636         Checks if current frame is the top frame being printed.
2637         * rendering/RenderView.cpp:
2638         (WebCore::RenderView::shouldUsePrintingLayout): Forward to Frame.
2639
2640 2012-06-05  Max Feil  <mfeil@rim.com>
2641
2642         [BlackBerry] Conditionally enlarge HTML5 video controls in fullscreen mode
2643         https://bugs.webkit.org/show_bug.cgi?id=87551
2644
2645         Reviewed by Antonio Gomes.
2646
2647         Changes to make media controls larger in fullscreen mode. The
2648         BlackBerry media controls used to be sized by a combination
2649         of CSS styles specified in mediaControlsBlackBerry.css and
2650         hard coded constants in RenderThemeBlackBerry.cpp. This patch
2651         moves all the dimensional sizes to a common location, i.e.
2652         RenderThemeBlackBerry.cpp. Having all the logic in C++ code allows
2653         more complex decision making for when and how much to enlarge the
2654         media controls. Currently the controls are enlarged by a factor
2655         of 2 if the document is in fullscreen mode, the video element
2656         is the current fullscreen element, and the deviceScaleFactor of
2657         the page is less than 2.0. This avoids overly large controls
2658         on pages which are already at least doubling the size of the
2659         controls via viewport meta tag device-width settings. In other
2660         words, if the CSS pixels are already enlarged compared to device
2661         pixels by a factor of at least 2 in length and width.
2662
2663         In order to accomplish this, I had to add a new Element* parameter
2664         to RenderTheme::adjustSliderThumbSize(). This is needed so
2665         that fullscreen mode can be checked and the deviceScaleFactor
2666         retrieved. I feel that this does not have a big impact on the
2667         code and the other ports, for which I will simply be adding the
2668         additional parameter in their platform code.
2669
2670         Tests:
2671         video-controls-enlarged-fullscreen-meta.html
2672         video-controls-enlarged-fullscreen-nometa.html
2673
2674         * css/mediaControlsBlackBerry.css:
2675         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2676         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2677         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2678         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2679         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2680         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2681         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2682         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2683         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2684         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2685         * html/shadow/SliderThumbElement.cpp:
2686         (WebCore::RenderSliderThumb::updateAppearance):
2687         * platform/blackberry/RenderThemeBlackBerry.cpp:
2688         (WebCore):
2689         (WebCore::determineRenderSlider):
2690         (WebCore::determineFullScreenMultiplier):
2691         (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize):
2692         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
2693         (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle):
2694         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
2695         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
2696         * platform/blackberry/RenderThemeBlackBerry.h:
2697         (RenderThemeBlackBerry):
2698         * platform/efl/RenderThemeEfl.cpp:
2699         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
2700         * platform/efl/RenderThemeEfl.h:
2701         (RenderThemeEfl):
2702         * platform/gtk/RenderThemeGtk.h:
2703         * platform/gtk/RenderThemeGtk2.cpp:
2704         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2705         * platform/gtk/RenderThemeGtk3.cpp:
2706         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2707         * platform/qt/RenderThemeQt.cpp:
2708         (WebCore::RenderThemeQt::adjustSliderThumbSize):
2709         * platform/qt/RenderThemeQt.h:
2710         (RenderThemeQt):
2711         * platform/qt/RenderThemeQtMobile.cpp:
2712         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
2713         * platform/qt/RenderThemeQtMobile.h:
2714         (RenderThemeQtMobile):
2715         * rendering/RenderThemeChromiumLinux.cpp:
2716         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
2717         * rendering/RenderThemeChromiumLinux.h:
2718         (RenderThemeChromiumLinux):
2719         * rendering/RenderThemeChromiumSkia.cpp:
2720         (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
2721         * rendering/RenderThemeChromiumSkia.h:
2722         (RenderThemeChromiumSkia):
2723         * rendering/RenderThemeChromiumWin.cpp:
2724         (WebCore):
2725         (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize):
2726         * rendering/RenderThemeChromiumWin.h:
2727         (RenderThemeChromiumWin):
2728         * rendering/RenderThemeMac.h:
2729         (RenderThemeMac):
2730         * rendering/RenderThemeSafari.cpp:
2731         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
2732         * rendering/RenderThemeSafari.h:
2733         (RenderThemeSafari):
2734         * rendering/RenderThemeWin.cpp:
2735         (WebCore::RenderThemeWin::adjustSliderThumbSize):
2736         * rendering/RenderThemeWin.h:
2737         (RenderThemeWin):
2738         * rendering/RenderThemeWinCE.cpp:
2739         (WebCore::RenderThemeWinCE::adjustSliderThumbSize):
2740         * rendering/RenderThemeWinCE.h:
2741         (RenderThemeWinCE):
2742         * rendering/RenderTheme.cpp:
2743         (WebCore::RenderTheme::adjustStyle):
2744         (WebCore::RenderTheme::adjustMediaControlStyle):
2745         (WebCore):
2746         (WebCore::RenderTheme::adjustSliderThumbStyle):
2747         (WebCore::RenderTheme::adjustSliderThumbSize):
2748         * rendering/RenderTheme.h:
2749         (RenderTheme):
2750
2751 2012-06-05  Stephanie Lewis  <slewis@apple.com>
2752
2753         https://bugs.webkit.org/show_bug.cgi?id=88370
2754         Memory sampler should trigger low memory signal
2755
2756         Reviewed by Geoff Garen.
2757
2758         No new tests. Verify by running stress test which crashes 
2759         in a few minutes without the fix.
2760
2761         Fix assumption in block code.  We could get in a state where timer_event_source
2762         had already been released before the block ran.
2763
2764         * platform/mac/MemoryPressureHandlerMac.mm:
2765         (WebCore::MemoryPressureHandler::holdOff):
2766
2767 2012-06-05  Yoshifumi Inoue  <yosin@chromium.org>
2768
2769         [Forms] Introduce InputNumber type as an alias of double for replacing it to Decimal
2770         https://bugs.webkit.org/show_bug.cgi?id=88275
2771
2772         Reviewed by Kent Tamura.
2773
2774         This patch introduced InputNumber type as alias of double to be
2775         replaced to Decimal and convertDoubleToInputNumber and 
2776         convertToInputNumberToDouble for reducing size of patch when we
2777         introduce Decimal type.
2778
2779         This patch added new vairables to use const variable to reduce
2780         copy operation when introducing Decimal type.
2781
2782         In the implementation, we use InputNumber, will be Decimal, however some methods in IDL
2783         use double. To clarify internal usage of value and external usage, thit patch renamed
2784         following functions:
2785
2786         - parseToDouble => parseNumber
2787         - setValueAsNumber => setValueAsDouble and setValueAsInputNumber
2788         - valueAsNumber => valueAsDouble
2789
2790         This patch is a part of introducing Decimal, https://bugs.webkit.org/show_bug.cgi?id=80009
2791
2792         No new tests. This patch doesn't change behavior.
2793
2794         * html/BaseDateAndTimeInputType.cpp:
2795         (WebCore::BaseDateAndTimeInputType::valueAsDate): Replaced parseToNumber() to valueAsDouble()
2796         (WebCore::BaseDateAndTimeInputType::setValueAsDate): Inserted convertDoubleToInputNumber.
2797         (WebCore::BaseDateAndTimeInputType::valueAsDouble): Use new function parseToDouble().
2798         (WebCore::BaseDateAndTimeInputType::setValueAsInputNumber): Added.
2799         (WebCore::BaseDateAndTimeInputType::defaultValueForStepUp): Changed return type to InputNumber.
2800         (WebCore::BaseDateAndTimeInputType::parseToNumber): This is replacement of parseToDouble().
2801         (WebCore::BaseDateAndTimeInputType::parseToDouble): Added for valueAsDate and valueAsDouble.
2802         (WebCore::BaseDateAndTimeInputType::serialize): Changed parameter type to InputNumber.
2803         (WebCore::BaseDateAndTimeInputType::serializeWithComponents): Replace double to InputNumber for getAllowdStep.
2804         * html/BaseDateAndTimeInputType.h:
2805         (BaseDateAndTimeInputType):
2806         * html/DateInputType.cpp:
2807         (WebCore::DateInputType::createStepRange): Replaced double to InputNumber.
2808         * html/DateInputType.h:
2809         (DateInputType):
2810         * html/DateTimeInputType.cpp:
2811         (WebCore::DateTimeInputType::defaultValueForStepUp): Changed return type to InputNumber.
2812         (WebCore::DateTimeInputType::createStepRange): Replaced double to InputNumber.
2813         * html/DateTimeInputType.h:
2814         (DateTimeInputType):
2815         * html/DateTimeLocalInputType.cpp:
2816         (WebCore::DateTimeLocalInputType::createStepRange): Replaced double to InputNumber.
2817         * html/DateTimeLocalInputType.h:
2818         (DateTimeLocalInputType):
2819         * html/HTMLInputElement.cpp:
2820         (WebCore::HTMLInputElement::getAllowedValueStep): Changed parameter type to InputNumber.
2821         (WebCore::HTMLInputElement::valueAsNumber): Use InputType::valueAsDouble.
2822         (WebCore::HTMLInputElement::setValueAsNumber): Use InputType::valueAsDouble.
2823         * html/HTMLInputElement.h:
2824         (HTMLInputElement):
2825         * html/InputType.cpp:
2826         (WebCore::InputType::valueAsDouble): Replacement of valueAsNumber.
2827         (WebCore::InputType::setValueAsDouble): Replacement of valueAsNumber.
2828         (WebCore::InputType::setValueAsInputNumber): Replacement of valueAsNumber.
2829         (WebCore::InputType::rangeUnderflow): Replaced double to InputNumber.
2830         (WebCore::InputType::rangeOverflow): Replaced double to InputNumber.
2831         (WebCore::InputType::defaultValueForStepUp): Changed return type to InputNumber.
2832         (WebCore::InputType::isInRange): Replaced double to InputNumber.
2833         (WebCore::InputType::isOutOfRange): Replaced double to InputNumber.
2834         (WebCore::InputType::stepMismatch): Replaced double to InputNumber.
2835         (WebCore::InputType::validationMessage): Replaced double to InputNumber.
2836         (WebCore::InputType::parseToNumber): Replacement of parseToDouble.
2837         (WebCore::InputType::parseToNumberOrNaN): Added for reducing number of std::numeric_limits<double>::quiet_NaN().
2838         (WebCore::InputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber.
2839         (WebCore::InputType::serialize): Changed parameter type to InputNumber.
2840         (WebCore::InputType::applyStep): Replaced double to InputNumber.
2841         (WebCore::InputType::getAllowedValueStep): Changed parameter type to InputNumber.
2842         (WebCore::InputType::stepUpFromRenderer): Replaced double to InputNumber.
2843         * html/InputType.h:
2844         (InputType):
2845         * html/MonthInputType.cpp:
2846         (WebCore::MonthInputType::defaultValueForStepUp): Changed return type to InputNumber.
2847         (WebCore::MonthInputType::createStepRange): Replaced double to InputNumber.
2848         (WebCore::MonthInputType::parseToNumber): Replacement of parseToDouble.
2849         * html/MonthInputType.h:
2850         (MonthInputType):
2851         * html/NumberInputType.cpp:
2852         (WebCore::NumberInputType::valueAsDouble): Replacement of valueAsNumber. Changed to use parseToDoubleForNumberType.
2853         (WebCore::NumberInputType::setValueAsDouble):  Replacement of setValueAsNumber.  Changed to use serializeForNumberType.
2854         (WebCore::NumberInputType::setValueAsInputNumber): Replacement of setValueAsNumber.
2855         (WebCore::NumberInputType::createStepRange): Replaced double to InputNumber.
2856         (WebCore::NumberInputType::parseToNumber): Replacement of parseToDouble.
2857         (WebCore::NumberInputType::parseToNumberWithDecimalPlaces): Replaced double to InputNumber.
2858         (WebCore::NumberInputType::serialize):
2859         * html/NumberInputType.h:
2860         (NumberInputType):
2861         * html/RangeInputType.cpp:
2862         (WebCore::ensureMaximum): Replaced double to InputNumber.
2863         (WebCore::RangeInputType::valueAsDouble): Replacement of valueAsNumber.
2864         (WebCore::RangeInputType::setValueAsInputNumber):  Replacement of setValueAsNumber.
2865         (WebCore::RangeInputType::createStepRange): Replaced double to InputNumber.
2866         (WebCore::RangeInputType::handleKeydownEvent): Replaced double to InputNumber.
2867         (WebCore::RangeInputType::parseToNumber): Replacement of parseToDouble.
2868         (WebCore::RangeInputType::serialize): Changed parameter type to InputNumber.
2869         (WebCore::RangeInputType::sanitizeValue): Replaced double to InputNumber.
2870         * html/RangeInputType.h:
2871         (RangeInputType):
2872         * html/StepRange.cpp:
2873         (WebCore::StepRange::StepRange): Replaced double to InputNumber.
2874         (WebCore::StepRange::acceptableError): Replaced double to InputNumber.
2875         (WebCore::StepRange::alignValueForStep): Replaced double to InputNumber.
2876         (WebCore):
2877         (WebCore::StepRange::clampValue): Replaced double to InputNumber.
2878         (WebCore::StepRange::stepMismatch): Replaced double to InputNumber.
2879         * html/StepRange.h:
2880         (WebCore::convertDoubleToInputNumber): Added.
2881         (WebCore::convertInputNumberToDouble): Added.
2882         (WebCore::StepRange::NumberWithDecimalPlaces::NumberWithDecimalPlaces): Replaced double to InputNumber.
2883         (WebCore::StepRange::StepDescription::defaultValue): Replaced double to InputNumber.
2884         (StepRange):
2885         (WebCore::StepRange::maximum): Replaced double to InputNumber.
2886         (WebCore::StepRange::minimum): Replaced double to InputNumber.
2887         (WebCore::StepRange::step): Replaced double to InputNumber.
2888         (WebCore::StepRange::stepBase): Replaced double to InputNumber.
2889         (WebCore::StepRange::defaultValue): Replaced double to InputNumber.
2890         (WebCore::StepRange::proportionFromValue): Replaced double to InputNumber.
2891         (WebCore::StepRange::valueFromProportion): Replaced double to InputNumber.
2892         * html/TimeInputType.cpp:
2893         (WebCore::TimeInputType::defaultValueForStepUp): Replaced double to InputNumber.
2894         (WebCore::TimeInputType::createStepRange): Replaced double to InputNumber.
2895         * html/TimeInputType.h:
2896         (TimeInputType):
2897         * html/WeekInputType.cpp:
2898         (WebCore::WeekInputType::createStepRange): Replaced double to InputNumber.
2899         * html/WeekInputType.h:
2900         (WeekInputType):
2901         * html/shadow/CalendarPickerElement.cpp:
2902         (WebCore::CalendarPickerElement::writeDocument): Replaced double to InputNumber.
2903         * html/shadow/SliderThumbElement.cpp:
2904         (WebCore::sliderPosition): Replaced double to InputNumber.
2905         (WebCore::RenderSliderThumb::layout): Replaced double to InputNumber.
2906         (WebCore::SliderThumbElement::setPositionFromPoint): Replaced double to InputNumber.
2907
2908 2012-06-05  Ryosuke Niwa  <rniwa@webkit.org>
2909
2910         Build fix after r119527.
2911
2912         * dom/ViewportArguments.cpp:
2913         (WebCore::computeViewportAttributes):
2914
2915 2012-06-05  Martin Robinson  <mrobinson@igalia.com>
2916
2917         [Cairo] [OpenGL] Enable GL_OES_standard_derivatives
2918         https://bugs.webkit.org/show_bug.cgi?id=87583
2919
2920         Reviewed by Alejandro G. Castro.
2921
2922         No new tests. This is covered by oes-standard-derivatives.html
2923         in the Khronos WebGL conformance tests, which may one day be part
2924         of the WebKit test suite.
2925
2926         Activate the GL_OES_standard_derivatives on Cairo along with
2927         Qt and Mac.
2928
2929         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2930         (WebCore::Extensions3DOpenGL::ensureEnabled):
2931         (WebCore::Extensions3DOpenGL::isEnabled):
2932
2933 2012-06-05  Simon Fraser  <simon.fraser@apple.com>
2934
2935         Avoid creating compositing layers for preserve-3d without transformed descendants
2936         https://bugs.webkit.org/show_bug.cgi?id=88115
2937
2938         Reviewed by Antti Koivisto.
2939         
2940         Avoid creating compositing layers, and therefore using excess backing store,
2941         for elements that have -webkit-transform-style: preserve-3d, but no 3D-transformed
2942         descendants that would be affected by that preserve-3d.
2943         
2944         Test: compositing/layer-creation/no-compositing-for-preserve-3d.html
2945
2946         * rendering/RenderLayer.h: Replace the "mustOverlap" flag with a enum
2947         that describes the different reasons for indirect compositing, so that
2948         we can use that information to decide whether to allocate backing store.
2949         (WebCore::RenderLayer::setIndirectCompositingReason):
2950         (WebCore::RenderLayer::indirectCompositingReason):
2951         (WebCore::RenderLayer::mustCompositeForIndirectReasons):
2952         * rendering/RenderLayer.cpp:
2953         (WebCore::RenderLayer::RenderLayer): Initialize m_indirectCompositingReason
2954
2955         * rendering/RenderLayerCompositor.h: New out param for computeCompositingRequirements()
2956         that is uses to indicate that a 3d-transformed descendant has been encountered.
2957         Rename requiresCompositingWhenDescendantsAreCompositing() to requiresCompositingForIndirectReason(),
2958         and return the reason as an out param.
2959         
2960         * rendering/RenderLayerCompositor.cpp:
2961         (WebCore::RenderLayerCompositor::updateCompositingLayers): Pass in the saw3DTransform
2962         param to computeCompositingRequirements().
2963         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Return a flag
2964         from computeCompositingRequirements() that is set to true if we've seen descendants
2965         that have 3d transforms. This is later used to decide whether to composite for
2966         perspective or preserve-3d.
2967         Change the "mustOverlapCompositedLayers" code to use the new "indirect compositing"
2968         enum flags.
2969         After enumerating children, call requiresCompositingForIndirectReason() and 
2970         record the reason in the layer.
2971         (WebCore::RenderLayerCompositor::needsToBeComposited): Use mustCompositeForIndirectReasons() now.
2972         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Consult the indirect compositing
2973         reason rather than just looking for the overlap flag.
2974         (WebCore::RenderLayerCompositor::reasonForCompositing): Now that we have more information
2975         about indirect compositing reasons, the logging can be more detailed.
2976         (WebCore::RenderLayerCompositor::requiresCompositingForTransform): This now only looks
2977         for 3d transforms. We now treat perspective and perserve-3d as "indirect" reasons, because
2978         whether they composite depends on descendants having non-affine transforms.
2979         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): Includes the logic
2980         previously in requiresCompositingWhenDescendantsAreCompositing(), and now determines
2981         whether to composite for preserve-3d and perspective, based on whether we have transformed descendants.
2982
2983 2012-06-05  Levi Weintraub  <leviw@chromium.org>
2984
2985         Block selection gaps painted not properly pixel snapped
2986         https://bugs.webkit.org/show_bug.cgi?id=88000
2987
2988         Reviewed by Ryosuke Niwa.
2989
2990         Fixes for selection painting in both inline line heights and block gaps. We were unintentionally
2991         flooring inline and block offsets in RenderBlock, but actually need to intentionally floor the
2992         logical left and right values in logical(Left|Right)SelectionGap to properly align our block
2993         selection gaps. This is to properly mirror the behavior in pixelSnappedLogicalRightOffsetForLine.
2994
2995         We were also unintentionally upcasting LayoutUnits to floats in InlineTextBox's selection painting
2996         routine. Now we're properly rounding.
2997
2998         Test: fast/sub-pixel/selection/selection-gaps-at-fractional-offsets.html
2999
3000         * rendering/InlineTextBox.cpp:
3001         (WebCore::InlineTextBox::paintSelection): Move paint values to integers and do proper rounding.
3002         * rendering/RenderBlock.cpp:
3003         (WebCore::blockDirectionOffset): Fix incorrect flooring in return value.
3004         (WebCore::inlineDirectionOffset): Ditto.
3005         (WebCore): Removing previous attempt to properly mirror inline box selection pixel alignment. This
3006         implementation rounded the final x value instead of properly rounding our block offset then flooring
3007         the offset that corresponds to the behavior in InlineTextBox. It also didn't properly pixel snap
3008         the y offset and height.
3009         (WebCore::RenderBlock::blockSelectionGap): Properly pixel snapping the gap rect before painting.
3010         (WebCore::RenderBlock::logicalLeftSelectionGap): Correctly match InlineTextBox's selection pixel
3011         alignment by flooring the logicalLeft and pixel snapping the subsequent rect. We do this in order
3012         to maintain proper render tree pixel snapping while simultaneously mirroring the flooring in the
3013         inline direction that occurs in InlineTextBox.cpp's alignSelectionRectToDevicePixels method.
3014         (WebCore::RenderBlock::logicalRightSelectionGap): Ditto with the right.
3015
3016 2012-06-05  Adam Barth  <abarth@webkit.org>
3017
3018         Remove support for target-densitydpi in the viewport meta tag
3019         https://bugs.webkit.org/show_bug.cgi?id=88047
3020
3021         Reviewed by Kenneth Rohde Christiansen.
3022
3023         The target-densitydpi parameter was originally implemented on Android,
3024         but it does not appear to be widely used and introduces significant
3025         implementation complexity because it forces us to track three scale
3026         factors (defaultDeviceScaleFactor, deviceScaleFactor, and
3027         pageScaleFactor) rather than just two (deviceScaleFactor and
3028         pageScaleFactor).
3029
3030         There don't appear to be many web sites that use target-densitydpi
3031         because it is not supported on iOS.  There are also concerns from the
3032         standards community about the design of the feature.  It seems our best
3033         course of action is to remove target-densitydpi and address these use
3034         cases via other mechanisms, such as responsive images and device units
3035         in CSS because those approaches are likely to be implemented broadly.
3036
3037         * dom/ViewportArguments.cpp:
3038         (WebCore::computeViewportAttributes):
3039         (WebCore):
3040         (WebCore::setViewportFeature):
3041         (WebCore::viewportErrorMessageTemplate):
3042         (WebCore::viewportErrorMessageLevel):
3043         * dom/ViewportArguments.h:
3044         (WebCore::ViewportArguments::ViewportArguments):
3045         (ViewportArguments):
3046         (WebCore::ViewportArguments::operator==):
3047
3048 2012-06-05  Erik Arvidsson  <arv@chromium.org>
3049
3050         [V8] Improve variable resolution order on window
3051         https://bugs.webkit.org/show_bug.cgi?id=84247
3052
3053         Reviewed by Ojan Vafai.
3054
3055         This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.
3056
3057         Test: fast/dom/Window/window-property-shadowing-onclick.html
3058
3059         * bindings/v8/V8DOMWindowShell.cpp:
3060         (WebCore::V8DOMWindowShell::initContextIfNeeded): Set the flag as we initialize V8.
3061         * bindings/v8/WorkerContextExecutionProxy.cpp:
3062         (WebCore::WorkerContextExecutionProxy::initIsolate): Ditto.
3063
3064 2012-06-05  Ojan Vafai  <ojan@chromium.org>
3065
3066         Delete dead code from RenderBox::computeLogicalWidthInRegion
3067         https://bugs.webkit.org/show_bug.cgi?id=88353
3068
3069         Reviewed by Tony Chang.
3070
3071         No new tests obviously since this is dead code.
3072
3073         * rendering/RenderBox.cpp:
3074         (WebCore::RenderBox::computeLogicalWidthInRegion):
3075
3076 2012-06-05  Greg Billock  <gbillock@google.com>
3077
3078         New constructor for WebIntent to be used for delivery
3079         https://bugs.webkit.org/show_bug.cgi?id=87143
3080
3081         Reviewed by Darin Fisher.
3082
3083         * Modules/intents/Intent.cpp:
3084         (WebCore::Intent::setExtras):
3085         (WebCore):
3086         * Modules/intents/Intent.h:
3087         (Intent):
3088
3089 2012-06-01  Ojan Vafai  <ojan@chromium.org>
3090
3091         Change overrideSizes to be content-box instead of border-box
3092         https://bugs.webkit.org/show_bug.cgi?id=88116
3093
3094         Reviewed by Tony Chang.
3095
3096         Previously, the code used border-box everywhere except for one place
3097         where it used content-box when setting the override size. Conversely,
3098         it subtracted the borderAndPaddingSize everywhere it grabbed the override
3099         size except for one.
3100
3101         Instead, make the override size override the content-box size.
3102         Converging on using the border-box size would be tricky given RenderTableCell's
3103         tricky management of intrinsic padding.
3104
3105         There is no behavior change except in RenderBox::availableLogicalHeightUsing,
3106         which fixes a table test.
3107
3108         * rendering/RenderBox.cpp:
3109         (WebCore::RenderBox::setOverrideLogicalContentHeight):
3110         (WebCore::RenderBox::setOverrideLogicalContentWidth):
3111         (WebCore::RenderBox::overrideLogicalContentWidth):
3112         (WebCore::RenderBox::overrideLogicalContentHeight):
3113         (WebCore::RenderBox::computeLogicalWidthInRegion):
3114         (WebCore::RenderBox::computeLogicalHeight):
3115         (WebCore::RenderBox::computePercentageLogicalHeight):
3116         (WebCore::RenderBox::availableLogicalHeightUsing):
3117         We were incorrectly subtracting the borderAndPaddingLogicalWidth instead
3118         of the borderAndPaddingLogicalHeight.
3119
3120         * rendering/RenderBox.h:
3121         (RenderBox):
3122         * rendering/RenderDeprecatedFlexibleBox.cpp:
3123         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
3124         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
3125         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3126         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
3127         * rendering/RenderFlexibleBox.cpp:
3128         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
3129         (WebCore::RenderFlexibleBox::setLogicalOverrideSize):
3130         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
3131         * rendering/RenderTableCell.cpp:
3132         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
3133
3134 2012-06-05  Andy Estes  <aestes@apple.com>
3135
3136         REGRESSION (r118197): PluginStrategy should be used even if ENABLE(NETSCAPE_PLUGIN_API) is false
3137         https://bugs.webkit.org/show_bug.cgi?id=88296
3138
3139         Reviewed by Dan Bernstein.
3140
3141         refresh() and initPlugins() should call into PluginStrategy even if
3142         ENABLE(NETSCAPE_PLUGIN_API) is false. Some ports support non-Netscape
3143         plug-ins, so PluginStrategy should be consulted even if Netscape
3144         plug-ins specifically are disabled.
3145
3146         Ports that support platform strategies but not Netscape plug-ins should
3147         handle this inside their PluginStrategy rather than modifying generic
3148         plug-in code.
3149
3150         * plugins/PluginData.cpp:
3151         (WebCore::PluginData::refresh):
3152         (WebCore::PluginData::initPlugins):
3153
3154 2012-06-05  Douglas Stockwell  <dstockwell@chromium.org>
3155
3156         Crash when modifying fixed-position elements in a detached frame
3157         https://bugs.webkit.org/show_bug.cgi?id=88288
3158
3159         Reviewed by James Robinson.
3160
3161         Test: fast/block/positioning/fixed-position-detached-frame.html
3162
3163         * css/StyleResolver.cpp:
3164         (WebCore::StyleResolver::collectMatchingRulesForList):
3165
3166 2012-06-05  Andrey Kosyakov  <caseq@chromium.org>
3167
3168         Web Inspector: render timeline paint category dark green
3169         https://bugs.webkit.org/show_bug.cgi?id=88333
3170
3171         Reviewed by Pavel Feldman.
3172
3173         - Added a new, dark-green color for timeline events.
3174
3175         * WebCore.gypi: Added timelineBarDarkGreen.png
3176         * inspector/front-end/Images/timelineBarDarkGreen.png: Added.
3177         * inspector/front-end/Images/timelineCheckmarks.png: Added a dark-green checkbox.
3178         * inspector/front-end/Images/timelineDots.png: Added a dark-green dot.
3179         * inspector/front-end/TimelinePresentationModel.js:
3180         (WebInspector.TimelinePresentationModel.categories):
3181         * inspector/front-end/WebKit.qrc: Added timelineBarDarkGreen.png.
3182         * inspector/front-end/timelinePanel.css:
3183         (.timeline-category-statusbar-item.timeline-category-painting .timeline-category-checkbox):
3184         (.timeline-category-painting .timeline-graph-bar):
3185         (.popover .timeline-painting):
3186         (.timeline-category-painting .timeline-tree-icon):
3187
3188 2012-06-05  Alexei Filippov  <alexeif@chromium.org>
3189
3190         Web Inspector: serialize edge counts instead of indexes in heap snapshot
3191         https://bugs.webkit.org/show_bug.cgi?id=88324
3192
3193         The serialized node structure currently holds an index
3194         of its first containment edge in the edges array.
3195         The index can be quite big (up to 7 digits for large snapshots).
3196         The patch changes the serialization format to pass
3197         node containment edge count instead. For most nodes the count
3198         is just a single digit number.
3199         This reduces serialized snapshot size and therefore its transfer time.
3200
3201         Reviewed by Yury Semikhatsky.
3202
3203         * inspector/front-end/HeapSnapshot.js:
3204         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
3205         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
3206         (WebInspector.HeapSnapshotNode.prototype._ordinal):
3207         (WebInspector.HeapSnapshotNodeIterator):
3208         (WebInspector.HeapSnapshot.prototype._init):
3209         (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
3210         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3211         (WebInspector.HeapSnapshot.prototype._bfs):
3212         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3213         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
3214         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
3215         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
3216         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
3217
3218 2012-06-05  Arpita Bahuguna  <arpitabahuguna@gmail.com>
3219
3220         CSS 2.1 failure: border-conflict-element-021a
3221         https://bugs.webkit.org/show_bug.cgi?id=86885
3222
3223         Reviewed by Julien Chaffraix.
3224
3225         When two adjacent table row groups (thead, tbody, tfoot) have the same border-width
3226         and the same border-style in a 'border-collapse: collapse' table the color of the border
3227         from the top-most table row wins.
3228
3229         Tests: fast/table/border-collapsing/adjacent-row-groups-multi.html
3230                fast/table/border-collapsing/adjacent-row-groups.html
3231
3232         * rendering/RenderTable.cpp:
3233         (WebCore::RenderTable::paintObject):
3234         Currently each row group is sent for paint from top (firstChild) to bottom thereby causing
3235         the borders of the bottom-most row group (which is painted last) to overlap over the
3236         previous row-group. This breaks the precedence for collapsed borders between adjacent cells.
3237
3238         This fix thus reverses the order in which the row-groups/sections are passed for painting.
3239         Additional change has been done to iterate over the RenderTableSections directly.
3240
3241         (WebCore):
3242         (WebCore::RenderTable::bottomSection):
3243         * rendering/RenderTable.h:
3244         New function has been added to obtain the last section of the table.
3245
3246         (RenderTable):
3247         * rendering/RenderTableSection.h:
3248         (RenderTableSection):
3249         RenderTableSection's paint() method has now been made public so as to make it accessible
3250         from RenderTable.
3251
3252 2012-06-05  Csaba Osztrogonác  <ossy@webkit.org>
3253
3254         [Qt][Win] Fix IDL dependency generation
3255         https://bugs.webkit.org/show_bug.cgi?id=88304
3256
3257         Reviewed by Tor Arne Vestbø.
3258
3259         * DerivedSources.pri:
3260
3261 2012-06-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3262
3263         Unreviewed, rolling out r119467, r119471, and r119476.
3264         http://trac.webkit.org/changeset/119467
3265         http://trac.webkit.org/changeset/119471
3266         http://trac.webkit.org/changeset/119476
3267         https://bugs.webkit.org/show_bug.cgi?id=88332
3268
3269         it broke chromium-mac static initializers test.\ (Requested by
3270         loislo on #webkit).
3271
3272         * WebCore.gyp/WebCore.gyp:
3273         * WebCore.gypi:
3274         * platform/graphics/FontPlatformData.h:
3275         (FontPlatformData):
3276         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3277         (WebCore::FontPlatformData::platformDataInit):
3278         (WebCore::FontPlatformData::platformDataAssign):
3279         * platform/graphics/harfbuzz/ng/HarfBuzzFace.cpp: Removed.
3280         * platform/graphics/harfbuzz/ng/HarfBuzzFace.h: Removed.
3281         * platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp: Removed.
3282         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp: Removed.
3283         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h: Removed.
3284         * platform/graphics/mac/FontComplexTextMac.cpp:
3285         (WebCore::Font::selectionRectForComplexText):
3286         (WebCore::Font::drawComplexText):
3287         (WebCore::Font::floatWidthForComplexText):
3288         (WebCore::Font::offsetForPositionForComplexText):
3289
3290 2012-06-05  Alexander Pavlov  <apavlov@chromium.org>
3291
3292         Web Inspector: SHIFT key as helper to color adjustment in color picker
3293         https://bugs.webkit.org/show_bug.cgi?id=88319
3294
3295         Reviewed by Pavel Feldman.
3296
3297         With Shift depressed, the dragger in the color picker will snap to the horizontal
3298         or vertical axis while dragging, depending on which axis offset is greater.
3299
3300         * inspector/front-end/Spectrum.js:
3301         (WebInspector.Spectrum.colorDragStart):
3302         (WebInspector.Spectrum.colorDrag):
3303         (WebInspector.Spectrum.draggable.move):
3304         (WebInspector.Spectrum.draggable.start):
3305
3306 2012-06-05  Andrey Kosyakov  <caseq@chromium.org>
3307
3308         Web Inspector: aggregate all events before first frame into a fake frame
3309         https://bugs.webkit.org/show_bug.cgi?id=88229
3310
3311         - in Timeline's frame mode, start aggregating events by frame even before we get first frame marker.
3312
3313         * inspector/front-end/TimelineFrameController.js:
3314         (WebInspector.TimelineFrameController.prototype._addRecord):
3315         (WebInspector.TimelineFrameController.prototype._flushFrame):
3316         (WebInspector.TimelineFrameController.prototype._createFrame):
3317
3318 2012-06-05  Charles Wei  <charles.wei@torchmobile.com.cn>
3319
3320         JSC:need to implement Dictionary::getWithUndefinedOrNullCheck for IDB
3321         https://bugs.webkit.org/show_bug.cgi?id=88283
3322
3323         Reviewed by Kentaro Hara.
3324
3325         No new tests, idb not working for JSC yet.
3326
3327         * bindings/js/Dictionary.cpp:
3328         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
3329         * bindings/js/Dictionary.h:
3330         (Dictionary):
3331         * bindings/js/JSDictionary.cpp:
3332         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
3333         (WebCore):
3334         * bindings/js/JSDictionary.h:
3335         (JSDictionary):
3336
3337 2012-06-05  Dongwoo Im  <dw.im@samsung.com>
3338
3339         Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
3340         https://bugs.webkit.org/show_bug.cgi?id=73176
3341
3342         Reviewed by Adam Barth.
3343
3344         Two more APIs are added in Custom Scheme Handler specification.
3345         http://dev.w3.org/html5/spec/Overview.html#custom-handlers
3346         One is 'isProtocolHandlerRegistered' to query whether the specific URL
3347         is registered or not.
3348         The other is 'unregisterProtocolHandler' to remove the registered URL.
3349
3350         Test: fast/dom/unregister-protocol-handler.html
3351
3352         * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
3353         * loader/EmptyClients.h: Add prototypes.
3354         (EmptyChromeClient):
3355         (WebCore::EmptyChromeClient::isProtocolHandlerRegistered):
3356         (WebCore::EmptyChromeClient::unregisterProtocolHandler):
3357         * page/ChromeClient.h:
3358         (ChromeClient):
3359         * page/NavigatorRegisterProtocolHandler.cpp:
3360         (WebCore):
3361         (WebCore::customHandlersStateString):
3362         (WebCore::NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered): Query if the handler is registered.
3363         (WebCore::NavigatorRegisterProtocolHandler::unregisterProtocolHandler): Unregister the registered handler.
3364         * page/NavigatorRegisterProtocolHandler.h:
3365         (NavigatorRegisterProtocolHandler):
3366         * page/NavigatorRegisterProtocolHandler.idl:
3367
3368 2012-06-04  Kinuko Yasuda  <kinuko@chromium.org>
3369
3370         Chromium tests: "Add support for the Blob constructor" [r115582] regressed blob layout tests
3371         https://bugs.webkit.org/show_bug.cgi?id=85174
3372
3373         Reviewed by Kentaro Hara.
3374
3375         This fixes a crash problem which could happen when the constructor is
3376         given an array which contains String-type item(s).
3377
3378         There're still some Text mismatches between v8 results and
3379         JSC results, most of them are v8 not throwing exception
3380         when it is given an object whose toString() method throws
3381         exception.  (The issue will be addresse in a separate patch.)
3382
3383         Test: fast/files/blob-constructor.html
3384
3385         * bindings/v8/custom/V8BlobCustom.cpp:
3386         (WebCore::V8Blob::constructorCallback):
3387
3388 2012-06-05  Kentaro Hara  <haraken@chromium.org>
3389
3390         Remove unnecessary constructor of SelectorQueryCache
3391         https://bugs.webkit.org/show_bug.cgi?id=87942
3392
3393         Reviewed by Ryosuke Niwa.
3394
3395         Per the comment from darin@ (https://bugs.webkit.org/show_bug.cgi?id=87942#c27),
3396         this patch removes an inline constructor that has no arguments.
3397         To have the compiler generate the constructor,
3398         this patch also removes WTF_MAKE_NONCOPYABLE().
3399
3400         No tests. No change in behavior.
3401
3402         * dom/SelectorQuery.h:
3403         (SelectorQueryCache):
3404
3405 2012-06-05  Kentaro Hara  <haraken@chromium.org>
3406
3407         Remove unused methods from SelectorQuery.h
3408         https://bugs.webkit.org/show_bug.cgi?id=88289
3409
3410         Reviewed by Antti Koivisto.
3411
3412         This patch removes SelectorDataList::size() and
3413         SelectorDataList::SelectorDataList().
3414         SelectorDataList::size() is not used by anybody.
3415         SelectorDataList::SelectorDataList() can be auto-generated
3416         by a compiler.
3417
3418         No tests. No change in behavior.
3419
3420         * dom/SelectorQuery.cpp:
3421         * dom/SelectorQuery.h:
3422         (SelectorDataList):
3423
3424 2012-06-05  Kent Tamura  <tkent@chromium.org>
3425
3426         Build fix for r119470.
3427
3428         * loader/EmptyClients.cpp: Add #include "IntentRequest.h".
3429
3430 2012-06-05  Kent Tamura  <tkent@chromium.org>
3431
3432         Remove unused function: Document::formElements
3433         https://bugs.webkit.org/show_bug.cgi?id=88272
3434
3435         Reviewed by Kentaro Hara.
3436
3437         No new tests. No behavior change.
3438
3439         * dom/Document.h:
3440         (Document): remove formElements(). It was used for radio group
3441         validation, but the current code doesn't use it any more.
3442
3443 2012-06-05  Kenichi Ishibashi  <bashi@chromium.org>
3444
3445         Unreviewed build fix on Chromium mac
3446
3447         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3448         (WebCore::isAATFont):
3449
3450 2012-06-05  Kent Tamura  <tkent@chromium.org>
3451
3452         Move some function definitions in EmptyClients.h to EmptyClients.cpp
3453         https://bugs.webkit.org/show_bug.cgi?id=88285
3454
3455         Reviewed by Ryosuke Niwa.
3456
3457         If we have definitions of functions with RefPtr<> in EmptyClients.h like
3458
3459             virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) { }
3460
3461         and a source file includes EmptyClient.h, the source file needs to