8f8201cbfdea0487c8e64e9539eb4277f9d4c209
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-09-08  Pavel Podivilov  <podivilov@chromium.org>
2
3         Web Inspector: extract RawSourceCode source mapping logic to helper classes.
4         https://bugs.webkit.org/show_bug.cgi?id=67789
5
6         Reviewed by Pavel Feldman.
7
8         * inspector/front-end/SourceFile.js:
9         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
10         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
11         (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
12         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
13         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
14         (WebInspector.RawSourceCode.prototype._createSourceMapping):
15         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
16         (WebInspector.RawSourceCode.PlainSourceMapping):
17         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
18         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
19         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.get uiSourceCode):
20         (WebInspector.RawSourceCode.FormattedSourceMapping):
21         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
22         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
23         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.get uiSourceCode):
24
25 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
26
27         [GTK] WebProcess shouldn't use the GTK+ API
28         https://bugs.webkit.org/show_bug.cgi?id=68062
29
30         Reviewed by Martin Robinson.
31
32         Move errors code that is common between webki1 and webkit2 to
33         WebCore so that it can be shared.
34
35         * GNUmakefile.list.am: Add new files to compilation.
36         * platform/gtk/ErrorsGtk.cpp: Added.
37         (WebCore::cancelledError):
38         (WebCore::blockedError):
39         (WebCore::cannotShowURLError):
40         (WebCore::interruptedForPolicyChangeError):
41         (WebCore::cannotShowMIMETypeError):
42         (WebCore::fileDoesNotExistError):
43         (WebCore::pluginWillHandleLoadError):
44         * platform/gtk/ErrorsGtk.h: Added.
45
46 2011-09-19  Mark Rowe  <mrowe@apple.com>
47
48         Attempt to fix the Leopard build.
49         
50         * platform/mac/DisplaySleepDisabler.cpp:
51         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
52         * platform/mac/DisplaySleepDisabler.h:
53
54 2011-09-19  Mark Rowe  <mrowe@apple.com>
55
56         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
57
58         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
59         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
60         a NoIdleSleep assertion as the latter is implied by the former.
61
62         Since there were multiple copies of the same code to disable display sleep spread across WebCore, WebKit and WebKit2
63         this patch takes the approach of moving this functionality to a new DisplaySleepDisabler class that lives in WebCore.
64         A class is used as it makes it easier to reason about the lifetime of the assertions and to ensure that the assertions will
65         always be released when their owning objects go away.
66
67         Reviewed by Dan Bernstein.
68
69         * WebCore.exp.in:
70         * WebCore.xcodeproj/project.pbxproj:
71         * platform/mac/DisplaySleepDisabler.cpp:
72         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler): Register for the NoDisplaySleep assertion, and start our
73         system activity timer when on Leopard.
74         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler): Unregister for the assertion.
75         (WebCore::DisplaySleepDisabler::systemActivityTimerFired): Call UpdateSystemActivity to prevent the screensaver from
76         triggering on Leopard.
77         * platform/mac/DisplaySleepDisabler.h:
78         (WebCore::DisplaySleepDisabler::create):
79         * platform/mac/WebVideoFullscreenController.h:
80         * platform/mac/WebVideoFullscreenController.mm:
81         (-[WebVideoFullscreenController dealloc]):
82         (-[WebVideoFullscreenController setupVideoOverlay:]): Remove the now-unnecessary explicit use of the WebCore namespace.
83         (-[WebVideoFullscreenController mediaElement]): Ditto.
84         (-[WebVideoFullscreenController setMediaElement:]): Ditto.
85         (-[WebVideoFullscreenController windowDidExitFullscreen]): Ditto.
86         (-[WebVideoFullscreenController updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
87         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
88         disabler that we own.
89
90 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
91
92         Hit testing on margins of body and head elements doesn't recur
93         https://bugs.webkit.org/show_bug.cgi?id=40753
94
95         Reviewed by Darin Adler.
96
97         The bug was caused by positionForPointRespectingEditingBoundaries's comparing the editability
98         of head/body and html elements when hit testing was done inside margins of head and body elements.
99
100         Fixed the bug by special-casing html element (any immediate child of render view with a render layer)
101         since margins of head and body elements are special.
102
103         Tests: editing/selection/click-on-body-margin.html
104                editing/selection/click-on-head-margin.html
105
106         * rendering/RenderBlock.cpp:
107         (WebCore::positionForPointRespectingEditingBoundaries):
108
109 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
110
111         Unreviewed, rolling out r95493 and r95496.
112         http://trac.webkit.org/changeset/95493
113         http://trac.webkit.org/changeset/95496
114         https://bugs.webkit.org/show_bug.cgi?id=68418
115
116         Broke Windows build (Requested by rniwa on #webkit).
117
118         * ForwardingHeaders/heap/AllocationSpace.h: Removed.
119
120 2011-09-19  James Robinson  <jamesr@chromium.org>
121
122         [chromium] ContentLayer's texture updater deleted during paint when compositing turns off in the middle of paint
123         https://bugs.webkit.org/show_bug.cgi?id=68405
124
125         Reviewed by Kenneth Russell.
126
127         Make TiledLayerChromium's textureUpdater refcounted and hold an explicit reference during paint in case
128         compositing is turned off halfway through a paint.
129
130         * platform/graphics/chromium/ContentLayerChromium.h:
131         * platform/graphics/chromium/ImageLayerChromium.cpp:
132         (WebCore::ImageLayerTextureUpdater::create):
133         * platform/graphics/chromium/ImageLayerChromium.h:
134         * platform/graphics/chromium/LayerTextureUpdater.h:
135         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
136         (WebCore::LayerTextureUpdaterBitmap::create):
137         (WebCore::LayerTextureUpdaterSkPicture::create):
138         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
139         * platform/graphics/chromium/TiledLayerChromium.cpp:
140         (WebCore::TiledLayerChromium::prepareToUpdate):
141
142 2011-09-19  Luke Macpherson   <macpherson@chromium.org>
143
144         Eliminate Length::undefinedLength = -1 and replace with Undefined LengthType.
145         https://bugs.webkit.org/show_bug.cgi?id=68057
146
147         Reviewed by Darin Adler.
148
149         There appear to be many cases where -1 is actually a valid Length.
150         Encoding the validity of Length separately to the value is a natural solution.
151
152         No new tests / no behavioral changes.
153
154         * css/CSSComputedStyleDeclaration.cpp:
155         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
156         * css/CSSPrimitiveValue.cpp:
157         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
158         * css/CSSStyleApplyProperty.cpp:
159         (WebCore::ApplyPropertyLength::applyValue):
160         * platform/Length.h:
161         (WebCore::Length::Length):
162         (WebCore::Length::value):
163         (WebCore::Length::calcValue):
164         (WebCore::Length::calcMinValue):
165         (WebCore::Length::calcFloatValue):
166         (WebCore::Length::isUndefined):
167         * rendering/RenderBlock.cpp:
168         (WebCore::RenderBlock::computePreferredLogicalWidths):
169         * rendering/RenderDeprecatedFlexibleBox.cpp:
170         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
171         * rendering/RenderFileUploadControl.cpp:
172         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
173         * rendering/RenderImage.cpp:
174         (WebCore::RenderImage::isLogicalWidthSpecified):
175         (WebCore::RenderImage::isLogicalHeightSpecified):
176         * rendering/RenderListBox.cpp:
177         (WebCore::RenderListBox::computePreferredLogicalWidths):
178         * rendering/RenderMenuList.cpp:
179         (WebCore::RenderMenuList::computePreferredLogicalWidths):
180         * rendering/RenderReplaced.cpp:
181         (WebCore::RenderReplaced::computePreferredLogicalWidths):
182         * rendering/RenderSlider.cpp:
183         (WebCore::RenderSlider::computePreferredLogicalWidths):
184         * rendering/RenderTextControl.cpp:
185         (WebCore::RenderTextControl::computePreferredLogicalWidths):
186         * rendering/style/RenderStyle.h:
187         (WebCore::InheritedFlags::initialMaxSize):
188         * rendering/svg/RenderSVGRoot.cpp:
189         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
190
191 2011-09-19  Adam Barth  <abarth@webkit.org>
192
193         Always enable ENABLE(EVENTSOURCE)
194         https://bugs.webkit.org/show_bug.cgi?id=68414
195
196         Reviewed by Eric Seidel.
197
198         EventSource seems to be here to stay.  This patch makes WebKit more
199         hackable by removing this ENABLE macro, as discussed on webkit-dev.
200
201         * Configurations/FeatureDefines.xcconfig:
202         * GNUmakefile.am:
203         * bindings/cpp/WebDOMEventTarget.cpp:
204         (toWebKit):
205         * bindings/js/JSDOMWindowCustom.cpp:
206         (WebCore::JSDOMWindow::eventSource):
207         * bindings/js/JSEventSourceCustom.cpp:
208         * bindings/js/JSEventTarget.cpp:
209         (WebCore::toJS):
210         (WebCore::toEventTarget):
211         * bindings/js/JSWorkerContextCustom.cpp:
212         (WebCore::JSWorkerContext::eventSource):
213         * bindings/v8/V8DOMWrapper.cpp:
214         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
215         * features.pri:
216         * page/DOMWindow.idl:
217         * page/EventSource.cpp:
218         * page/EventSource.h:
219         * page/EventSource.idl:
220         * workers/WorkerContext.idl:
221
222 2011-09-19  Jeremy Apthorp  <jeremya@chromium.org>
223
224         Fix a use-after-free: clear the fullscreen change event target queue at
225         detach time, rather than at destruction time. If this isn't done, it's
226         possible for the event target queue to be the only thing that
227         references the document. Then when the document is popped off the queue
228         and dereferenced in Document::fullScreenChangeDelayTimerFired, the
229         document is destroyed and the subsequent access to
230         m_fullScreenChangeEventTargetQueue.isEmpty() accesses free'd memory.
231         https://bugs.webkit.org/show_bug.cgi?id=67960
232
233         Reviewed by Adam Barth.
234
235         * dom/Document.cpp:
236         (WebCore::Document::~Document):
237         (WebCore::Document::detach):
238
239 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
240
241         Unreviewed, rolling out r95482.
242         http://trac.webkit.org/changeset/95482
243         https://bugs.webkit.org/show_bug.cgi?id=68410
244
245         Broke chromium webkit-tests (Requested by dslomov on #webkit).
246
247         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
248         (WebCore::RGBAtoRGB):
249
250 2011-09-19  Oliver Hunt  <oliver@apple.com>
251
252         Refactor Heap allocation logic into separate AllocationSpace class
253         https://bugs.webkit.org/show_bug.cgi?id=68409
254
255         Reviewed by Gavin Barraclough.
256
257         Adding a forwarding header.
258
259         * ForwardingHeaders/heap/AllocationSpace.h: Added.
260
261 2011-09-19  Adam Barth  <abarth@webkit.org>
262
263         [V8] document.all gets confused about its prototype chain
264         https://bugs.webkit.org/show_bug.cgi?id=68393
265
266         Reviewed by Eric Seidel.
267
268         GetRealNamedPropertyInPrototypeChain doesn't call interceptors, so it's
269         not a good idea to use its return value.  It turns out that all the
270         callers of the API only cared about whether it returns a null handle.
271
272         Test: http/tests/security/document-all.html
273
274         * bindings/v8/V8Collection.h:
275         (WebCore::collectionNamedPropertyGetter):
276         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
277         (WebCore::V8DOMStringMap::namedPropertyDeleter):
278         (WebCore::V8DOMStringMap::namedPropertySetter):
279         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
280         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
281         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
282         (WebCore::V8HTMLCollection::namedPropertyGetter):
283         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
284         (WebCore::V8NamedNodeMap::namedPropertyGetter):
285         * bindings/v8/custom/V8StorageCustom.cpp:
286         (WebCore::storageSetter):
287
288 2011-09-19  Adam Barth  <abarth@webkit.org>
289
290         Named property confusion with __proto__
291         https://bugs.webkit.org/show_bug.cgi?id=68221
292
293         Reviewed by Eric Seidel.
294
295         The __proto__ property is super magical because it's not a real named
296         property and it has higher precedence than even interceptors.  This
297         confuses this check, which is meant to detech which names will get
298         handled by our interceptor.
299
300         Test: http/tests/security/window-named-proto.html
301
302         * bindings/v8/custom/V8DOMWindowCustom.cpp:
303         (WebCore::V8DOMWindow::namedSecurityCheck):
304
305 2011-09-19  Adam Barth  <abarth@webkit.org>
306
307         Rename ENABLE(OPENTYPE_SANITIZER) to USE(OPENTYPE_SANITIZER)
308         https://bugs.webkit.org/show_bug.cgi?id=68292
309
310         Reviewed by Eric Seidel.
311
312         OpenType Sanitizer is a library for sanitizing type and not a feature.
313         Therefore this macro should say that we USE the library.
314
315         * platform/graphics/WOFFFileFormat.cpp:
316         * platform/graphics/WOFFFileFormat.h:
317         * platform/graphics/mac/FontCustomPlatformData.cpp:
318         (WebCore::createFontCustomPlatformData):
319         * platform/graphics/opentype/OpenTypeSanitizer.cpp:
320         * platform/graphics/opentype/OpenTypeSanitizer.h:
321         * platform/graphics/skia/FontCustomPlatformData.cpp:
322         (WebCore::createFontCustomPlatformData):
323         (WebCore::FontCustomPlatformData::supportsFormat):
324
325 2011-09-19  Adam Barth  <abarth@webkit.org>
326
327         Remove APPLICATION_CACHE_DYNAMIC_ENTRIES and associated code
328         https://bugs.webkit.org/show_bug.cgi?id=68407
329
330         Reviewed by Eric Seidel.
331
332         As discussed on webkit-dev, no one appears to be using this code.
333
334         * GNUmakefile.list.am:
335         * UseJSC.cmake:
336         * WebCore.gypi:
337         * WebCore.pro:
338         * WebCore.vcproj/WebCore.vcproj:
339         * WebCore.xcodeproj/project.pbxproj:
340         * bindings/js/JSBindingsAllInOne.cpp:
341         * bindings/js/JSDOMApplicationCacheCustom.cpp: Removed.
342
343 2011-09-19  Sheriff Bot  <webkit.review.bot@gmail.com>
344
345         Unreviewed, rolling out r95385 and r95457.
346         http://trac.webkit.org/changeset/95385
347         http://trac.webkit.org/changeset/95457
348         https://bugs.webkit.org/show_bug.cgi?id=68395
349
350         Broke chromium browser_tests (Requested by dslomov on
351         #webkit).
352
353         * bindings/v8/V8DOMWindowShell.cpp:
354         (WebCore::V8DOMWindowShell::disposeContextHandles):
355         (WebCore::V8DOMWindowShell::initContextIfNeeded):
356         * bindings/v8/V8IsolatedContext.cpp:
357         (WebCore::V8IsolatedContext::V8IsolatedContext):
358         (WebCore::V8IsolatedContext::destroy):
359         * bindings/v8/V8IsolatedContext.h:
360         * loader/EmptyClients.h:
361         (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
362         (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
363         (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
364         * loader/FrameLoaderClient.h:
365
366 2011-09-19  John Bauman  <jbauman@chromium.org>
367
368         Fix nonpremultiplied webgl toDataURL to jpeg
369         https://bugs.webkit.org/show_bug.cgi?id=68366
370
371         The canvas spec says that toDataURL to formats without an alpha must
372         be "composited onto a solid black background using the source-over
373         operator." Do that.
374
375         Reviewed by Kenneth Russell.
376
377         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
378         (WebCore::RGBAtoRGB):
379
380 2011-09-19  Chris Marrin  <cmarrin@apple.com>
381
382         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
383         https://bugs.webkit.org/show_bug.cgi?id=67510
384
385         Reviewed by Adam Roben.
386         
387         Another fix to take care of one last crash when running pause-crash.html. 
388         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
389         exist.
390         
391         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it 
392         from catching the null pointer exception generated by the pause-crash.html test 
393         before this bug was fixed. Windows was ignoring the exception, so the testcase 
394         would appear to succeed, even though it should have crashed.
395
396         This is a resubmission of http://trac.webkit.org/changeset/95243 with a build fix.
397
398         * WebCore.vcproj/WebCore.vcproj:
399         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
400         (WebCore::LayerChangesFlusher::hookCallback):
401         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
402         (PlatformCAAnimation::copy):
403         * platform/win/StructuredExceptionHandlerSupressor.h: Added.
404         (WebCore::StructuredExceptionHandlerSupressor::StructuredExceptionHandlerSupressor):
405         (WebCore::StructuredExceptionHandlerSupressor::~StructuredExceptionHandlerSupressor):
406
407 2011-09-19  Ryosuke Niwa  <rniwa@webkit.org>
408
409         Incorrect selection with absolutely positioned div
410         https://bugs.webkit.org/show_bug.cgi?id=39503
411
412         Reviewed by Kenneth Rohde Christiansen.
413
414         The bug was caused by a false assumption in RenderBlock::positionForPoint. Because the last child box
415         can be positioned, floated, invisible, etc..., we can't always trust last child's logicalTop to tell us
416         whether a given point is inside or below the last child box.
417
418         Fixed the bug by using the last hit-test candidate instead.
419
420         Test: editing/selection/block-with-positioned-lastchild.html
421
422         * rendering/RenderBlock.cpp:
423         (WebCore::RenderBlock::positionForPoint):
424
425 2011-09-19  Dmitry Titov  <dimich@chromium.org>
426
427         [Chromium] Crash after magic iframe transfer for Pepper/NaCl plugins.
428         https://bugs.webkit.org/show_bug.cgi?id=68267
429         Make adoptNode() to not enable live iframe transfer when the iframe's subtree contains plugins.
430
431         Reviewed by Adam Barth.
432
433         Test: fast/frames/iframe-reparenting-embed-elements.html
434
435         * dom/Document.cpp:
436         (WebCore::Document::adoptNode):
437         * html/HTMLFrameElementBase.cpp:
438         (WebCore::hasPluginElements):
439         (WebCore::HTMLFrameElementBase::canRemainAliveOnRemovalFromTree):
440         * html/HTMLFrameElementBase.h:
441
442 2011-09-19  Abhishek Arya  <inferno@chromium.org>
443
444         Issues with merging ruby bases.
445         https://bugs.webkit.org/show_bug.cgi?id=67240
446
447         Reviewed by James Robinson.
448
449         1) Change fromBeforeChild to beforeChild to match
450         webkit rendering naming conventions.
451         2) Add assert to verify ruby base is indeed emptied
452         after collecting all children in a single base.
453         3) Fix condition in mergeBlockChildren to bail out only
454         when we have no children and there is no work to merge
455         children to toBase.
456
457         Test: fast/ruby/ruby-overhang-crash.html
458
459         * rendering/RenderRubyBase.cpp:
460         (WebCore::RenderRubyBase::moveChildren):
461         (WebCore::RenderRubyBase::moveInlineChildren):
462         (WebCore::RenderRubyBase::moveBlockChildren):
463         (WebCore::RenderRubyBase::mergeBlockChildren):
464         * rendering/RenderRubyBase.h:
465         * rendering/RenderRubyRun.cpp:
466         (WebCore::RenderRubyRun::removeChild):
467
468 2011-09-16  Abhishek Arya  <inferno@chromium.org>
469
470         Child not placed correctly when beforeChild (table part)
471         has both :before, :after content.
472         https://bugs.webkit.org/show_bug.cgi?id=67656
473
474         Reviewed by James Robinson.
475
476         Tests: fast/table/table-cell-before-after-content-around-table-block.html
477                fast/table/table-cell-before-after-content-around-table-row.html
478                fast/table/table-cell-before-after-content-around-table.html
479                fast/table/table-row-before-after-content-around-block.html
480                fast/table/table-row-before-after-content-around-table.html
481
482         * rendering/RenderBlock.cpp:
483         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
484         1. Use the new helper functions findAfterContentRenderer,
485            anonymousContainer.
486         2. Rename anonymousChild to better name - beforeChildAnonymousContainer.
487         * rendering/RenderObject.cpp:
488         (WebCore::RenderObject::addChild):
489         When adding a new child, if beforeChild is a table part(
490         Table/TableSection/TableRow), we need to check if both
491         :before, :after content are shoved in one of the anonymous child.
492         If yes, we need to split the :before, :after content before adding
493         newChild. Easiest approach is to destroy the :before content, then add
494         the newChild and then call updateBeforeAfterContent to recreate the
495         :before content.   
496         * rendering/RenderObject.h:
497         (WebCore::RenderObject::findBeforeContentRenderer): same as
498         beforePseudoElementRenderer, but ignores text childs since they are
499         sequentially added.
500         (WebCore::RenderObject::findAfterContentRenderer): same.
501         (WebCore::RenderObject::anonymousContainer):
502         (WebCore::objectIsRelayoutBoundary):
503         * rendering/RenderTable.cpp:
504         (WebCore::RenderTable::addChild): use the new helpers and functionally
505         correct functions - findAfterContentRenderer, anonymousContainer. previous
506         implementation was wrong since it would not go inside, if :after content
507         is embedded deeper than one level.
508         * rendering/RenderTableRow.cpp:
509         (WebCore::RenderTableRow::addChild): same.
510         * rendering/RenderTableSection.cpp:
511         (WebCore::RenderTableSection::addChild): same.
512
513 2011-09-19  Robert Kroeger  <rjkroege@chromium.org>
514
515         [chromium] Gesture recognizer fires taptype only every other touch
516         down/up sequence https://bugs.webkit.org/show_bug.cgi?id=68368
517  
518         Reviewed by Adam Barth.
519
520         The addition of doubletap detection to the gesture recognizer missed some of the
521         outgoing edges in the recognizer state machine. This change simplifies the logic
522         and handles all outgoing edges.
523
524         * platform/chromium/GestureRecognizerChromium.cpp:
525         (WebCore::GestureRecognizerChromium::GestureRecognizerChromium):
526         (WebCore::GestureRecognizerChromium::isInSecondClickTimeWindow):
527         (WebCore::GestureRecognizerChromium::updateValues):
528         (WebCore::GestureRecognizerChromium::touchDown):
529         (WebCore::GestureRecognizerChromium::click):
530         * platform/chromium/GestureRecognizerChromium.h:
531
532 2011-09-19  Tom Sepez  <tsepez@chromium.org>
533
534         Fix xssauditor bypass with unterminated closing tag by making the HTMLSourceTracker
535         and the HTMLParser interact more closely with each other.  HTMLParser should be
536         setting the end range for the token itself to account for buffering that the
537         HTMLSourceTracker can't know about, but there are a lot of paths that would need
538         updating. First step is to cover this one path.
539         https://bugs.webkit.org/show_bug.cgi?id=68281
540
541         Reviewed by Adam Barth.
542
543         Test: http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html
544
545         * html/parser/HTMLSourceTracker.cpp:
546         (WebCore::HTMLSourceTracker::end):
547         * html/parser/HTMLTokenizer.cpp:
548         (WebCore::HTMLTokenizer::nextToken):
549
550 2011-09-19  Peter Rybin  <peter.rybin@gmail.com>
551
552         TextPosition refactoring: Merge ZeroBasedNumber and OneBasedNumber classes
553         https://bugs.webkit.org/show_bug.cgi?id=63541
554
555         Reviewed by Adam Barth.
556
557         No new tests because this patch is not changing behavior.
558
559         * bindings/js/JavaScriptCallFrame.cpp:
560         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
561         * bindings/js/JavaScriptCallFrame.h:
562         (WebCore::JavaScriptCallFrame::create):
563         (WebCore::JavaScriptCallFrame::position):
564         (WebCore::JavaScriptCallFrame::update):
565         * bindings/js/ScriptController.cpp:
566         (WebCore::ScriptController::eventHandlerLineNumber):
567         * bindings/js/ScriptDebugServer.cpp:
568         (WebCore::ScriptDebugServer::hasBreakpoint):
569         (WebCore::ScriptDebugServer::dispatchDidParseSource):
570         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
571         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
572         * bindings/js/ScriptDebugServer.h:
573         * bindings/js/ScriptSourceCode.h:
574         (WebCore::ScriptSourceCode::ScriptSourceCode):
575         * bindings/js/StringSourceProvider.h:
576         (WebCore::StringSourceProvider::create):
577         (WebCore::StringSourceProvider::startPosition):
578         (WebCore::StringSourceProvider::StringSourceProvider):
579         * bindings/v8/ScheduledAction.cpp:
580         (WebCore::ScheduledAction::ScheduledAction):
581         * bindings/v8/ScriptController.cpp:
582         (WebCore::ScriptController::eventHandlerPosition):
583         * bindings/v8/ScriptController.h:
584         * bindings/v8/ScriptEventListener.cpp:
585         (WebCore::createAttributeEventListener):
586         * bindings/v8/ScriptSourceCode.h:
587         (WebCore::ScriptSourceCode::ScriptSourceCode):
588         (WebCore::ScriptSourceCode::startPosition):
589         * bindings/v8/V8LazyEventListener.cpp:
590         (WebCore::V8LazyEventListener::V8LazyEventListener):
591         * bindings/v8/V8LazyEventListener.h:
592         (WebCore::V8LazyEventListener::create):
593         * bindings/v8/V8Proxy.cpp:
594         (WebCore::V8Proxy::compileScript):
595         (WebCore::V8Proxy::evaluate):
596         (WebCore::V8Proxy::runScript):
597         * bindings/v8/V8Proxy.h:
598         * bindings/v8/WorkerContextExecutionProxy.cpp:
599         (WebCore::WorkerContextExecutionProxy::evaluate):
600         (WebCore::WorkerContextExecutionProxy::runScript):
601         * bindings/v8/WorkerContextExecutionProxy.h:
602         * bindings/v8/WorkerScriptController.cpp:
603         (WebCore::WorkerScriptController::evaluate):
604         * dom/PendingScript.cpp:
605         (WebCore::PendingScript::releaseElementAndClear):
606         * dom/PendingScript.h:
607         (WebCore::PendingScript::PendingScript):
608         (WebCore::PendingScript::startingPosition):
609         (WebCore::PendingScript::setStartingPosition):
610         * dom/ScriptElement.cpp:
611         (WebCore::ScriptElement::prepareScript):
612         * dom/ScriptElement.h:
613         * dom/ScriptableDocumentParser.h:
614         * dom/ViewportArguments.cpp:
615         (WebCore::parserLineNumber):
616         * html/parser/HTMLDocumentParser.cpp:
617         (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder):
618         (WebCore::HTMLDocumentParser::pumpTokenizer):
619         (WebCore::HTMLDocumentParser::lineNumber):
620         (WebCore::HTMLDocumentParser::textPosition):
621         * html/parser/HTMLDocumentParser.h:
622         * html/parser/HTMLInputStream.h:
623         * html/parser/HTMLScriptRunner.cpp:
624         (WebCore::HTMLScriptRunner::execute):
625         (WebCore::HTMLScriptRunner::runScript):
626         * html/parser/HTMLScriptRunner.h:
627         * html/parser/HTMLTreeBuilder.cpp:
628         (WebCore::uninitializedPositionValue1):
629         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
630         (WebCore::HTMLTreeBuilder::takeScriptToProcess):
631         (WebCore::HTMLTreeBuilder::processEndTag):
632         (WebCore::HTMLTreeBuilder::processScriptStartTag):
633         * html/parser/HTMLTreeBuilder.h:
634         * inspector/InspectorResourceAgent.cpp:
635         (WebCore::InspectorResourceAgent::buildInitiatorObject):
636         * platform/text/SegmentedString.cpp:
637         (WebCore::SegmentedString::currentLine):
638         (WebCore::SegmentedString::currentColumn):
639         (WebCore::SegmentedString::setCurrentPosition):
640         * platform/text/SegmentedString.h:
641         * svg/SVGDocumentExtensions.cpp:
642         (WebCore::parserLineNumber):
643         * xml/XMLErrors.cpp:
644         (WebCore::XMLErrors::XMLErrors):
645         (WebCore::XMLErrors::handleError):
646         (WebCore::XMLErrors::appendErrorMessage):
647         * xml/XMLErrors.h:
648         * xml/parser/MarkupTokenizerBase.h:
649         (WebCore::MarkupTokenizerBase::lineNumber):
650         * xml/parser/NewXMLDocumentParser.cpp:
651         (WebCore::NewXMLDocumentParser::processScript):
652         (WebCore::NewXMLDocumentParser::textPosition):
653         (WebCore::NewXMLDocumentParser::lineNumber):
654         * xml/parser/NewXMLDocumentParser.h:
655         * xml/parser/XMLDocumentParser.cpp:
656         (WebCore::XMLDocumentParser::pushCurrentNode):
657         (WebCore::XMLDocumentParser::handleError):
658         * xml/parser/XMLDocumentParser.h:
659         * xml/parser/XMLDocumentParserLibxml2.cpp:
660         (WebCore::PendingCallbacks::appendErrorCallback):
661         (WebCore::XMLDocumentParser::XMLDocumentParser):
662         (WebCore::XMLDocumentParser::doWrite):
663         (WebCore::XMLDocumentParser::startElementNs):
664         (WebCore::XMLDocumentParser::error):
665         (WebCore::XMLDocumentParser::lineNumber):
666         (WebCore::XMLDocumentParser::columnNumber):
667         (WebCore::XMLDocumentParser::textPosition):
668         * xml/parser/XMLDocumentParserQt.cpp:
669         (WebCore::XMLDocumentParser::XMLDocumentParser):
670         (WebCore::XMLDocumentParser::doWrite):
671         (WebCore::XMLDocumentParser::doEnd):
672         (WebCore::XMLDocumentParser::lineNumber):
673         (WebCore::XMLDocumentParser::columnNumber):
674         (WebCore::XMLDocumentParser::textPosition):
675         (WebCore::XMLDocumentParser::parse):
676         (WebCore::XMLDocumentParser::parseStartElement):
677
678 2011-09-19  Dan Bernstein  <mitz@apple.com>
679
680         WebCore part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
681         https://bugs.webkit.org/show_bug.cgi?id=68323
682
683         Reviewed by Sam Weinig.
684
685         Renamed AccessibilityObjectWrapper to WebAccessibilityObjectWrapper.
686         Renamed CascadeList to WebCascadeList.
687         Renamed CookieStorageObjCAdapter to WebCookieStorageObjCAdapter.
688         Renamed LanguageChangeObserver to WebLanguageChangeObserver.
689         Renamed ScrollAnimationHelperDelegate to WebScrollAnimationHelperDelegate.
690         Renamed ScrollbarPainterControllerDelegate to WebScrollbarPainterControllerDelegate.
691         Renamed ScrollbarPainterDelegate to WebScrollbarPainterDelegate.
692         Renamed ScrollbarPartAnimation to WebScrollbarPartAnimation.
693         Renamed ScrollbarPrefsObserver to WebScrollbarPrefsObserver.
694
695         * WebCore.gyp/WebCore.gyp: Updated for the renaming of CascadeList to WebCascadeList.
696         * WebCore.xcodeproj/project.pbxproj:
697         * accessibility/AccessibilityObject.h:
698         * accessibility/mac/AXObjectCacheMac.mm:
699         (WebCore::AXObjectCache::attachWrapper):
700         * accessibility/mac/AccessibilityObjectMac.mm:
701         * accessibility/mac/AccessibilityObjectWrapper.h: Removed.
702         * accessibility/mac/AccessibilityObjectWrapper.mm: Removed.
703         * accessibility/mac/WebAccessibilityObjectWrapper.h: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.h.
704         * accessibility/mac/WebAccessibilityObjectWrapper.mm: Copied from Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm.
705         (convertToNSArray):
706         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
707         (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
708         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
709         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
710         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
711         * platform/mac/Language.mm:
712         (WebCore::platformDefaultLanguage):
713         * platform/mac/ScrollAnimatorMac.h:
714         * platform/mac/ScrollAnimatorMac.mm:
715         (-[WebScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
716         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
717         * platform/mac/ScrollbarThemeMac.mm:
718         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
719         * platform/network/mac/CookieStorageMac.mm:
720         (WebCore::startObservingCookieChanges):
721
722 2011-09-19  Cary Clark  <caryclark@google.com>
723
724         Move fontDataForCombiningCharacterSequence to fix Skia on Mac build
725         https://bugs.webkit.org/show_bug.cgi?id=68358
726
727         Reviewed by Dan Bernstein.
728
729         No new tests.
730
731         * platform/graphics/mac/FontMac.mm:
732         * platform/graphics/mac/FontComplexTextMac.cpp:
733         (WebCore::Font::fontDataForCombiningCharacterSequence):
734         This moves the implementation from FontMac.mm to
735         FontComplexTextMac.cpp, so it is visible to the Skia on Mac
736         platform as well.
737
738 2011-09-19  Jessie Berlin  <jberlin@apple.com>
739
740         Sites that use history pushState or replaceState are recorded in history in Private Browsing
741         mode.
742         https://bugs.webkit.org/show_bug.cgi?id=68208
743
744         Reviewed by Brady Eidson.
745
746         Test: TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.
747
748         Add the privateBrowsingEnabled check that is used in other places in HistoryController
749         before calling addVisitedLink and FrameLoaderClient::updateGlobalHistory.
750
751         * loader/HistoryController.cpp:
752         (WebCore::HistoryController::pushState):
753         (WebCore::HistoryController::replaceState):
754
755 2011-09-19  Leandro Pereira  <leandro@profusion.mobi>
756
757         Unreviewed: ScrollbarThemeMock.cpp is already referenced in the
758         global CMakeLists.txt.
759
760         * CMakeListsEfl.txt: Remove reference to platform/mock/ScrollbarThemeMock.cpp.
761         * CMakeListsWinCE.txt: Ditto.
762
763 2011-09-19  Ademar de Souza Reis Jr.  <ademar.reis@openbossa.org>
764
765         Unreviewed: dos2unix on bindings/js/JSExceptionBase.h
766
767         Visual Studio is choking on this file when generating packages for
768         Qt-4.8 on Windows:
769
770         """
771         Source\WebCore\Bindings\js\JSExceptionBase.h:
772         error C4335: Mac file format detected: please convert the source file
773         to either DOS or UNIX format
774         """
775
776         Since from all .cpp or .h files shared by all ports this is the only
777         one with CRLF line terminations, I'm assuming this was a mistake.
778
779         * bindings/js/JSExceptionBase.h:
780
781 2011-09-19  Ilya Tikhonovsky  <loislo@chromium.org>
782
783         Web Inspector: didMarkDOMContentEvent() should send event of MarkDOMContent type.
784         https://bugs.webkit.org/show_bug.cgi?id=67528
785
786         Reviewed by Pavel Feldman.
787
788         Tests: inspector/timeline/timeline-dom-content-loaded-event.html
789                inspector/timeline/timeline-load-event.html
790
791         * inspector/InspectorTimelineAgent.cpp:
792         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
793
794 2011-09-19  Shawn Singh  <shawnsingh@chromium.org>
795
796         Re-name LayerChromium border functions to reflect that
797         they are only for debug use.
798         https://bugs.webkit.org/show_bug.cgi?id=68212
799
800         Reviewed by James Robinson.
801
802         Code cleanup towards unit testing.
803
804         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
805         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
806         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
807         (WebCore::GraphicsLayerChromium::setDebugBorder):
808         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
809         (WebCore::GraphicsLayerChromium::setupContentsLayer):
810         * platform/graphics/chromium/LayerChromium.cpp:
811         (WebCore::LayerChromium::setDebugBorderColor):
812         (WebCore::LayerChromium::setDebugBorderWidth):
813         * platform/graphics/chromium/LayerChromium.h:
814
815 2011-09-18  Ilya Tikhonovsky  <loislo@chromium.org>
816
817         Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
818         https://bugs.webkit.org/show_bug.cgi?id=67986
819
820         Reviewed by Pavel Feldman.
821
822         Test: inspector/timeline/timeline-animation-frame.html
823
824         * English.lproj/localizedStrings.js:
825         * bindings/v8/V8Proxy.cpp:
826         (WebCore::V8Proxy::callFunction):
827         (WebCore::V8Proxy::callFunctionWithoutFrame):
828         (WebCore::V8Proxy::instrumentedCallFunction):
829         * bindings/v8/V8Proxy.h:
830         * bindings/v8/custom/V8CustomVoidCallback.cpp:
831         (WebCore::invokeCallback):
832         * dom/ScriptedAnimationController.cpp:
833         (WebCore::ScriptedAnimationController::registerCallback):
834         (WebCore::ScriptedAnimationController::cancelCallback):
835         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
836         * inspector/InspectorInstrumentation.cpp:
837         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
838         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
839         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
840         (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
841         * inspector/InspectorInstrumentation.h:
842         (WebCore::InspectorInstrumentation::willCallFunction):
843         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
844         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
845         (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
846         (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
847         * inspector/InspectorTimelineAgent.cpp:
848         (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
849         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
850         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
851         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
852         * inspector/InspectorTimelineAgent.h:
853         * inspector/TimelineRecordFactory.cpp:
854         (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
855         * inspector/TimelineRecordFactory.h:
856         * inspector/front-end/TimelineAgent.js:
857         * inspector/front-end/TimelinePanel.js:
858         (WebInspector.TimelinePanel):
859         (WebInspector.TimelinePanel.prototype.get _recordStyles):
860         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
861         (WebInspector.TimelinePanel.prototype._clearPanel):
862         (WebInspector.TimelinePanel.FormattedRecord):
863         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
864         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
865
866 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
867
868         [GTK] Fix distcheck build
869         https://bugs.webkit.org/show_bug.cgi?id=68241
870
871         Reviewed by Martin Robinson.
872
873         * GNUmakefile.list.am:
874
875 2011-09-18  Ilya Tikhonovsky  <loislo@chromium.org>
876
877         Web Inspector: chromium-win: "Save timeline data" does nothing.
878         https://bugs.webkit.org/show_bug.cgi?id=68313
879
880         windows shell API function GetSaveFileName doesn't accept file names with ':' symbol.
881
882         Reviewed by Pavel Feldman.
883
884         * inspector/front-end/TimelinePanel.js:
885         (WebInspector.TimelineModel.prototype._saveToFile):
886
887 2011-09-18  Dan Bernstein  <mitz@apple.com>
888
889         Try to fix the Chromium Mac build after r95391.
890
891         * WebCore.gyp/WebCore.gyp:
892
893 2011-09-18  Dan Bernstein  <mitz@apple.com>
894
895         Try to fix the Chromium Mac build after r95391.
896
897         * WebCore.gyp/WebCore.gyp:
898
899 2011-09-18  Dan Bernstein  <mitz@apple.com>
900
901         Try to fix the Chromium Mac build after r95391.
902
903         * WebCore.gypi: Updated for the renaming of ComplexTextController.cpp.
904         * WebCore.xcodeproj/project.pbxproj: Ditto.
905         * platform/graphics/Font.h: Changed #if directives to include the Chromium Mac port.
906         * platform/graphics/SimpleFontData.h: Ditto.
907         * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Changed the filename extension of this
908         Objective-C++ file to .mm.
909         * platform/graphics/mac/ComplexTextControllerCoreText.mm: Copied from Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.cpp.
910
911 2011-09-18  Dan Bernstein  <mitz@apple.com>
912
913         Snow Leopard build fix after r95391.
914
915         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
916         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
917
918 2011-09-18  Dan Bernstein  <mitz@apple.com>
919
920         Leopard build fix after r95391.
921
922         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
923         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
924
925 2011-09-18  Dan Bernstein  <mitz@apple.com>
926
927         Allow Core Text to choose the fallback font for rendering a combining character sequence
928
929         Fixes <rdar://problem/7860281> Decomposed text is displayed incorrectly when Verdana is specified
930         https://bugs.webkit.org/show_bug.cgi?id=68287
931
932         Reviewed by Dave Hyatt.
933
934         Test: platform/mac/fast/text/combining-character-sequence-fallback.html
935
936         * WebCore.xcodeproj/project.pbxproj: Compile ComplexTextControllerCoreText.cpp as Objective-C++.
937         I am going to rename this file in a followup patch.
938
939         * platform/graphics/Font.h: Declared fontDataForCombiningCharacterSequence().
940
941         * platform/graphics/SimpleFontData.h: Declared canRenderCombiningCharacterSequence() and added
942         a member variable to cache the results of calling this function.
943
944         * platform/graphics/mac/ComplexTextController.cpp:
945         (WebCore::ComplexTextController::offsetForPosition): Fixed a typo in a comment.
946         (WebCore::advanceByCombiningCharacterSequence): Added this helper function, which iterates over
947         characters until the end of a sequence of combining characters, zero-width joiners and zero-width
948         non-joiners. A single base characater followed by such a (possibly-empty) sequence is known as
949         a combining character sequence. This stretches the definition a little because the base character
950         may be a combining character as well. Returns false if an invalid UTF-16 sequence is encountered,
951         true otherwise.
952         (WebCore::ComplexTextController::collectComplexTextRuns): - Replaced the glyphData and nextGlyphData
953         variables each with a pair of variables, a SimpleFontData* and a boolean indicating whether a
954         character mapped to the missing glyph. This clarifies that this function does not use glyph IDs.
955         - Renamed the local variable newC to uppercaseCharacter.
956         - Changed to use advanceByCombiningCharacterSequence().
957         - Changed to use Font::fontDataForCombiningCharacterSequence() instead of Font::glyphDataForCharacter().
958           If there are combining marks and none of the fonts in the fallback list can render the sequence alone,
959           use the systemFallbackFontData() constant to indicate to collectComplexTextRunsForCharactersCoreText()
960           to allow Core Text to perform its own fallback.
961         - Stopped checking isSmallCaps against nextIsSmallCaps. It was redundant, since the small caps FontData
962           differs from the normal variant.
963         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved the common logic to
964         handle the 0 fontData case from the ATSUI and Core Text continuations of this function into this function.
965
966         * platform/graphics/mac/ComplexTextController.h:
967         (WebCore::ComplexTextController::systemFallbackFontData): Added. This constant is used to indicate to
968         collectComplexTextRunsForCharactersCoreText() that it should allow Core Text to perform its own font
969         fallback.
970
971         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
972         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI): Handle systemFallbackFontData()
973         by using the primary font data.
974
975         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
976         (-[CascadeList initWithFont:WebCore::character:]): Added.
977         (-[CascadeList count]): Added.
978         (-[CascadeList objectAtIndex:]): Added. Returns an entry from a cascade list of CTFontDescriptorRef
979         objects based on the font’s fallback list for the character. The list is initialized lazily.
980         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Handle systemFallbackFontData()
981         by allowing Core Text to perform font fallback, starting with a cascade list based on the font’s fallback
982         list and possibly continuing with system fallback.
983
984         * platform/graphics/mac/FontMac.mm:
985         (WebCore::Font::fontDataForCombiningCharacterSequence): Added. If the sequence is only a base character,
986         calls through to glyphDataForCharacter(). Otherwise, iterates over the font’s fallback list for the
987         base character (and the system fallback font for that character), returning the first font that can
988         render the sequence, or 0 if there is none.
989
990         * platform/graphics/mac/SimpleFontDataMac.mm:
991         (WebCore::provideStringAndAttributes): Added this Core Text callback.
992         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added. Checks if Core Text can render
993         the sequence using only this font. Caches the result.
994
995 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
996
997         FrameLoaderClient BackForwardList-related methods are unsued
998         https://bugs.webkit.org/show_bug.cgi?id=68293
999
1000         Reviewed by Darin Adler.
1001
1002         Remove FrameLoaderClient methods that were added by r51629, since only
1003         the old (since-deleted) Android port needed them.
1004
1005         * history/BackForwardListImpl.cpp:
1006         (WebCore::BackForwardListImpl::addItem):
1007         (WebCore::BackForwardListImpl::goBack):
1008         (WebCore::BackForwardListImpl::goForward):
1009         (WebCore::BackForwardListImpl::goToItem):
1010         (WebCore::BackForwardListImpl::setCapacity):
1011         * loader/EmptyClients.h:
1012         * loader/FrameLoaderClient.h:
1013
1014 2011-09-17  David Hyatt  <hyatt@apple.com>
1015
1016         https://bugs.webkit.org/show_bug.cgi?id=68307
1017         
1018         Crash in border image cssText. Make sure to null check all the components, since they're all
1019         optional now.
1020
1021         Reviewed by Sam Weinig.
1022
1023         Added fast/borders/border-image-slice-omission.html
1024
1025         * css/CSSBorderImageValue.cpp:
1026         (WebCore::CSSBorderImageValue::cssText):
1027
1028 2011-09-17  Aaron Boodman  <aa@chromium.org>
1029
1030         Rework script context creation/release notifications
1031         https://bugs.webkit.org/show_bug.cgi?id=67828
1032
1033         Reviewed by Adam Barth.
1034
1035         * bindings/v8/V8DOMWindowShell.cpp:
1036         (WebCore::V8DOMWindowShell::disposeContextHandles):
1037         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1038         * bindings/v8/V8IsolatedContext.cpp:
1039         (WebCore::V8IsolatedContext::V8IsolatedContext):
1040         (WebCore::V8IsolatedContext::destroy):
1041         * bindings/v8/V8IsolatedContext.h:
1042         * loader/EmptyClients.h:
1043         (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
1044         (WebCore::EmptyFrameLoaderClient::willReleaseScriptContext):
1045         * loader/FrameLoaderClient.h:
1046
1047 2011-09-17  Ilya Tikhonovsky  <loislo@chromium.org>
1048
1049         Web Inspector: file open dialog appears when user clicks on the timeline bar in timeline panel.
1050         https://bugs.webkit.org/show_bug.cgi?id=68312
1051
1052         Reviewed by Pavel Feldman.
1053
1054        * inspector/front-end/TimelinePanel.js:
1055         (WebInspector.TimelinePanel.prototype._createFileSelector):
1056
1057 2011-09-17  Jeff Miller  <jeffm@apple.com>
1058
1059         Build fix after r95372.
1060
1061         * dom/DOMAllInOne.cpp: #include "EventListenerMap.cpp"
1062
1063 2011-09-17  Deepak Sherveghar  <bpwv64@motorola.com>
1064
1065         Override supportsFocus() for HTMLMediaElement.
1066         https://bugs.webkit.org/show_bug.cgi?id=67190
1067
1068         Reviewed by Antonio Gomes.
1069
1070         Tests: fast/events/media-element-focus-tab.html
1071                fast/spatial-navigation/snav-media-elements.html
1072
1073         Return true from supportsFocus() if control's attribute is present or a tabindex is specified.
1074
1075         * html/HTMLMediaElement.cpp:
1076         (WebCore::HTMLMediaElement::supportsFocus):
1077         * html/HTMLMediaElement.h:
1078
1079 2011-09-16  Adam Barth  <abarth@webkit.org>
1080
1081         Rename ENABLE(LEVELDB) to USE(LEVELDB)
1082         https://bugs.webkit.org/show_bug.cgi?id=68290
1083
1084         Reviewed by Darin Adler.
1085
1086         LEVELDB is a library that can be used to implemented INDEXED_DATABASE,
1087         which means it should be a USE not an ENABLE.
1088
1089         * CMakeLists.txt:
1090         * WebCore.gyp/WebCore.gyp:
1091         * platform/leveldb/LevelDBComparator.h:
1092         * platform/leveldb/LevelDBDatabase.cpp:
1093         * platform/leveldb/LevelDBDatabase.h:
1094         * platform/leveldb/LevelDBIterator.h:
1095         * platform/leveldb/LevelDBSlice.h:
1096         * platform/leveldb/LevelDBTransaction.cpp:
1097         * platform/leveldb/LevelDBTransaction.h:
1098         * platform/leveldb/LevelDBWriteBatch.cpp:
1099         * platform/leveldb/LevelDBWriteBatch.h:
1100         * storage/IDBFactoryBackendImpl.cpp:
1101         (WebCore::IDBFactoryBackendImpl::open):
1102         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
1103         * storage/IDBLevelDBBackingStore.cpp:
1104         * storage/IDBLevelDBBackingStore.h:
1105         * storage/IDBLevelDBCoding.cpp:
1106         * storage/IDBLevelDBCoding.h:
1107
1108 2011-09-16  Andreas Kling  <kling@webkit.org>
1109
1110         Reduce EventTarget memory usage by deferring hash map allocation
1111         until there are listeners for more than 1 event type.
1112
1113         http://webkit.org/b/68105
1114
1115         Reviewed by Darin Adler.
1116
1117         Introduce an EventListenerMap class which manages a map of event types that have
1118         one or more listeners connected.
1119
1120         When there is only one event type, it's stored directly on the EventListenerMap
1121         internally, and when more are added it moves to a hash map. It only goes back
1122         from the hash map if all the listeners are removed at once (i.e clear() is called.)
1123
1124         * CMakeLists.txt:
1125         * GNUmakefile.list.am:
1126         * WebCore.gypi:
1127         * WebCore.pro:
1128         * WebCore.vcproj/WebCore.vcproj:
1129         * WebCore.xcodeproj/project.pbxproj:
1130
1131             Adding files.
1132
1133         * WebCore.exp.in:
1134
1135             Export EventListenerMap::contains() for WebKit/mac.
1136
1137         * dom/EventListenerMap.cpp: Added.
1138         (WebCore::EventListenerMap::EventListenerMap):
1139         (WebCore::EventListenerMap::~EventListenerMap):
1140         (WebCore::EventListenerMap::isEmpty):
1141         (WebCore::EventListenerMap::contains):
1142         (WebCore::EventListenerMap::clear):
1143         (WebCore::EventListenerMap::eventTypes):
1144         (WebCore::addListenerToVector):
1145         (WebCore::EventListenerMap::add):
1146         (WebCore::removeListenerFromVector):
1147         (WebCore::EventListenerMap::remove):
1148         (WebCore::EventListenerMap::find):
1149         (WebCore::removeFirstListenerCreatedFromMarkup):
1150         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
1151         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
1152         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
1153         (WebCore::EventListenerIterator::EventListenerIterator):
1154         (WebCore::EventListenerIterator::nextListener):
1155         * dom/EventListenerMap.h: Added.
1156
1157         * dom/EventTarget.cpp:
1158         (WebCore::EventTargetData::~EventTargetData):
1159         (WebCore::EventTarget::addEventListener):
1160         (WebCore::EventTarget::removeEventListener):
1161         (WebCore::EventTarget::fireEventListeners):
1162         (WebCore::EventTarget::getEventListeners):
1163         (WebCore::EventTarget::removeAllEventListeners):
1164
1165         * dom/EventTarget.h:
1166         (WebCore::EventTarget::visitJSEventListeners):
1167
1168             Use EventListenerIterator to visit listeners. (JSC specific.)
1169
1170         * inspector/InspectorDOMAgent.cpp:
1171         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1172
1173             Call EventListenerMap::eventTypes() go get the list of event types
1174             currently listened for.
1175
1176         * dom/Node.cpp:
1177         (WebCore::Node::removeEventListener):
1178         * svg/SVGUseElement.cpp:
1179         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
1180
1181             Move implementations of SVG-specific hacks into EventListenerMap and
1182             call them from here.
1183
1184 2011-09-16  Jeremy Apthorp <jeremya@chromium.org> and James Kozianski  <koz@chromium.org>
1185
1186         Don't detach elements from the render tree when entering fullscreen mode
1187         https://bugs.webkit.org/show_bug.cgi?id=66531
1188
1189         This prevents plugin instances from being destroyed and reinstantiated
1190         when entering fullscreen mode.
1191
1192         Reviewed by James Robinson.
1193
1194         Test: plugins/fullscreen-plugins-dont-reload.html
1195
1196         * dom/Document.cpp:
1197         (WebCore::Document::webkitWillEnterFullScreenForElement):
1198         (WebCore::Document::webkitDidExitFullScreenForElement):
1199         * dom/NodeRenderingContext.cpp:
1200         (WebCore::NodeRendererFactory::createRendererIfNeeded):
1201         * rendering/RenderFullScreen.cpp:
1202         (createFullScreenStyle):
1203         (RenderFullScreen::wrapRenderer):
1204         (RenderFullScreen::unwrapRenderer):
1205         * rendering/RenderFullScreen.h:
1206
1207 2011-09-16  Jochen Eisinger  <jochen@chromium.org>
1208
1209         Rename FrameLoaderClient::allowImages to FrameLoaderClient::allowImage and include the image URL as parameter
1210         https://bugs.webkit.org/show_bug.cgi?id=68071
1211
1212         This will allow embedders to block images based on where the image is loaded from, instead of just blocking all images in a given frame.
1213
1214         Reviewed by Adam Barth.
1215
1216         * html/ImageDocument.cpp:
1217         (WebCore::ImageDocumentParser::appendBytes):
1218         * loader/FrameLoaderClient.h:
1219         (WebCore::FrameLoaderClient::allowImage):
1220         * loader/cache/CachedResourceLoader.cpp:
1221         (WebCore::CachedResourceLoader::requestImage):
1222
1223 2011-09-16  Tom Sepez  <tsepez@chromium.org>
1224
1225         Make XSSAuditor truncate inline snippets at a reasonable length before comparison
1226         respecting boundaries of multiply urlencoded sequences.
1227         https://bugs.webkit.org/show_bug.cgi?id=68092
1228         
1229         Reviewed by Adam Barth.
1230
1231         Test: http/tests/security/xssAuditor/property-escape-long.html
1232
1233         * html/parser/XSSAuditor.cpp:
1234         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
1235         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1236         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1237         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1238         (WebCore::XSSAuditor::isContainedInRequest):
1239         * html/parser/XSSAuditor.h:
1240
1241 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
1242
1243         Remove m_contentsDirty from LayerChromium because it
1244         is redundant with m_dirtyRect.
1245         https://bugs.webkit.org/show_bug.cgi?id=68213
1246
1247         Reviewed by James Robinson.
1248
1249         Code cleanup towards unit testing.
1250
1251         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1252         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1253         * platform/graphics/chromium/ContentLayerChromium.cpp:
1254         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1255         * platform/graphics/chromium/ImageLayerChromium.cpp:
1256         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1257         * platform/graphics/chromium/LayerChromium.cpp:
1258         (WebCore::LayerChromium::LayerChromium):
1259         (WebCore::LayerChromium::setNeedsDisplay):
1260         (WebCore::LayerChromium::resetNeedsDisplay):
1261         * platform/graphics/chromium/LayerChromium.h:
1262         * platform/graphics/chromium/VideoLayerChromium.cpp:
1263         (WebCore::VideoLayerChromium::updateCompositorResources):
1264         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1265         (WebCore::WebGLLayerChromium::updateCompositorResources):
1266
1267 2011-09-16  Dmitry Lomov  <dslomov@google.com>
1268
1269         https://bugs.webkit.org/show_bug.cgi?id=66714
1270         Add webkitPostMessage to allow for adding transferable support.
1271         This adds webkitPostMessage, currently identical to postMessage, which 
1272         would later be a vehicle for adding transferable support for messaging.
1273         
1274         Based on patch by Luke Zarko.
1275
1276         Reviewed by David Levin.
1277
1278         * bindings/js/JSDOMWindowCustom.cpp:
1279         (WebCore::JSDOMWindow::webkitPostMessage):
1280         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
1281         (WebCore::JSDedicatedWorkerContext::webkitPostMessage):
1282         * bindings/js/JSMessageEventCustom.cpp:
1283         (WebCore::JSMessageEvent::webkitInitMessageEvent):
1284         * bindings/js/JSMessagePortCustom.cpp:
1285         (WebCore::JSMessagePort::webkitPostMessage):
1286         * bindings/js/JSWorkerCustom.cpp:
1287         (WebCore::JSWorker::postMessage):
1288         (WebCore::JSWorker::webkitPostMessage):
1289         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1290         (WebCore::handlePostMessageCallback):
1291         (WebCore::V8DOMWindow::postMessageCallback):
1292         (WebCore::V8DOMWindow::webkitPostMessageCallback):
1293         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1294         (WebCore::handlePostMessageCallback):
1295         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1296         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
1297         * bindings/v8/custom/V8MessageEventCustom.cpp:
1298         (WebCore::V8MessageEvent::initMessageEventCallback):
1299         (WebCore::V8MessageEvent::webkitInitMessageEventCallback):
1300         * bindings/v8/custom/V8MessagePortCustom.cpp:
1301         (WebCore::handlePostMessageCallback):
1302         (WebCore::V8MessagePort::postMessageCallback):
1303         (WebCore::V8MessagePort::webkitPostMessageCallback):
1304         * bindings/v8/custom/V8WorkerCustom.cpp:
1305         (WebCore::handlePostMessageCallback):
1306         (WebCore::V8Worker::postMessageCallback):
1307         (WebCore::V8Worker::webkitPostMessageCallback):
1308         * dom/MessageEvent.idl:
1309         * dom/MessagePort.idl:
1310         * page/DOMWindow.idl:
1311         * workers/DedicatedWorkerContext.idl:
1312         * workers/Worker.idl:
1313
1314 2011-09-16  Alexei Svitkine  <asvitkine@chromium.org>
1315
1316         Chromium: Fix repaint of rubber-band overhang area under composited path
1317         https://bugs.webkit.org/show_bug.cgi?id=68246
1318
1319         I accidently removed these two lines from the last patch on: https://bugs.webkit.org/show_bug.cgi?id=66969
1320
1321         Reviewed by James Robinson.
1322
1323         Test: platform/chromium-gpu/compositing/rubberbanding/transform-overhang-size-change.html
1324
1325         * platform/ScrollView.cpp:
1326         (WebCore::ScrollView::scrollContents):
1327
1328 2011-09-16  Peter Beverloo  <peter@chromium.org>
1329
1330         Depend on harfbuzz for OS=Android as well
1331         https://bugs.webkit.org/show_bug.cgi?id=68239
1332
1333         Like GTK, Android depends on harfbuzz as well, so reflect that in
1334         the project file. Furthermore, fix a compile error in PopupListBox.cpp
1335         by explicitly including ctype.h, as isspace otherwise won't be declared.
1336
1337         Reviewed by Steve Block.
1338
1339         * WebCore.gyp/WebCore.gyp:
1340         * platform/chromium/PopupListBox.cpp:
1341
1342 2011-09-16  Tony Chang  <tony@chromium.org>
1343
1344         Rename flex-align values to match the spec
1345         https://bugs.webkit.org/show_bug.cgi?id=67741
1346
1347         Reviewed by Ojan Vafai.
1348
1349         * css/CSSParser.cpp:
1350         (WebCore::CSSParser::parseValue):
1351         * css/CSSPrimitiveValueMappings.h:
1352         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1353         (WebCore::CSSPrimitiveValue::operator EFlexAlign):
1354         * css/CSSValueKeywords.in:
1355         * rendering/style/RenderStyleConstants.h:
1356
1357 2011-09-16  Kentaro Hara  <haraken@chromium.org>
1358
1359         Implement an ErrorEvent constructor for JSC
1360         https://bugs.webkit.org/show_bug.cgi?id=68148
1361
1362         Reviewed by Sam Weinig.
1363
1364         The spec for the ErrorEvent constructor is here:
1365         http://dev.w3.org/html5/workers/#errorevent
1366
1367         Test: fast/events/constructors/error-event-constructor.html
1368
1369         * bindings/generic/EventConstructors.h: Added a definition for the ErrorEvent constructor.
1370         * bindings/js/JSEventConstructors.cpp: Added #includes for ErrorEvent.
1371         * dom/ErrorEvent.cpp:
1372         (WebCore::ErrorEventInit::ErrorEventInit):
1373         (WebCore::ErrorEvent::ErrorEvent):
1374         (WebCore::ErrorEvent::initErrorEvent):
1375         (WebCore::ErrorEvent::isErrorEvent):
1376         * dom/ErrorEvent.h: Added a definition for ErrorEventInit.
1377         (WebCore::ErrorEvent::create):
1378         (WebCore::ErrorEvent::message):
1379         (WebCore::ErrorEvent::filename):
1380         (WebCore::ErrorEvent::lineno):
1381         * dom/ErrorEvent.idl: Makes ErrorEvent constructible.
1382
1383 2011-09-16  Kentaro Hara  <haraken@google.com>
1384
1385         Overhangs a ruby by no more than half the width of the neighboring text.
1386         https://bugs.webkit.org/show_bug.cgi?id=62684
1387
1388         Reviewed by Dan Bernstein.
1389
1390         Assume two rubies between which a narrow text exists, like
1391         "<ruby>x<rt>xxxxxx</rt></ruby>l<ruby>y<rt>yyyyyy</rt></ruby>".
1392         In order to avoid the two rubies overlapping with each other,
1393         this patch overhangs the ruby by no more than half the ruby font
1394         size and no more than half the width of the neighboring text.
1395
1396         Tests: fast/ruby/overhang-horizontal-no-overlap1.html
1397                fast/ruby/overhang-horizontal-no-overlap2.html
1398                fast/ruby/overhang-vertical-no-overlap1.html
1399                fast/ruby/overhang-vertical-no-overlap2.html
1400
1401         * rendering/RenderRubyRun.cpp:
1402         (WebCore::RenderRubyRun::getOverhang): Calculates the width of ruby overhanging.
1403
1404 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1405
1406         Unreviewed, rolling out r95304.
1407         http://trac.webkit.org/changeset/95304
1408         https://bugs.webkit.org/show_bug.cgi?id=68299
1409
1410         Broke GTK+ builds. It pulls derived headers into main.c
1411         (Requested by rniwa on #webkit).
1412
1413         * bindings/scripts/CodeGeneratorGObject.pm:
1414         ():
1415         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1416         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1417         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1418         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1419         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1420         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1421         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1422         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1423         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1424         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1425         (webkit_dom_test_obj_conditional_method1):
1426         (webkit_dom_test_obj_conditional_method2):
1427         (webkit_dom_test_obj_conditional_method3):
1428         (webkit_dom_test_obj_get_conditional_attr1):
1429         (webkit_dom_test_obj_set_conditional_attr1):
1430         (webkit_dom_test_obj_get_conditional_attr2):
1431         (webkit_dom_test_obj_set_conditional_attr2):
1432         (webkit_dom_test_obj_get_conditional_attr3):
1433         (webkit_dom_test_obj_set_conditional_attr3):
1434         (webkit_dom_test_obj_set_property):
1435         (webkit_dom_test_obj_get_property):
1436         (webkit_dom_test_obj_class_init):
1437         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1438         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1439         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1440         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1441         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1442
1443 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
1444
1445         Re-named isRootLayer to isNonCompositedContent because
1446         that is what the flag actually means.
1447         https://bugs.webkit.org/show_bug.cgi?id=68214
1448
1449         Reviewed by James Robinson.
1450
1451         Code cleanup towards unit testing.
1452
1453         * platform/graphics/chromium/LayerChromium.cpp:
1454         (WebCore::LayerChromium::LayerChromium):
1455         (WebCore::LayerChromium::pushPropertiesTo):
1456         * platform/graphics/chromium/LayerChromium.h:
1457         (WebCore::LayerChromium::setIsNonCompositedContent):
1458         (WebCore::LayerChromium::isNonCompositedContent):
1459         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1460         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
1461         * platform/graphics/chromium/TiledLayerChromium.cpp:
1462         (WebCore::TiledLayerChromium::setLayerTreeHost):
1463         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1464         (WebCore::CCLayerImpl::CCLayerImpl):
1465         * platform/graphics/chromium/cc/CCLayerImpl.h:
1466         (WebCore::CCLayerImpl::setIsNonCompositedContent):
1467         (WebCore::CCLayerImpl::isNonCompositedContent):
1468         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1469         (WebCore::CCTiledLayerImpl::draw):
1470
1471 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
1472
1473         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
1474         https://bugs.webkit.org/show_bug.cgi?id=68134
1475
1476         Reviewed by Sam Weinig.
1477
1478         Add a new setting to control whether the mock scrollbar theme is used.
1479         This is a global setting, so that it can be set without having to
1480         access a specific Settings object.
1481
1482         * page/Settings.h:
1483         (WebCore::Settings::setMockScrollbarsEnabled):
1484         (WebCore::Settings::mockScrollbarsEnabled):
1485
1486 2011-09-16  Ben Wells  <benwells@chromium.org>
1487
1488         Large canvas fills should not crash or create unnecessarily large image buffers
1489         https://bugs.webkit.org/show_bug.cgi?id=67988
1490
1491         When using source-in, destination-in, source-out, or destination-atop a temporary
1492         buffer is created. This buffer only needs to be big enough to cover the intersection
1493         of the path and the canvas. If the area of intersection between the fill and the
1494         canvas is empty the canvas is completely cleared and a temporary buffer is not used.
1495
1496         This change also adds some null checks for failures to create contexts or buffers.
1497
1498         Reviewed by Darin Adler.
1499
1500         Test: fast/canvas/canvas-large-fills.html
1501
1502         * html/canvas/CanvasRenderingContext2D.cpp:
1503         (WebCore::CanvasRenderingContext2D::clearCanvas):
1504         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1505
1506 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
1507
1508         Remove default NULL argument in LayerChromium::create().
1509         https://bugs.webkit.org/show_bug.cgi?id=68211
1510
1511         Reviewed by James Robinson.
1512
1513         Code cleanup related to creating unit testing.
1514
1515         * platform/graphics/chromium/LayerChromium.h:
1516
1517 2011-09-16  Adrienne Walker  <enne@google.com>
1518
1519         [chromium] Move quad drawing code from LayerChromium to LayerRendererChromium
1520         https://bugs.webkit.org/show_bug.cgi?id=68272
1521
1522         Reviewed by James Robinson.
1523
1524         All the OpenGL code is in LayerRendererChromium and the CCLayerImpl
1525         tree, so move the static drawTexturedQuad/toGLMatrix functions to
1526         LayerRendererChromium, where they really belong.
1527
1528         Just moving code around. Tested by existing compositor tests.
1529
1530         * platform/graphics/chromium/LayerChromium.cpp:
1531         * platform/graphics/chromium/LayerChromium.h:
1532         * platform/graphics/chromium/LayerRendererChromium.cpp:
1533         (WebCore::LayerRendererChromium::toGLMatrix):
1534         (WebCore::LayerRendererChromium::drawTexturedQuad):
1535         * platform/graphics/chromium/LayerRendererChromium.h:
1536         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
1537         (WebCore::CCCanvasLayerImpl::draw):
1538         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1539         (WebCore::CCHeadsUpDisplay::draw):
1540         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1541         (WebCore::CCLayerImpl::drawDebugBorder):
1542         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1543         (WebCore::CCPluginLayerImpl::draw):
1544         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1545         (WebCore::CCRenderSurface::drawSurface):
1546         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1547         (WebCore::CCTiledLayerImpl::drawTiles):
1548         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1549         (WebCore::CCVideoLayerImpl::drawYUV):
1550         (WebCore::CCVideoLayerImpl::drawRGBA):
1551
1552 2011-09-16  Shawn Singh  <shawnsingh@chromium.org>
1553
1554         Fixed const correctness on accessors in LayerChromium
1555         https://bugs.webkit.org/show_bug.cgi?id=68210
1556
1557         Reviewed by James Robinson.
1558
1559         Code cleanup related to creating unit testing.
1560
1561         * platform/graphics/chromium/LayerChromium.h:
1562         (WebCore::LayerChromium::preserves3D):
1563         (WebCore::LayerChromium::replicaLayer):
1564
1565 2011-09-14  Ryosuke Niwa  <rniwa@webkit.org>
1566
1567         Deleting line break before h1 converts h1 to span
1568         https://bugs.webkit.org/show_bug.cgi?id=45784
1569
1570         Reviewed by Kenneth Rohde Christiansen.
1571
1572         Fixed the bug by treating h1 and other elements that retain structure like Mail blockquote.
1573
1574         We already had a logic to overriding styles of merged paragraphs by Mail blockquote so
1575         just extend this logic for h1-h6, pre, etc...
1576
1577         Tests: editing/deleting/merge-paragraph-from-address.html
1578                editing/deleting/merge-paragraph-from-h6-with-style.html
1579                editing/deleting/merge-paragraph-from-h6.html
1580                editing/deleting/merge-paragraph-from-listing.html
1581                editing/deleting/merge-paragraph-into-h1-with-style.html
1582                editing/deleting/merge-paragraph-into-h1.html
1583                editing/deleting/merge-paragraph-into-pre.html
1584
1585         * editing/ReplaceSelectionCommand.cpp:
1586         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1587         * editing/markup.cpp:
1588         (WebCore::isBlockNodeToRetainAppearance): Extracted from ancestorToRetainStructureAndAppearance.
1589         (WebCore::StyledMarkupAccumulator::serializeNodes):
1590         (WebCore::ancestorToRetainStructureAndAppearance):
1591         * editing/markup.h:
1592
1593 2011-09-16  Max Perepelitsyn  <pph34r@gmail.com>
1594
1595         Set but not used variables cleanup (gcc 4.6)
1596         https://bugs.webkit.org/show_bug.cgi?id=68157
1597
1598         Reviewed by Darin Adler.
1599
1600         * platform/audio/ReverbConvolverStage.cpp:
1601         (WebCore::ReverbConvolverStage::process):
1602         * rendering/RenderMediaControlsChromium.cpp:
1603         (WebCore::paintMediaButton):
1604
1605 2011-09-16  Geoffrey Garen  <ggaren@apple.com>
1606
1607         Removed undetectable style.filter.
1608
1609         Reviewed by Sam Weinig.
1610         
1611         This feature was added in http://trac.webkit.org/changeset/15557 to
1612         support housingmaps.com. But housingmaps.com no longer needs this hack,
1613         we don't know of other websites that need it, and we don't know of
1614         any other browsers that have implemented this feature.
1615
1616         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Removed.
1617         * WebCore.order:
1618         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1619         (WebCore::JSCSSStyleDeclaration::nameGetter):
1620
1621 2011-09-16  Adam Barth  <abarth@webkit.org>
1622
1623         Update JSC results to account for intrinsics change.
1624
1625         * bindings/scripts/test/JS/JSTestInterface.cpp:
1626         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1627         * bindings/scripts/test/JS/JSTestObj.cpp:
1628         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1629
1630 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1631
1632         Unreviewed, rolling out r95312.
1633         http://trac.webkit.org/changeset/95312
1634         https://bugs.webkit.org/show_bug.cgi?id=68277
1635
1636         It's innocent, innocent I tell you! (Requested by jamesr_ on
1637         #webkit).
1638
1639         * platform/graphics/chromium/ContentLayerChromium.cpp:
1640         (WebCore::ContentLayerChromium::createTextureUpdater):
1641         * platform/graphics/chromium/LayerRendererChromium.cpp:
1642         (WebCore::LayerRendererChromium::LayerRendererChromium):
1643         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1644         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1645         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1646         (WebCore::CCThreadProxy::context):
1647         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
1648         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
1649         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
1650
1651 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1652
1653         Unreviewed, rolling out r95309.
1654         http://trac.webkit.org/changeset/95309
1655         https://bugs.webkit.org/show_bug.cgi?id=68271
1656
1657         Broke many chromium gpu tests. (Requested by dave_levin on
1658         #webkit).
1659
1660         * platform/graphics/chromium/ContentLayerChromium.cpp:
1661         (WebCore::ContentLayerChromium::createTextureUpdater):
1662         * platform/graphics/chromium/LayerRendererChromium.cpp:
1663         (WebCore::LayerRendererChromium::LayerRendererChromium):
1664         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1665         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1666         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1667         (WebCore::CCThreadProxy::context):
1668         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
1669         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
1670         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
1671
1672 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
1673
1674         DFG JIT should inline Math.abs
1675         https://bugs.webkit.org/show_bug.cgi?id=68227
1676
1677         Reviewed by Oliver Hunt.
1678
1679         Added JavaScriptCore/dfg to include path path. Changed the bindings
1680         scripts to handle the presence of intrinsics.
1681
1682         * CMakeLists.txt:
1683         * bindings/scripts/CodeGeneratorJS.pm:
1684         (GenerateHashTable):
1685
1686 2011-09-16  Iain Merrick  <husky@google.com>
1687
1688         [chromium] Fix CCLayerTreeHostTest
1689         https://bugs.webkit.org/show_bug.cgi?id=67418
1690
1691         This is a minimal set of changes to get CCLayerTreeHostTest
1692         compiling, running and passing with USE_THREADED_COMPOSITING
1693         enabled.
1694
1695         Reviewed by James Robinson.
1696
1697         * platform/graphics/chromium/ContentLayerChromium.cpp:
1698         (WebCore::ContentLayerChromium::createTextureUpdater):
1699         * platform/graphics/chromium/LayerRendererChromium.cpp:
1700         (WebCore::LayerRendererChromium::LayerRendererChromium):
1701         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1702         (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
1703         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1704         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1705         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1706         (WebCore::CCThreadProxy::context):
1707         (WebCore::CCThreadProxy::beginFrameAndCommitOnCCThread):
1708         (WebCore::CCThreadProxy::setNeedsCommitAndRedrawOnCCThread):
1709         (WebCore::CCThreadProxy::setNeedsRedrawOnCCThread):
1710
1711 2011-09-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1712
1713         Unreviewed, rolling out r95227.
1714         http://trac.webkit.org/changeset/95227
1715         https://bugs.webkit.org/show_bug.cgi?id=68262
1716
1717         Broke a bunch of SVG tests (Requested by andersca on #webkit).
1718
1719         * platform/ScrollView.cpp:
1720         (WebCore::ScrollView::contentsSize):
1721         (WebCore::ScrollView::wheelEvent):
1722         * platform/ScrollView.h:
1723         * platform/mac/ScrollViewMac.mm:
1724         (WebCore::ScrollView::platformContentsSize):
1725         * platform/wx/ScrollViewWx.cpp:
1726         (WebCore::ScrollView::platformContentsSize):
1727
1728 2011-09-16  James Simonsen  <simonjam@chromium.org>
1729
1730         Fix HTML5 parser's adoption agency algorithm to reparent correctly
1731         https://bugs.webkit.org/show_bug.cgi?id=68147
1732
1733         Reviewed by Eric Seidel.
1734
1735         * html/parser/HTMLTreeBuilder.cpp:
1736         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1737
1738 2011-09-16  Adam Barth  <abarth@webkit.org>
1739
1740         CodeGeneratorGObject should use C++ style comments for ENABLE guards
1741         https://bugs.webkit.org/show_bug.cgi?id=68256
1742
1743         Reviewed by Darin Adler.
1744
1745         This patch should have not behavioral effect.  It just cleans up the
1746         GObject code generator to use C++-style comments for ENABLE guards and
1747         to use the usual comment style for license blocks.
1748
1749         * bindings/scripts/CodeGeneratorGObject.pm:
1750         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1751         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1752         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1753         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1754         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1755         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1756         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1757         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
1758         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1759         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1760         (webkit_dom_test_obj_conditional_method1):
1761         (webkit_dom_test_obj_conditional_method2):
1762         (webkit_dom_test_obj_conditional_method3):
1763         (webkit_dom_test_obj_get_conditional_attr1):
1764         (webkit_dom_test_obj_set_conditional_attr1):
1765         (webkit_dom_test_obj_get_conditional_attr2):
1766         (webkit_dom_test_obj_set_conditional_attr2):
1767         (webkit_dom_test_obj_get_conditional_attr3):
1768         (webkit_dom_test_obj_set_conditional_attr3):
1769         (webkit_dom_test_obj_set_property):
1770         (webkit_dom_test_obj_get_property):
1771         (webkit_dom_test_obj_class_init):
1772         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1773         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1774         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1775         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1776         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1777
1778 2011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
1779
1780         [Qt] REGRESSION(r95091) It made many tests flakey
1781         https://bugs.webkit.org/show_bug.cgi?id=68232
1782
1783         Unreviewed rolling out r95091 and followup patches.
1784
1785         * English.lproj/localizedStrings.js:
1786         * bindings/v8/V8Proxy.cpp:
1787         (WebCore::V8Proxy::callFunction):
1788         * bindings/v8/V8Proxy.h:
1789         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1790         (WebCore::invokeCallback):
1791         * dom/ScriptedAnimationController.cpp:
1792         (WebCore::ScriptedAnimationController::registerCallback):
1793         (WebCore::ScriptedAnimationController::cancelCallback):
1794         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1795         * inspector/InspectorInstrumentation.cpp:
1796         * inspector/InspectorInstrumentation.h:
1797         (WebCore::InspectorInstrumentation::willCallFunction):
1798         * inspector/InspectorTimelineAgent.cpp:
1799         * inspector/InspectorTimelineAgent.h:
1800         * inspector/TimelineRecordFactory.cpp:
1801         * inspector/TimelineRecordFactory.h:
1802         * inspector/front-end/TimelineAgent.js:
1803         * inspector/front-end/TimelinePanel.js:
1804         (WebInspector.TimelinePanel):
1805         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1806         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1807         (WebInspector.TimelinePanel.prototype._clearPanel):
1808         (WebInspector.TimelinePanel.FormattedRecord):
1809         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1810         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1811
1812 2011-09-16  Abhishek Arya  <inferno@chromium.org>
1813
1814         cachedFont not getting updated for inline SVG text.
1815         https://bugs.webkit.org/show_bug.cgi?id=68060
1816
1817         Reviewed by Nikolas Zimmermann.
1818
1819         The cached scaledFont needs to be updated on every style set call. It
1820         is not similar to m_style which can get derived from parent's style and
1821         hence will get automatically updated on ancestor's style change. This is
1822         required, otherwise we will maintain stale font list in cached scaledFont
1823         when custom fonts are retired on Document::recalcStyle.
1824
1825         Test: svg/text/text-style-recalc-crash.html
1826
1827         * rendering/svg/RenderSVGInlineText.cpp:
1828         (WebCore::RenderSVGInlineText::styleDidChange):
1829         (WebCore::RenderSVGInlineText::setStyle):
1830         * rendering/svg/RenderSVGInlineText.h:
1831
1832 2011-09-16  Antti Koivisto  <antti@apple.com>
1833
1834         REGRESSION (r95052): SelectorChecker identifier filter not working
1835         https://bugs.webkit.org/show_bug.cgi?id=68244
1836
1837         Reviewed by Dan Bernstein.
1838
1839         Missing &.
1840
1841         * css/SelectorChecker.cpp:
1842         (WebCore::collectDescendantSelectorIdentifierHashes):
1843
1844 2011-09-16  Csaba Osztrogonác  <ossy@webkit.org>
1845
1846         Unreviewed typo fix after r95271.
1847
1848         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1849
1850 2011-09-16  Andrey Kosyakov  <caseq@chromium.org>
1851
1852         Web Inspector: [Extensions API] support extensions for remote inspector front-end
1853         https://bugs.webkit.org/show_bug.cgi?id=67840
1854
1855         Reviewed by Pavel Feldman.
1856
1857         - Merge ExtensionCommon.js into ExtensionAPI.js
1858         - refactor building of extension API for better reuse
1859         - expose interface for extension registration
1860
1861         * WebCore.gypi:
1862         * WebCore.vcproj/WebCore.vcproj:
1863         * inspector/front-end/ExtensionAPI.js:
1864         (defineCommonExtensionSymbols):
1865         (buildExtensionAPIInjectedScript):
1866         * inspector/front-end/ExtensionCommon.js:
1867         * inspector/front-end/ExtensionServer.js:
1868         (WebInspector.ExtensionServer.prototype._addExtensions):
1869         (WebInspector.ExtensionServer.prototype._addExtension):
1870         (WebInspector.ExtensionServer.prototype._buildExtensionAPIScript):
1871         (WebInspector.ExtensionServer.prototype._onWindowMessage):
1872         (WebInspector.ExtensionServer.prototype._registerExtension):
1873         (WebInspector.ExtensionServer.prototype._expandResourcePath):
1874         * inspector/front-end/WebKit.qrc:
1875         * inspector/front-end/inspector.html:
1876
1877 2011-09-16  Ilya Tikhonovsky  <loislo@chromium.org>
1878
1879         Web Inspector: change WebInspector.currentPanel getter/setter to functions.
1880         https://bugs.webkit.org/show_bug.cgi?id=68242
1881
1882         This is necessary for the panel switching performance tests.
1883
1884         Reviewed by Pavel Feldman.
1885
1886         * inspector/front-end/Drawer.js:
1887         (WebInspector.Drawer.prototype.show.animationFinished):
1888         (WebInspector.Drawer.prototype.show):
1889         (WebInspector.Drawer.prototype.hide):
1890         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
1891         (WebInspector.Drawer.prototype._animateDrawerHeight):
1892         (WebInspector.Drawer.prototype._statusBarDragging):
1893         * inspector/front-end/ElementsPanel.js:
1894         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
1895         * inspector/front-end/ResourcesPanel.js:
1896         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
1897         * inspector/front-end/ScriptsPanel.js:
1898         * inspector/front-end/SearchController.js:
1899         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
1900         (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
1901         (WebInspector.SearchController.prototype.updateSearchLabel):
1902         (WebInspector.SearchController.prototype.handleShortcut):
1903         (WebInspector.SearchController.prototype._performSearch):
1904         * inspector/front-end/Toolbar.js:
1905         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
1906         (WebInspector.Toolbar.createPanelToolbarItem):
1907         * inspector/front-end/inspector.js:
1908         (WebInspector.currentPanel):
1909         (WebInspector._updateFocusedNode):
1910         (WebInspector.windowResize):
1911         (WebInspector.documentKeyDown):
1912         (WebInspector.documentCanCopy):
1913         (WebInspector.documentCopy):
1914         (WebInspector.showPanel):
1915         (WebInspector.startUserInitiatedDebugging):
1916         (WebInspector.inspect):
1917         (WebInspector._showAnchorLocationInPanel):
1918         (WebInspector._toolbarItemClicked):
1919         (WebInspector.PanelHistory.prototype.goBack):
1920         (WebInspector.PanelHistory.prototype.goForward):
1921
1922 2011-09-15  Pavel Feldman  <pfeldman@google.com>
1923
1924         Web Inspector: rename Console.clearConsoleMessages to Console.clearMessages, brush up console domain doc.
1925         https://bugs.webkit.org/show_bug.cgi?id=68165
1926
1927         Reviewed by Yury Semikhatsky.
1928
1929         * inspector/InjectedScriptHost.cpp:
1930         (WebCore::InjectedScriptHost::clearConsoleMessages):
1931         * inspector/Inspector.json:
1932         * inspector/InspectorConsoleAgent.cpp:
1933         (WebCore::InspectorConsoleAgent::clearMessages):
1934         * inspector/InspectorConsoleAgent.h:
1935         * inspector/front-end/ConsoleModel.js:
1936         (WebInspector.ConsoleModel.prototype.requestClearMessages):
1937
1938 2011-09-16  Alejandro G. Castro  <alex@igalia.com>
1939
1940         Fix GTK build after r95245.
1941
1942         * GNUmakefile.list.am:
1943
1944 2011-09-16  Leo Yang  <leo.yang@torchmobile.com.cn>
1945
1946         [Qt] Crash when dragging google maps.
1947         https://bugs.webkit.org/show_bug.cgi?id=68223
1948
1949         The custom image for a cursor might not be ready when WebKit trying
1950         to use it to construct the cursor in Qt porting. This patch is using
1951         arrow image to substitute the unready custom image.
1952
1953         Reviewed by Adam Barth.
1954
1955         Test: fast/css/crash-on-custom-cursor-when-loading.html
1956
1957         * platform/qt/CursorQt.cpp:
1958         (WebCore::createCustomCursor):
1959         (WebCore::Cursor::ensurePlatformCursor):
1960
1961 2011-09-15  Adam Barth  <abarth@webkit.org>
1962
1963         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
1964         https://bugs.webkit.org/show_bug.cgi?id=68205
1965
1966         Reviewed by Eric Seidel.
1967
1968         As discussed on webkit-dev.
1969
1970         * CMakeLists.txt:
1971         * Configurations/FeatureDefines.xcconfig:
1972         * GNUmakefile.am:
1973         * GNUmakefile.list.am:
1974         * UseJSC.cmake:
1975         * bindings/generic/RuntimeEnabledFeatures.cpp:
1976         * bindings/generic/RuntimeEnabledFeatures.h:
1977         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1978         * bindings/js/JSDOMBinding.cpp:
1979         (WebCore::setDOMException):
1980         * bindings/js/JSExceptionBase.cpp:
1981         (WebCore::toExceptionBase):
1982         * bindings/js/JSInjectedScriptHostCustom.cpp:
1983         (WebCore::JSInjectedScriptHost::databaseId):
1984         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1985         * bindings/js/JSSQLTransactionCustom.cpp:
1986         * bindings/js/JSSQLTransactionSyncCustom.cpp:
1987         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
1988         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
1989         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1990         * bindings/scripts/test/JS/JSTestCallback.cpp:
1991         * bindings/scripts/test/JS/JSTestCallback.h:
1992         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1993         * bindings/scripts/test/TestCallback.idl:
1994         * bindings/scripts/test/V8/V8TestCallback.cpp:
1995         * bindings/scripts/test/V8/V8TestCallback.h:
1996         * bindings/v8/V8Proxy.cpp:
1997         (WebCore::V8Proxy::setDOMException):
1998         * bindings/v8/V8Proxy.h:
1999         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2000         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2001         (WebCore::V8InjectedScriptHost::databaseIdCallback):
2002         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2003         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2004         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2005         * dom/Document.cpp:
2006         * dom/Document.h:
2007         * dom/ExceptionCode.cpp:
2008         (WebCore::getExceptionCodeDescription):
2009         * dom/ExceptionCode.h:
2010         * dom/ScriptExecutionContext.cpp:
2011         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2012         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2013         * dom/ScriptExecutionContext.h:
2014         * features.pri:
2015         * history/PageCache.cpp:
2016         (WebCore::logCanCacheFrameDecision):
2017         (WebCore::PageCache::canCachePageContainingThisFrame):
2018         * inspector/InjectedScriptHost.cpp:
2019         (WebCore::InjectedScriptHost::InjectedScriptHost):
2020         (WebCore::InjectedScriptHost::disconnect):
2021         * inspector/InjectedScriptHost.h:
2022         (WebCore::InjectedScriptHost::init):
2023         * inspector/InspectorController.cpp:
2024         (WebCore::InspectorController::InspectorController):
2025         (WebCore::InspectorController::connectFrontend):
2026         (WebCore::InspectorController::disconnectFrontend):
2027         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2028         * inspector/InspectorController.h:
2029         * inspector/InspectorDatabaseAgent.cpp:
2030         * inspector/InspectorDatabaseInstrumentation.h:
2031         * inspector/InspectorDatabaseResource.cpp:
2032         * inspector/InspectorDatabaseResource.h:
2033         * inspector/InspectorInstrumentation.cpp:
2034         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2035         * inspector/InspectorInstrumentation.h:
2036         * inspector/InstrumentingAgents.h:
2037         (WebCore::InstrumentingAgents::InstrumentingAgents):
2038         * inspector/WorkerInspectorController.cpp:
2039         (WebCore::WorkerInspectorController::WorkerInspectorController):
2040         (WebCore::WorkerInspectorController::connectFrontend):
2041         * loader/EmptyClients.h:
2042         * loader/FrameLoader.cpp:
2043         (WebCore::FrameLoader::stopLoading):
2044         * page/ChromeClient.h:
2045         * page/DOMWindow.cpp:
2046         * page/DOMWindow.h:
2047         * page/DOMWindow.idl:
2048         * platform/sql/SQLiteAuthorizer.cpp:
2049         * platform/sql/SQLiteDatabase.cpp:
2050         * platform/sql/SQLiteFileSystem.cpp:
2051         * platform/sql/SQLiteStatement.cpp:
2052         * platform/sql/SQLiteTransaction.cpp:
2053         * storage/AbstractDatabase.cpp:
2054         * storage/AbstractDatabase.h:
2055         * storage/ChangeVersionWrapper.cpp:
2056         * storage/ChangeVersionWrapper.h:
2057         * storage/Database.cpp:
2058         * storage/Database.h:
2059         * storage/Database.idl:
2060         * storage/DatabaseAuthorizer.cpp:
2061         * storage/DatabaseCallback.h:
2062         * storage/DatabaseCallback.idl:
2063         * storage/DatabaseDetails.h:
2064         * storage/DatabaseSync.cpp:
2065         * storage/DatabaseSync.h:
2066         * storage/DatabaseSync.idl:
2067         * storage/DatabaseTask.cpp:
2068         * storage/DatabaseTask.h:
2069         * storage/DatabaseThread.cpp:
2070         * storage/DatabaseThread.h:
2071         * storage/DatabaseTracker.cpp:
2072         * storage/DatabaseTracker.h:
2073         * storage/DatabaseTrackerClient.h:
2074         * storage/OriginQuotaManager.cpp:
2075         * storage/OriginQuotaManager.h:
2076         * storage/OriginUsageRecord.cpp:
2077         * storage/OriginUsageRecord.h:
2078         * storage/SQLCallbackWrapper.h:
2079         * storage/SQLError.h:
2080         * storage/SQLError.idl:
2081         * storage/SQLException.h:
2082         * storage/SQLException.idl:
2083         * storage/SQLResultSet.cpp:
2084         * storage/SQLResultSet.h:
2085         * storage/SQLResultSet.idl:
2086         * storage/SQLResultSetRowList.cpp:
2087         * storage/SQLResultSetRowList.h:
2088         * storage/SQLResultSetRowList.idl:
2089         * storage/SQLStatement.cpp:
2090         * storage/SQLStatement.h:
2091         * storage/SQLStatementCallback.h:
2092         * storage/SQLStatementCallback.idl:
2093         * storage/SQLStatementErrorCallback.h:
2094         * storage/SQLStatementErrorCallback.idl:
2095         * storage/SQLStatementSync.cpp:
2096         * storage/SQLStatementSync.h:
2097         * storage/SQLTransaction.cpp:
2098         * storage/SQLTransaction.h:
2099         * storage/SQLTransaction.idl:
2100         * storage/SQLTransactionCallback.h:
2101         * storage/SQLTransactionCallback.idl:
2102         * storage/SQLTransactionClient.cpp:
2103         * storage/SQLTransactionClient.h:
2104         * storage/SQLTransactionCoordinator.cpp:
2105         * storage/SQLTransactionCoordinator.h:
2106         * storage/SQLTransactionErrorCallback.h:
2107         * storage/SQLTransactionErrorCallback.idl:
2108         * storage/SQLTransactionSync.cpp:
2109         * storage/SQLTransactionSync.h:
2110         * storage/SQLTransactionSync.idl:
2111         * storage/SQLTransactionSyncCallback.h:
2112         * storage/SQLTransactionSyncCallback.idl:
2113         * storage/chromium/DatabaseObserver.h:
2114         * storage/chromium/DatabaseTrackerChromium.cpp:
2115         * storage/chromium/QuotaTracker.cpp:
2116         * storage/chromium/QuotaTracker.h:
2117         * storage/chromium/SQLTransactionClientChromium.cpp:
2118         * workers/WorkerContext.cpp:
2119         * workers/WorkerContext.h:
2120         * workers/WorkerContext.idl:
2121         * workers/WorkerThread.cpp:
2122         (WebCore::WorkerThreadShutdownStartTask::performTask):
2123         (WebCore::WorkerThread::stop):
2124
2125 2011-09-15  Alexandru Chiculita  <achicu@adobe.com>
2126
2127         [CSSRegions] Regions should not slice line box rendering
2128         https://bugs.webkit.org/show_bug.cgi?id=66198
2129
2130         Created a new LayoutState constructor for the RenderFlowThread. It will
2131         set m_isPaginated to true and force a pageHeight if 1. The actual pageHeight is
2132         not used, because pageLogicalHeightForOffset will actually redirect the call
2133         to RenderFlowThread.
2134
2135         Removed some of the duplicate code that calculated the page logical offset.
2136         Added new methods like logicalPageOffset, pageLogicalHeightForOffset,
2137         pageRemainingLogicalHeightForOffset.
2138
2139         There are still some issues related to incremental layout and different region widths.
2140         Those issues will be addressed in different patches.
2141
2142         Reviewed by David Hyatt.
2143
2144         Tests: fast/regions/text-region-breaks.html
2145                fast/regions/text-region-split-horizontal-bt.html
2146                fast/regions/text-region-split-vertical-rl.html
2147                fast/regions/text-region-split-vertical.html
2148                fast/regions/text-region-split.html
2149
2150         * rendering/LayoutState.cpp:
2151         (WebCore::LayoutState::LayoutState):
2152         * rendering/LayoutState.h:
2153         (WebCore::LayoutState::LayoutState):
2154         (WebCore::LayoutState::isPaginated):
2155         * rendering/RenderBlock.cpp:
2156         (WebCore::RenderBlock::positionNewFloats):
2157         (WebCore::RenderBlock::adjustForRegionFittingIfNeeded):
2158         (WebCore::RenderBlock::nextPageLogicalTopExcludingBoundaryPoint):
2159         (WebCore::RenderBlock::nextPageLogicalTopIncludingBoundaryPoint):
2160         (WebCore::inNormalFlow):
2161         (WebCore::RenderBlock::applyBeforeBreak):
2162         (WebCore::RenderBlock::applyAfterBreak):
2163         (WebCore::RenderBlock::logicalPageOffset):
2164         (WebCore::RenderBlock::pageLogicalHeightForOffset):
2165         (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
2166         (WebCore::RenderBlock::adjustForUnsplittableChild):
2167         (WebCore::RenderBlock::adjustLinePositionForPagination):
2168         * rendering/RenderBlock.h:
2169         * rendering/RenderFlowThread.cpp:
2170         (WebCore::RenderFlowThread::layout):
2171         (WebCore::RenderFlowThread::regionLogicalHeightForLine):
2172         (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
2173         * rendering/RenderFlowThread.h:
2174         * rendering/RenderView.cpp:
2175         (WebCore::RenderView::pushLayoutState):
2176         * rendering/RenderView.h:
2177         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2178         (WebCore::LayoutStateMaintainer::push):
2179
2180 2011-09-15  Kentaro Hara  <haraken@google.com>
2181
2182         Implement a PopStateEvent constructor for JSC
2183         https://bugs.webkit.org/show_bug.cgi?id=67977
2184
2185         Reviewed by Sam Weinig.
2186
2187         Test: fast/events/constructors/pop-state-event-constructor.html
2188
2189         * bindings/generic/EventConstructors.h: Added a definition for the PopStateEvent constructor.
2190         * bindings/js/JSEventConstructors.cpp: Added #includes for PopStateEvent.
2191         * dom/PopStateEvent.cpp:
2192         (WebCore::PopStateEventInit::PopStateEventInit):
2193         (WebCore::PopStateEvent::PopStateEvent):
2194         (WebCore::PopStateEvent::create):
2195         * dom/PopStateEvent.h: Added a definition for PopStateEventInit.
2196         * dom/PopStateEvent.idl: Makes PopStateEvent constructible.
2197
2198 2011-09-15  Mihai Parparita  <mihaip@chromium.org>
2199
2200         Fragment navigations should interrupt a provisional load of a different document
2201         https://bugs.webkit.org/show_bug.cgi?id=64556
2202
2203         Reviewed by Adam Barth.
2204         
2205         Tests: http/tests/history/back-with-fragment-change.php
2206                http/tests/navigation/navigation-interrupted-by-fragment.html
2207
2208         * loader/FrameLoader.cpp: Stop provisional load if a fragment commits.
2209         * loader/HistoryController.cpp: Don't commit the wrong provisional item.
2210
2211 2011-09-15  Adrienne Walker  <enne@google.com>
2212
2213         [chromium] Add temporary diagnostics for LayerTreeHost::commitTo crash
2214         https://bugs.webkit.org/show_bug.cgi?id=68204
2215
2216         Reviewed by James Robinson.
2217
2218         Add CRASH calls to determine which assumptions are being violated.
2219
2220         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2221         (WebCore::CCLayerTreeHost::commitTo):
2222
2223 2011-09-15  Mark Hahnenberg  <mhahnenberg@apple.com>
2224
2225         Unzip initialization lists and constructors in JSCell hierarchy (7/7)
2226         https://bugs.webkit.org/show_bug.cgi?id=68122
2227
2228         Reviewed by Geoffrey Garen.
2229
2230         No new tests.
2231
2232         Completed the seventh and final level of the refactoring to add finishCreation() 
2233         methods to all classes within the JSCell hierarchy with non-trivial 
2234         constructor bodies.
2235
2236         This consists of moving the finishCreation() method call into the create methods
2237         of the sixth level of the hierarchy as was done in previous patches.  
2238
2239         The special cases for JSAudioConstructor, JSOptionConstructor, and JSImageConstructor 
2240         were also lumped in and given finishCreation() methods that are called in their 
2241         create methods because we are at the end and want to avoid a trivial patch just 
2242         for moving their finishCreation() methods from their constructor to their create method.
2243
2244         * bindings/js/JSAudioConstructor.cpp:
2245         (WebCore::JSAudioConstructor::JSAudioConstructor):
2246         (WebCore::JSAudioConstructor::finishCreation):
2247         * bindings/js/JSAudioConstructor.h:
2248         (WebCore::JSAudioConstructor::create):
2249         * bindings/js/JSDOMBinding.h:
2250         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
2251         * bindings/js/JSDOMWindowBase.cpp:
2252         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2253         * bindings/js/JSImageConstructor.cpp:
2254         (WebCore::JSImageConstructor::JSImageConstructor):
2255         (WebCore::JSImageConstructor::finishCreation):
2256         * bindings/js/JSImageConstructor.h:
2257         (WebCore::JSImageConstructor::create):
2258         * bindings/js/JSOptionConstructor.cpp:
2259         (WebCore::JSOptionConstructor::JSOptionConstructor):
2260         (WebCore::JSOptionConstructor::finishCreation):
2261         * bindings/js/JSOptionConstructor.h:
2262         (WebCore::JSOptionConstructor::create):
2263         * bindings/js/JSWorkerContextBase.cpp:
2264         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2265
2266         The bindings generation script was also changed to move the finishCreation() call into the 
2267         create methods for descendants of JSWorkerContextBase and JSDOMWindowBase because those base
2268         classes had it removed from their constructors.  
2269
2270         * bindings/scripts/CodeGeneratorJS.pm:
2271         (GenerateHeader):
2272         * bridge/c/c_instance.cpp:
2273         (JSC::Bindings::CRuntimeMethod::create):
2274         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
2275         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2276         (JavaRuntimeMethod::create):
2277         (JavaRuntimeMethod::JavaRuntimeMethod):
2278         * bridge/objc/objc_instance.mm:
2279         (ObjCRuntimeMethod::create):
2280         (ObjCRuntimeMethod::ObjCRuntimeMethod):
2281         * bridge/qt/qt_runtime.cpp:
2282         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2283         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
2284         * bridge/qt/qt_runtime.h:
2285         (JSC::Bindings::QtRuntimeMetaMethod::create):
2286         (JSC::Bindings::QtRuntimeConnectionMethod::create):
2287
2288 2011-09-15  Kentaro Hara  <haraken@google.com>
2289
2290         A single line must not be split into two pages.
2291         https://bugs.webkit.org/show_bug.cgi?id=65005
2292
2293         Reviewed by David Hyatt.
2294
2295         When the document width of a page is overflowed, the last line of the page can be
2296         split into the next page. This is the regression caused by r88737. r88737 tried to
2297         fix rounding errors in rendering calculations by expanding and shrinking a page
2298         using one common method, resizePageRectsKeepingRatio(), but overlooked the case where
2299         a document width gets overflowed.
2300
2301         This patch fixes the problem by also using resizePageRectsKeepingRatio() for the case
2302         where the document width gets overflowed.
2303
2304         Test: printing/single-line-must-not-be-split-into-two-pages.html
2305
2306         * WebCore.exp.in: Updated the signature of forceLayoutForPagination().
2307         * page/Frame.cpp:
2308         (WebCore::Frame::setPrinting): Added a new argument |originalPageSize|, which is an original page size before being expanded or shrunk.
2309         * page/Frame.h:
2310         * page/FrameView.cpp:
2311         (WebCore::FrameView::forceLayoutForPagination): Uses resizePageRectsKeepingRatio() in the case where the document width gets overflowed.
2312         * page/FrameView.h:
2313         * page/PrintContext.cpp:
2314         (WebCore::PrintContext::begin): Passes an original page size to setPrinting().
2315         (WebCore::PrintContext::end): Ditto.
2316
2317 2011-09-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2318
2319         Unreviewed, rolling out r95243 and r95246.
2320         http://trac.webkit.org/changeset/95243
2321         http://trac.webkit.org/changeset/95246
2322         https://bugs.webkit.org/show_bug.cgi?id=68202
2323
2324         Broke the Windows build (Requested by smfr on #webkit).
2325
2326         * WebCore.vcproj/WebCore.vcproj:
2327         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2328         (WebCore::LayerChangesFlusher::hookCallback):
2329         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2330         (PlatformCAAnimation::copy):
2331         * platform/win/StructuredExceptionHandlerSupressor.h: Removed.
2332
2333 2011-09-15  Simon Fraser  <simon.fraser@apple.com>
2334
2335         Attempt to fix Windows build after r95243.
2336
2337         * WebCore.vcproj/WebCore.vcproj:
2338
2339 2011-09-15  Simon Fraser  <simon.fraser@apple.com>
2340
2341         Make custom scrollbar theme for use in DRT, to reduce pixel differences between platforms
2342         https://bugs.webkit.org/show_bug.cgi?id=68134
2343
2344         Reviewed by James Robinson.
2345
2346         Add new scrollbar theme, called ScrollbarThemeMock, for use in layout
2347         tests. The mock scrollbar simply draws a light gray box in the track,
2348         with a dark gray box for the thumb.
2349         
2350         Add ScrollbarThemeMock files to the build on all platforms. It isn't hooked up yet.
2351
2352         * CMakeLists.txt:
2353         * CMakeListsEfl.txt:
2354         * CMakeListsWinCE.txt:
2355         * GNUmakefile.list.am:
2356         * WebCore.gypi:
2357         * WebCore.pro:
2358         * WebCore.vcproj/WebCore.vcproj:
2359         * WebCore.xcodeproj/project.pbxproj:
2360         * platform/mac/ScrollbarThemeMac.mm:
2361         (WebCore::ScrollbarTheme::nativeTheme):
2362         * platform/mock/ScrollbarThemeMock.cpp: Added.
2363         (WebCore::ScrollbarThemeMock::trackRect):
2364         (WebCore::ScrollbarThemeMock::scrollbarThickness):
2365         (WebCore::ScrollbarThemeMock::paintTrackBackground):
2366         (WebCore::ScrollbarThemeMock::paintThumb):
2367         * platform/mock/ScrollbarThemeMock.h: Added.
2368         (WebCore::ScrollbarThemeMock::hasButtons):
2369         (WebCore::ScrollbarThemeMock::hasThumb):
2370         (WebCore::ScrollbarThemeMock::backButtonRect):
2371         (WebCore::ScrollbarThemeMock::forwardButtonRect):
2372
2373 2011-09-15  Beth Dakin  <bdakin@apple.com>
2374
2375         https://bugs.webkit.org/show_bug.cgi?id=67884
2376         Delete button icon does not properly update when the device resolution changes 
2377         dynamically
2378         -and corresponding-
2379         <rdar://problem/10104632>
2380
2381         Reviewed by Darin Adler.
2382
2383         In DeleteButtonController::deviceScaleFactorChanged(), if the delete button is 
2384         currently showing, hide it and re-show it, forcing it to re-create the deletion 
2385         UI.
2386         * editing/DeleteButtonController.cpp:
2387         (WebCore::DeleteButtonController::deviceScaleFactorChanged):
2388         * editing/DeleteButtonController.h:
2389         * editing/Editor.cpp:
2390         (WebCore::Editor::deviceScaleFactorChanged):
2391         * editing/Editor.h:
2392
2393         Iterate through all of the frames and propagate the deviceScaleFactorChange() 
2394         message to Editor.
2395         * page/Page.cpp:
2396         (WebCore::Page::setDeviceScaleFactor):
2397
2398 2011-09-15  Chris Marrin  <cmarrin@apple.com>
2399
2400         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
2401         https://bugs.webkit.org/show_bug.cgi?id=67510
2402
2403         Reviewed by Adam Roben.
2404         
2405         Another fix to take care of one last crash when running pause-crash.html.
2406         CACF can't deal with null valueFunctions, so avoid setting it when it doesn't 
2407         exist.
2408         
2409         This also adds logic to the Windows Hook in LayerChangesFlusher to prevent it
2410         from catching the null pointer exception generated by the pause-crash.html test
2411         before this bug was fixed. Windows was ignoring the exception, so the testcase
2412         would appear to succeed, even though it should have crashed.
2413
2414         * WebCore.vcproj/WebCore.vcproj:
2415         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
2416         (WebCore::LayerChangesFlusher::hookCallback):
2417         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2418         (PlatformCAAnimation::copy):
2419         * platform\win\StructuredExceptionHandlerSupressor.h: New file to encapsulate the exception handling supression.
2420
2421 2011-09-15  David Hyatt  <hyatt@apple.com>
2422
2423         https://bugs.webkit.org/show_bug.cgi?id=27579
2424         
2425         Make sure that the border shorthand also resets border-image.
2426
2427         Reviewed by Beth Dakin.
2428
2429         Added fast/borders/border-image-reset-by-border-shorthand.html.
2430
2431         * css/CSSParser.cpp:
2432         (WebCore::CSSParser::parseValue):
2433
2434 2011-09-15  David Hyatt  <hyatt@apple.com>
2435
2436         https://bugs.webkit.org/show_bug.cgi?id=50072
2437         
2438         Make overflow clipping to border-radius work across layers. This patch makes painting
2439         work but does not attempt to fix hit testing. It also doesn't work when a composited
2440         layer is clipped by a non-composited ancestor.
2441
2442         Add a new ClipRect class (used by ClipRects and RenderLayer) that is basically just tracking
2443         a rect and a border radius taint. At the time we set a clip, if the rectangle is listed
2444         as also being clipped by a radius, then we walk up the layer tree and push those inner border
2445         rounded rect clips for any overflow areas in the containing block chain.
2446
2447         Reviewed by Beth Dakin.
2448
2449         Added new tests in fast/clip.
2450
2451         * rendering/RenderBox.cpp:
2452         (WebCore::RenderBox::pushContentsClip):
2453         * rendering/RenderLayer.cpp:
2454         (WebCore::inContainingBlockChain):
2455         (WebCore::RenderLayer::clipToRect):
2456         (WebCore::RenderLayer::restoreClip):
2457         (WebCore::RenderLayer::paintLayer):
2458         (WebCore::RenderLayer::hitTestLayer):
2459         (WebCore::RenderLayer::calculateClipRects):
2460         (WebCore::RenderLayer::backgroundClipRect):
2461         (WebCore::RenderLayer::calculateRects):
2462         (WebCore::RenderLayer::childrenClipRect):
2463         (WebCore::RenderLayer::selfClipRect):
2464         * rendering/RenderLayer.h:
2465         (WebCore::ClipRect::ClipRect):
2466         (WebCore::ClipRect::rect):
2467         (WebCore::ClipRect::setRect):
2468         (WebCore::ClipRect::hasRadius):
2469         (WebCore::ClipRect::setHasRadius):
2470         (WebCore::ClipRect::operator==):
2471         (WebCore::ClipRect::intersect):
2472         (WebCore::ClipRect::move):
2473         (WebCore::ClipRect::isEmpty):
2474         (WebCore::ClipRect::intersects):
2475         (WebCore::intersection):
2476         (WebCore::ClipRects::overflowClipRect):
2477         (WebCore::ClipRects::setOverflowClipRect):
2478         (WebCore::ClipRects::fixedClipRect):
2479         (WebCore::ClipRects::setFixedClipRect):
2480         (WebCore::ClipRects::posClipRect):
2481         (WebCore::ClipRects::setPosClipRect):
2482         * rendering/RenderLayerBacking.cpp:
2483         (WebCore::RenderLayerBacking::updateCompositedBounds):
2484         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2485         (WebCore::RenderLayerBacking::paintIntoLayer):
2486         * rendering/RenderLayerCompositor.cpp:
2487         (WebCore::RenderLayerCompositor::addToOverlapMap):
2488         (WebCore::RenderLayerCompositor::clippedByAncestor):
2489         * rendering/RenderTreeAsText.cpp:
2490         (WebCore::writeLayers):
2491
2492 2011-09-15  Julien Chaffraix  <jchaffraix@webkit.org>
2493
2494         Crash in RenderBox::paintMaskImages due to a mask without an associated image
2495         https://bugs.webkit.org/show_bug.cgi?id=50151
2496
2497         Reviewed by Simon Fraser.
2498
2499         Test: fast/css/empty-webkit-mask-crash.html
2500
2501         The crash stems from the fact that FillLayer::hasImage would walk over the linked list
2502         of FillLayers and return true if one had an image. This means that hasImage() is true
2503         does not mean that image() is non-NULL on all FillLayers.
2504
2505         * rendering/RenderBox.cpp:
2506         (WebCore::RenderBox::paintMaskImages): Simplify the logic by doing the hasImage() check up-front
2507         and properly check image() for each FillLayers. This has the nice benefit of changing the complexity
2508         from O(n^2) to O(n), which was what the code expected anyway.
2509
2510 2011-09-15  Eric Seidel  <eric@webkit.org>
2511
2512         Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
2513         https://bugs.webkit.org/show_bug.cgi?id=68182
2514
2515         Reviewed by Adam Barth.
2516
2517         * Configurations/FeatureDefines.xcconfig:
2518         * DerivedSources.make:
2519         * GNUmakefile.am:
2520         * features.pri:
2521         * loader/cache/CachedImage.cpp:
2522         (WebCore::CachedImage::createImage):
2523
2524 2011-09-15  Andy Estes  <aestes@apple.com>
2525
2526         Having an empty listener to beforeload events changes the behavior of other scripts
2527         https://bugs.webkit.org/show_bug.cgi?id=45586
2528
2529         Reviewed by Darin Adler.
2530
2531         Test: fast/dom/beforeload/cached-image-before-load.html
2532         
2533         When loading a cached image after a beforeload handler has been
2534         installed on the document, ImageLoader would dispatch both the
2535         beforeload and load events asynchronously in such a way that caused
2536         load to fire first. Since a side effect of firing the beforeload event
2537         is to wire up the CachedImage to its associated RenderImage object,
2538         this work was not done by the time load fired, and scripts that queried
2539         renderer-dependent attributes of the image in an onload handler would
2540         get bogus values in return.
2541
2542         Fix this by ensuring load fires after beforeload in the cached image case.
2543
2544         * loader/ImageLoader.cpp:
2545         (WebCore::ImageLoader::updateFromElement): Call setClient() after
2546         dispatching beforeload, since setClient() will dispatch the load event
2547         if the image is cached.
2548
2549 2011-09-15  Anders Carlsson  <andersca@apple.com>
2550
2551         Remove ScrollView::platformContentsSize
2552         https://bugs.webkit.org/show_bug.cgi?id=68188
2553
2554         Reviewed by Darin Adler.
2555
2556         Since ScrollView keeps track of the contents size in ScrollView::m_contentsSize, we never
2557         have to ask the underlying platform scroll view for contents size since it should always just
2558         be equal to m_contentsSize.
2559
2560         * platform/ScrollView.cpp:
2561         (WebCore::ScrollView::contentsSize):
2562         (WebCore::ScrollView::wheelEvent):
2563         * platform/ScrollView.h:
2564         * platform/mac/ScrollViewMac.mm:
2565         * platform/wx/ScrollViewWx.cpp:
2566
2567 2011-09-15  Jon Lee  <jonlee@apple.com>
2568
2569         Submitting a form with target=_blank works only once
2570         https://bugs.webkit.org/show_bug.cgi?id=28633
2571         <rdar://problem/7357787>
2572
2573         Reviewed by Andy Estes.
2574
2575         Test: fast/forms/submit-to-blank-multiple-times.html
2576
2577         The call to reset the multiple form submission bool is pushed down from the mouseDown handler to
2578         handleMousePressEvent(), to include WK2 coverage, similar to keyEvent.
2579
2580         * page/EventHandler.cpp:
2581         (WebCore::EventHandler::handleMousePressEvent):
2582         (WebCore::EventHandler::keyEvent): clarified old FIXME comment. Both key events and mouse events
2583         may submit a form multiple times, but the call to reset the handler should probably be in another
2584         abstraction layer.
2585         * page/mac/EventHandlerMac.mm:
2586         (WebCore::EventHandler::mouseDown):
2587
2588 2011-09-15  Peter Rybin  <peter.rybin@gmail.com>
2589
2590         XMLDocumentParserQt.cpp incorrectly converts 0-based number into 1-based number
2591         https://bugs.webkit.org/show_bug.cgi?id=63540
2592
2593         ZeroBasedNumber/OneBasedNumber are used in more places, inconsistency
2594         in xml parser is fixed.
2595
2596         Reviewed by Adam Barth.
2597
2598         * bindings/js/ScriptController.cpp:
2599         (WebCore::ScriptController::eventHandlerLineNumber):
2600         * dom/ScriptableDocumentParser.h:
2601         * dom/StyleElement.cpp:
2602         (WebCore::StyleElement::StyleElement):
2603         * dom/ViewportArguments.cpp:
2604         (WebCore::parserLineNumber):
2605         * html/parser/HTMLDocumentParser.cpp:
2606         (WebCore::HTMLDocumentParser::lineNumber):
2607         * html/parser/HTMLDocumentParser.h:
2608         * inspector/InspectorResourceAgent.cpp:
2609         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2610         * svg/SVGDocumentExtensions.cpp:
2611         (WebCore::parserLineNumber):
2612         * xml/parser/NewXMLDocumentParser.cpp:
2613         (WebCore::NewXMLDocumentParser::lineNumber):
2614         * xml/parser/NewXMLDocumentParser.h:
2615         * xml/parser/XMLDocumentParser.cpp:
2616         (WebCore::XMLDocumentParser::pushCurrentNode):
2617         * xml/parser/XMLDocumentParser.h:
2618         * xml/parser/XMLDocumentParserLibxml2.cpp:
2619         (WebCore::PendingCallbacks::appendErrorCallback):
2620         (WebCore::XMLDocumentParser::doWrite):
2621         (WebCore::XMLDocumentParser::startElementNs):
2622         (WebCore::XMLDocumentParser::error):
2623         (WebCore::XMLDocumentParser::lineNumber):
2624         (WebCore::XMLDocumentParser::columnNumber):
2625         (WebCore::XMLDocumentParser::textPosition):
2626         * xml/parser/XMLDocumentParserQt.cpp:
2627         (WebCore::XMLDocumentParser::doWrite):
2628         (WebCore::XMLDocumentParser::doEnd):
2629         (WebCore::XMLDocumentParser::lineNumber):
2630         (WebCore::XMLDocumentParser::columnNumber):
2631         (WebCore::XMLDocumentParser::textPosition):
2632         (WebCore::XMLDocumentParser::parse):
2633         (WebCore::XMLDocumentParser::parseStartElement):
2634
2635 2011-09-15  Peter Kasting  <pkasting@google.com>
2636
2637         Fix WebCore.gypi after r95130.
2638
2639         Unreviewed, build fix.
2640
2641         * WebCore.gypi:
2642
2643 2011-09-15  Eric Seidel  <eric@webkit.org>
2644
2645         Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
2646         https://bugs.webkit.org/show_bug.cgi?id=68022
2647
2648         Reviewed by Ryosuke Niwa.
2649
2650         * Configurations/FeatureDefines.xcconfig:
2651         * DerivedSources.make:
2652         * GNUmakefile.am:
2653         * features.pri:
2654         * page/DOMWindow.idl:
2655         * svg/svgtags.in:
2656
2657 2011-09-15  Matthew Delaney  <mdelaney@apple.com>
2658
2659         REGRESSION (Safari 5.1-r95043): Incorrect box-shadow offset
2660         https://bugs.webkit.org/show_bug.cgi?id=68041
2661
2662         Reviewed by Dan Bernstein.
2663
2664         Test: fast/box-shadow/no-blur-multiple-offsets.html
2665
2666         * platform/graphics/cg/GraphicsContextCG.cpp:
2667         (WebCore::GraphicsContext::setPlatformShadow): Add hack back in for Lion if
2668         context is not accelerated.
2669
2670 2011-09-15  James Simonsen  <simonjam@chromium.org>
2671
2672         Ref protect HTMLObjectElement and HTMLEmbedElement while requesting plugins
2673         https://bugs.webkit.org/show_bug.cgi?id=68014
2674
2675         Reviewed by Adam Barth.
2676
2677         Test: plugins/destroy-during-npp-new.html under valgrind
2678               plugins/destroy-during-npp-new-object-with-fallback-content.html under valgrind
2679
2680         * html/HTMLEmbedElement.cpp:
2681         (WebCore::HTMLEmbedElement::updateWidget):
2682         * html/HTMLObjectElement.cpp:
2683         (WebCore::HTMLObjectElement::updateWidget):
2684
2685 2011-09-15  Sam Weinig  <sam@webkit.org>
2686
2687         Experiment with removing ability to call a collection (except document.all)
2688         https://bugs.webkit.org/show_bug.cgi?id=67579
2689
2690         Reviewed by Anders Carlsson.
2691
2692         At the request of the public-script-coord mailing list (specifically Brendan Eich, see
2693         http://lists.w3.org/Archives/Public/public-script-coord/2011JulSep/0360.html), this
2694         patch removes the ability to call a collection (either a NodeList or HTMLCollection,
2695         but not an HTMLAllCollection) as function, a syntax that we adopted to emulate IE.
2696         It is being landed to find out if there are any sites relying on this behavior of WebKit,
2697         or, if it is only used in IE only paths.  If we find sites are breaking, it should be rolled
2698         out and we should inform the public-script-coord mailing list.
2699
2700         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2701         Update comment.
2702
2703         * bindings/js/JSHTMLCollectionCustom.cpp:
2704         * bindings/js/JSNodeListCustom.cpp:
2705         Remove custom call code.
2706
2707         * bindings/scripts/CodeGeneratorV8.pm:
2708         Add support for V8CustomCall.
2709
2710         * dom/NodeList.idl:
2711         * html/HTMLCollection.idl:
2712         Remove CustomCall.
2713
2714 2011-09-15  Andreas Kling  <kling@webkit.org>
2715
2716         CanvasRenderingContext2D::State copy ctor should use initializer list.
2717         https://bugs.webkit.org/show_bug.cgi?id=68152
2718
2719         Reviewed by Darin Adler.
2720
2721         * html/canvas/CanvasRenderingContext2D.cpp:
2722         (WebCore::CanvasRenderingContext2D::State::State):
2723
2724 2011-09-15  Andreas Kling  <kling@webkit.org>
2725
2726         Don't bother calculating dirty rect for accelerated 2D canvases.
2727         https://bugs.webkit.org/show_bug.cgi?id=68158
2728
2729         Reviewed by Kenneth Rohde Christiansen.
2730
2731         For accelerated CanvasRenderingContext2D, didDraw() simply calls out
2732         to RenderLayer::contentChanged(). Move this to the top of didDraw()
2733         so we don't waste time calculating a precise dirty rect.
2734
2735         * html/canvas/CanvasRenderingContext2D.cpp:
2736         (WebCore::CanvasRenderingContext2D::didDraw):
2737
2738 2011-09-15  Brian Salomon  <bsalomon@google.com>
2739
2740         [Skia/Chrome] Cleanup unneeded code now that GrGLInterface is used to set GL ctx per GL call.
2741         https://bugs.webkit.org/show_bug.cgi?id=68096
2742
2743         Reviewed by Stephen White.
2744
2745         This change removes PlatformContextSkia::makeGrContextCurrent now that
2746         GrGLInterface is used to set the context on every Skia GL call.
2747
2748         Tested by every canvas layout test.
2749
2750         * platform/graphics/chromium/FontLinux.cpp:
2751         (WebCore::Font::drawGlyphs):
2752         * platform/graphics/skia/FontSkia.cpp:
2753         (WebCore::Font::drawGlyphs):
2754         * platform/graphics/skia/GraphicsContextSkia.cpp:
2755         (WebCore::GraphicsContext::clearRect):
2756         (WebCore::GraphicsContext::clip):
2757         (WebCore::GraphicsContext::drawConvexPolygon):
2758         (WebCore::GraphicsContext::drawEllipse):
2759         (WebCore::GraphicsContext::drawFocusRing):
2760         (WebCore::GraphicsContext::drawLine):
2761         (WebCore::GraphicsContext::drawLineForTextChecking):
2762         (WebCore::GraphicsContext::drawLineForText):
2763         (WebCore::GraphicsContext::drawRect):
2764         (WebCore::GraphicsContext::fillPath):
2765         (WebCore::GraphicsContext::fillRect):
2766         (WebCore::GraphicsContext::fillRoundedRect):
2767         (WebCore::GraphicsContext::strokeArc):
2768         (WebCore::GraphicsContext::strokePath):
2769         (WebCore::GraphicsContext::strokeRect):
2770         * platform/graphics/skia/ImageBufferSkia.cpp:
2771         (WebCore::ImageBuffer::ImageBuffer):
2772         (WebCore::ImageBuffer::~ImageBuffer):
2773         (WebCore::ImageBuffer::copyImage):
2774         (WebCore::ImageBuffer::draw):
2775         (WebCore::ImageBuffer::drawPattern):
2776         (WebCore::ImageBuffer::getUnmultipliedImageData):
2777         (WebCore::ImageBuffer::getPremultipliedImageData):
2778         (WebCore::ImageBuffer::putUnmultipliedImageData):
2779         (WebCore::ImageBuffer::putPremultipliedImageData):
2780         (WebCore::ImageBuffer::toDataURL):
2781         * platform/graphics/skia/ImageSkia.cpp:
2782         (WebCore::BitmapImage::draw):
2783         (WebCore::BitmapImageSingleFrameSkia::draw):
2784         * platform/graphics/skia/PlatformContextSkia.cpp:
2785         (WebCore::PlatformContextSkia::clipPathAntiAliased):
2786         (WebCore::PlatformContextSkia::setGraphicsContext3D):
2787         * platform/graphics/skia/PlatformContextSkia.h:
2788         * platform/graphics/skia/SkiaFontWin.cpp:
2789         (WebCore::paintSkiaText):
2790
2791 2011-09-15  Peter Beverloo  <peter@chromium.org>
2792
2793         [Chromium] Make sure that the ARM NEON files build with -marm
2794         https://bugs.webkit.org/show_bug.cgi?id=68088
2795
2796         Simply adding the -marm cflag for OS=Android compiles results in it
2797         being overridden by an -mthumb cflag later in the project generating
2798         process. Therefore we should explicitly exclude -mthumb.
2799
2800         Reviewed by Tony Gentilcore.
2801
2802         * WebCore.gyp/WebCore.gyp:
2803
2804 2011-09-15  Keishi Hattori  <keishi@webkit.org>
2805
2806         [chromium] Build fix: Remove use of GraphicsContext::setIsAcceleratedContext
2807
2808         r95174 introduced GraphicsContext::setIsAcceleratedContext into Skia code and caused chromium builds to fail.
2809
2810         * platform/graphics/skia/ImageBufferSkia.cpp:
2811         (WebCore::ImageBuffer::ImageBuffer):
2812
2813 2011-09-15  Yuta Kitamura  <yutak@chromium.org>
2814
2815         ThreadableWebSocketChannelClientWrapper shouldn't have a String in it.
2816         https://bugs.webkit.org/show_bug.cgi?id=67908
2817
2818         Reviewed by David Levin.
2819
2820         Replace a String member variable in ThreadableWebSocketChannelClientWrapper with Vector<UChar>.
2821
2822         ThreadableWebSocketChannelClientWrapper is derived from ThreadSafeRefCounted. It may be
2823         destroyed on different threads, which will affect String's refcounting. Therefore, classes
2824         derived from ThreadSafeRefCounted must not have a String member variable.
2825
2826         No change in functionality, thus no new tests. WebSocket worker tests
2827         (tests under http/tests/websocket/tests/{hixie76,hybi}/workers/) should keep passing.
2828
2829         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2830         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2831         (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
2832         Create a String from Vector<UChar>. Note that String constructor taking an empty vector returns
2833         a null string, not an empty string. We want an empty string in that case, so I had to add
2834         special-case handling for an empty vector.
2835         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
2836         Copy the content of the given String into Vector.
2837         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2838
2839 2011-09-14  Matthew Delaney  <mdelaney@apple.com>
2840
2841         Use isAcceleratedContext() on the GraphicsContext instead of flags in ImageBuffer
2842         https://bugs.webkit.org/show_bug.cgi?id=68137
2843
2844         Reviewed by Simon Fraser.
2845
2846         No new tests. No change in behavior.
2847
2848         * html/canvas/CanvasRenderingContext2D.cpp:
2849         (WebCore::CanvasRenderingContext2D::isAccelerated): Have all just query the context directly.
2850         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere): just use isAccelerated directly
2851         * platform/graphics/ImageBuffer.h:
2852         * platform/graphics/cg/ImageBufferCG.cpp:
2853         (WebCore::ImageBuffer::ImageBuffer): Set isAcceleratedContext on the GraphicsContext instead of carrying the
2854             bit around on the ImageBuffer itself.
2855         (WebCore::ImageBuffer::copyNativeImage): Update the check. Same for all below...
2856         (WebCore::ImageBuffer::drawPattern):
2857         (WebCore::ImageBuffer::getUnmultipliedImageData):
2858         (WebCore::ImageBuffer::getPremultipliedImageData):
2859         (WebCore::ImageBuffer::putUnmultipliedImageData):
2860         (WebCore::ImageBuffer::putPremultipliedImageData):
2861         * platform/graphics/skia/ImageBufferSkia.cpp: Set isAcceleratedContext on the GraphicsContext instead of carrying the
2862             bit around on the ImageBuffer itself.
2863         (WebCore::ImageBuffer::ImageBuffer): Remove m_acceleratesRendering flag and getter.
2864
2865 2011-09-14  Jeffrey Pfau  <jeffrey@endrift.com>
2866
2867         libxml2 fragment parser loses prefix namespaces
2868         https://bugs.webkit.org/show_bug.cgi?id=66423
2869
2870         This makes the loop over the elements outside of the context actually update the element it's processing.
2871
2872         Reviewed by Eric Seidel.
2873
2874         Test: fast/parser/innerhtml-with-prefixed-elements.xhtml
2875
2876         * xml/parser/XMLDocumentParserLibxml2.cpp:
2877         (WebCore::XMLDocumentParser::XMLDocumentParser):
2878
2879 2011-09-14  Nate Chapin  <japhet@chromium.org>
2880
2881         [V8] Null-check the v8::Context in 
2882         V8DOMWindowShell:namedItemAdded() before using it.
2883         Also, add some logging to figure out how we're getting
2884         into this bad state.
2885         https://bugs.webkit.org/show_bug.cgi?id=68099
2886
2887         Reviewed by Adam Barth.
2888
2889         No new tests, no known repro.
2890
2891         * bindings/v8/V8DOMWindowShell.cpp:
2892         (WebCore::V8DOMWindowShell::namedItemAdded):
2893
2894 2011-09-14  Patrick Gansterer  <paroga@webkit.org>
2895
2896         Replace ENABLE_XHR_RESPONSE_BLOB preprocessor statements in IDL files with Conditional attribute
2897         https://bugs.webkit.org/show_bug.cgi?id=64960
2898
2899         Reviewed by Ryosuke Niwa.
2900
2901         * xml/XMLHttpRequest.idl:
2902
2903 2011-09-14  Alexei Svitkine  <asvitkine@chromium.org>
2904
2905         Chromium: Add a layer for rubber-band overhang painting to the hardware path.
2906         https://bugs.webkit.org/show_bug.cgi?id=66969
2907
2908         Also, add layout tests for rubber-band overhang drawing for compositing path.
2909
2910         Reviewed by James Robinson.
2911
2912         * page/FrameView.cpp:
2913         (WebCore::FrameView::layerForOverhangAreas):
2914         * page/FrameView.h:
2915         * platform/ScrollView.cpp:
2916         (WebCore::ScrollView::scrollContents):
2917         (WebCore::ScrollView::wheelEvent):
2918         * platform/ScrollView.h:
2919         * platform/ScrollableArea.h:
2920         (WebCore::ScrollableArea::layerForOverhangAreas):
2921         * rendering/RenderLayerCompositor.cpp:
2922         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2923         (WebCore::RenderLayerCompositor::paintContents):
2924         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2925         (WebCore::RenderLayerCompositor::destroyRootLayer):
2926         * rendering/RenderLayerCompositor.h:
2927         (WebCore::RenderLayerCompositor::layerForOverhangAreas):
2928
2929 2011-09-14  Antoine Labour  <piman@chromium.org>
2930
2931         Remove the dependency on GraphicsLayer from CCLayerTreeHost.
2932         Move root layer management into the NonCompositedContentHost.
2933         Have WebViewImpl create a NonCompositedContentHost explicitly.
2934         https://bugs.webkit.org/show_bug.cgi?id=67883
2935
2936         Reviewed by James Robinson.
2937
2938         Covered by compositing/ layout tests.
2939
2940         * platform/graphics/chromium/NonCompositedContentHost.cpp:
2941         (WebCore::NonCompositedContentHost::setRootLayer):
2942         (WebCore::NonCompositedContentHost::setViewport):
2943         (WebCore::NonCompositedContentHost::setVisible):
2944         (WebCore::NonCompositedContentHost::clearRenderSurfacesRecursive):
2945         (WebCore::NonCompositedContentHost::invalidateRect):
2946         * platform/graphics/chromium/NonCompositedContentHost.h:
2947         (WebCore::NonCompositedContentHost::topLevelRootLayer):
2948         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2949         (WebCore::CCLayerTreeHost::create):
2950         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2951         (WebCore::CCLayerTreeHost::initialize):
2952         (WebCore::CCLayerTreeHost::commitTo):
2953         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
2954         (WebCore::CCLayerTreeHost::setViewport):
2955         (WebCore::CCLayerTreeHost::setVisible):
2956         (WebCore::CCLayerTreeHost::updateLayers):
2957         (WebCore::CCLayerTreeHost::paintLayerContents):
2958         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2959         (WebCore::CCLayerTreeHost::rootLayer):
2960
2961 2011-09-14  Henrik Grunell  <grunell@google.com>
2962
2963         MediaStream API: Change PeerConnection constructor name to webkitPeerConnection
2964         https://bugs.webkit.org/show_bug.cgi?id=67843
2965
2966         Reviewed by Tony Gentilcore.
2967
2968         Tests for the MediaStream API will be provided by the bug 56587, pending enough landed code.
2969
2970         * bindings/generic/RuntimeEnabledFeatures.h:
2971         (WebCore::RuntimeEnabledFeatures::webkitPeerConnectionEnabled):
2972         * page/DOMWindow.idl:
2973
2974 2011-09-14  John Bauman  <jbauman@chromium.org>
2975
2976         Make sure to GC decoded images that are only used with WebGL
2977         https://bugs.webkit.org/show_bug.cgi?id=67899
2978
2979         Reviewed by James Robinson.
2980
2981         Tell CachedImage that the WebGL image was drawn so WebGL-only
2982         content will have decoded images collected.
2983
2984         * platform/graphics/GraphicsContext3D.cpp:
2985         (WebCore::GraphicsContext3D::extractImageData):
2986
2987 2011-09-14  Antoine Labour  <piman@chromium.org>
2988
2989         Added a pure virtual class CCLayerDelegate which helps to isolate
2990         the chromium compositor from the rest of WebCore, and aids unit
2991         testing by being easily mockable.  The compositor layers no longer
2992         directly see instances of GraphicsLayerChromium, instead they use
2993         this interface.
2994         https://bugs.webkit.org/show_bug.cgi?id=67750
2995
2996         Reviewed by James Robinson.
2997
2998         No new tests: changes already covered by existing compositing layout
2999         tests.
3000
3001         * platform/graphics/chromium/CanvasLayerChromium.cpp:
3002         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
3003         * platform/graphics/chromium/CanvasLayerChromium.h:
3004         * platform/graphics/chromium/ContentLayerChromium.cpp:
3005         (WebCore::ContentLayerPainter::create):
3006         (WebCore::ContentLayerPainter::paint):
3007         (WebCore::ContentLayerPainter::ContentLayerPainter):
3008         (WebCore::ContentLayerChromium::create):
3009         (WebCore::ContentLayerChromium::ContentLayerChromium):
3010         (WebCore::ContentLayerChromium::drawsContent):
3011         * platform/graphics/chromium/ContentLayerChromium.h:
3012         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3013         (WebCore::GraphicsLayerChromium::getDrawsContent):
3014         (WebCore::GraphicsLayerChromium::getPreserves3D):
3015         (WebCore::GraphicsLayerChromium::paintingGoesToWindow):
3016         (WebCore::GraphicsLayerChromium::doPaintGraphicsLayerContents):
3017         (WebCore::GraphicsLayerChromium::notifySyncRequired):
3018         * platform/graphics/chromium/GraphicsLayerChromium.h:
3019         * platform/graphics/chromium/ImageLayerChromium.cpp:
3020         (WebCore::ImageLayerChromium::create):
3021         (WebCore::ImageLayerChromium::ImageLayerChromium):
3022         * platform/graphics/chromium/ImageLayerChromium.h:
3023         * platform/graphics/chromium/LayerChromium.cpp:
3024         (WebCore::LayerChromium::create):
3025         (WebCore::LayerChromium::LayerChromium):
3026         * platform/graphics/chromium/LayerChromium.h:
3027         (WebCore::CCLayerDelegate::~CCLayerDelegate):
3028         (WebCore::LayerChromium::preserves3D):
3029         (WebCore::LayerChromium::setOwner):
3030         * platform/graphics/chromium/PluginLayerChromium.cpp:
3031         (WebCore::PluginLayerChromium::create):
3032         (WebCore::PluginLayerChromium::PluginLayerChromium):
3033         * platform/graphics/chromium/PluginLayerChromium.h:
3034         * platform/graphics/chromium/TiledLayerChromium.cpp:
3035         (WebCore::TiledLayerChromium::TiledLayerChromium):
3036         * platform/graphics/chromium/TiledLayerChromium.h:
3037         * platform/graphics/chromium/VideoLayerChromium.cpp:
3038         (WebCore::VideoLayerChromium::create):
3039         (WebCore::VideoLayerChromium::VideoLayerChromium):
3040         (WebCore::VideoLayerChromium::updateCompositorResources):
3041         * platform/graphics/chromium/VideoLayerChromium.h:
3042         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3043         (WebCore::WebGLLayerChromium::create):
3044         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
3045         * platform/graphics/chromium/WebGLLayerChromium.h:
3046
3047 2011-09-14  Anders Carlsson  <andersca@apple.com>
3048
3049         Try to fix GTK+ build.
3050         
3051         * GNUmakefile.list.am:
3052
3053 2011-09-14  James Robinson  <jamesr@chromium.org>
3054
3055         [chromium] LayerRendererChromium shouldn't be RefCounted
3056         https://bugs.webkit.org/show_bug.cgi?id=68121
3057
3058         Reviewed by Kenneth Russell.
3059
3060         LayerRendererChromium is owned exclusively by CCLayerTreeHostImpl, so there's no reason to have it be
3061         refcounted. Making it an OwnPtr<> makes the lifecycle for these objects much cleaner and reduces the chance of
3062         introducing accidental reference cycles.  This also removes the LayerRendererChromium pointers from CCLayerImpls
3063         since it only needed at draw time.
3064
3065         Covered by compositing/ tests.
3066
3067         * platform/graphics/chromium/LayerRendererChromium.cpp:
3068         (WebCore::LayerRendererChromium::create):
3069         (WebCore::LayerRendererChromium::drawLayers):
3070         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
3071         (WebCore::LayerRendererChromium::useRenderSurface):
3072         (WebCore::LayerRendererChromium::drawLayer):
3073         * platform/graphics/chromium/LayerRendererChromium.h:
3074         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
3075         (WebCore::CCCanvasLayerImpl::draw):
3076         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
3077         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3078         (WebCore::CCLayerImpl::CCLayerImpl):
3079         (WebCore::CCLayerImpl::draw):
3080         (WebCore::CCLayerImpl::bindContentsTexture):
3081         (WebCore::CCLayerImpl::drawDebugBorder):
3082         * platform/graphics/chromium/cc/CCLayerImpl.h:
3083         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3084         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3085         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3086         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3087         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3088         (WebCore::CCPluginLayerImpl::draw):
3089         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3090         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3091         (WebCore::CCRenderSurface::cleanupResources):
3092         (WebCore::CCRenderSurface::prepareContentsTexture):
3093         (WebCore::CCRenderSurface::draw):
3094         (WebCore::CCRenderSurface::drawLayer):
3095         (WebCore::CCRenderSurface::drawSurface):
3096         * platform/graphics/chromium/cc/CCRenderSurface.h:
3097         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3098         (WebCore::CCTiledLayerImpl::bindContentsTexture):
3099         (WebCore::CCTiledLayerImpl::draw):
3100         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3101         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3102         (WebCore::CCVideoLayerImpl::draw):
3103         (WebCore::CCVideoLayerImpl::drawYUV):
3104         (WebCore::CCVideoLayerImpl::drawRGBA):
3105         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3106
3107 2011-09-14  Anders Carlsson  <andersca@apple.com>
3108
3109         Get rid of WebCoreViewFactory and its WebViewFactory subclass
3110         https://bugs.webkit.org/show_bug.cgi?id=68124
3111
3112         Reviewed by Sam Weinig.
3113
3114         * WebCore.exp.in:
3115         * WebCore.xcodeproj/project.pbxproj:
3116         * editing/mac/FrameSelectionMac.mm:
3117         * page/mac/FrameMac.mm:
3118         * page/mac/WebCoreViewFactory.h: Removed.
3119         * page/mac/WebCoreViewFactory.m: Removed.
3120
3121 2011-09-14  David Hyatt  <hyatt@apple.com>
3122
3123         https://bugs.webkit.org/show_bug.cgi?id=52736
3124
3125         Tiles were not being properly centered within border image sides for the "repeat"
3126         keyword. This patch fixes the buggy math behind the pattern tiling to actually get
3127         the initial phases correct.
3128
3129         Reviewed by Sam Weinig.
3130         
3131         Added new tests in fast/borders and updated broken existing tests.
3132
3133         * platform/graphics/Image.cpp:
3134         (WebCore::Image::drawTiled):
3135
3136 2011-09-14  Anders Carlsson  <andersca@apple.com>
3137
3138         Remove DocTypeStrings.gperf
3139         https://bugs.webkit.org/show_bug.cgi?id=68119
3140
3141         Reviewed by Sam Weinig.
3142
3143         * CMakeLists.txt:
3144         * CodeGenerators.pri:
3145         * DerivedSources.make:
3146         * GNUmakefile.am:
3147         * WebCore.gyp/WebCore.gyp:
3148         * WebCore.vcproj/WebCore.vcproj:
3149         * WebCore.xcodeproj/project.pbxproj:
3150         * html/DocTypeStrings.gperf: Removed.
3151         * make-hash-tools.pl:
3152         * platform/HashTools.h:
3153
3154 2011-09-14  Chris Rogers  <crogers@google.com>
3155
3156         Address lifetime issues in OfflineAudioDestinationNode (take 2)
3157         https://bugs.webkit.org/show_bug.cgi?id=68111
3158
3159         Reviewed by Kenneth Russell.
3160
3161         No new tests.  This fixes existing layout tests.
3162
3163         * webaudio/OfflineAudioDestinationNode.cpp:
3164         (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
3165         (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
3166         (WebCore::OfflineAudioDestinationNode::startRendering):
3167         (WebCore::OfflineAudioDestinationNode::render):
3168
3169 2011-09-14  David Hyatt  <hyatt@apple.com>
3170
3171         https://bugs.webkit.org/show_bug.cgi?id=68103
3172         
3173         Centered portions of border images don't render correctly. Make the tile scale factor have to be
3174         explicitly passed in and modify paintNinePieceImage to compute it for all sides. The attempts to
3175         implicitly compute the scale for the pattern based off the source and destination rects just don't
3176         work, since the center image rects don't provide the right information to be able to infer the
3177         scale factor.
3178
3179         Reviewed by Sam Weinig.
3180
3181         Reset all the existing fast/borders pixel results to Lion for these changes.
3182
3183         * platform/graphics/GraphicsContext.cpp:
3184         (WebCore::GraphicsContext::drawTiledImage):
3185         * platform/graphics/GraphicsContext.h:
3186         * platform/graphics/Image.cpp:
3187         (WebCore::Image::drawTiled):
3188         * platform/graphics/Image.h:
3189         * rendering/RenderBoxModelObject.cpp:
3190         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3191
3192 2011-09-14  Anders Carlsson  <andersca@apple.com>
3193
3194         Get rid of ResourceHandle::bufferedData()
3195         https://bugs.webkit.org/show_bug.cgi?id=68112
3196
3197         Reviewed by David Hyatt.
3198
3199         ResourceHandle::bufferedData() was only implemented on Mac, and the support in the underlying
3200         NSURLConnection class hasn't been there for several OS releases.
3201
3202         * loader/ResourceLoader.cpp:
3203         (WebCore::ResourceLoader::resourceData):
3204         (WebCore::ResourceLoader::addData):
3205         * platform/network/ResourceHandle.h:
3206         * platform/network/cf/ResourceHandleCFNet.cpp:
3207         * platform/network/curl/ResourceHandleCurl.cpp:
3208         * platform/network/mac/ResourceHandleMac.mm:
3209         * platform/network/qt/ResourceHandleQt.cpp:
3210         * platform/network/soup/ResourceHandleSoup.cpp:
3211         * platform/network/win/ResourceHandleWin.cpp:
3212
3213 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3214
3215         REGRESSION: r95108 broke Qt Linux tests
3216         https://bugs.webkit.org/show_bug.cgi?id=68104
3217
3218         Reviewed by Csaba Osztrogonác.
3219
3220         No new tests.
3221
3222         Build fix for Qt tests broken in r95108.
3223
3224         * bridge/qt/qt_runtime.cpp:
3225         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3226         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3227         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
3228         * bridge/qt/qt_runtime.h:
3229
3230 2011-09-14  James Robinson  <jamesr@chromium.org>
3231
3232         [skia] fast/canvas/setWidthResetAfterForcedRender is flaky
3233         https://bugs.webkit.org/show_bug.cgi?id=67955
3234
3235         Reviewed by Stephen White.
3236
3237         When destroying an ImageBuffer due to a canvas resize, we weren't clearing the texture ID on the layer,
3238         resulting in future compositor draw calls binding an invalid texture.  This results in the test failing and
3239         possibly drawing from a bad texture.
3240
3241         Covered by fast/canvas/setWidthResetAfterForcedRender.html in the GPU configuration.
3242
3243         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3244         (WebCore::Canvas2DLayerChromium::drawsContent)
3245         * platform/graphics/skia/ImageBufferSkia.cpp:
3246         (WebCore::ImageBuffer::~ImageBuffer):
3247
3248 2011-09-14  Eric Seidel  <eric@webkit.org>
3249
3250         Remove ENABLE_SVG_USE as <use> is required by HTML5
3251         https://bugs.webkit.org/show_bug.cgi?id=68019
3252
3253         Reviewed by Ryosuke Niwa.
3254
3255         I missed a couple uses of SVG_USE in my previous patch.
3256
3257         * dom/DOMImplementation.cpp:
3258         (WebCore::isSVG10Feature):
3259         (WebCore::isSVG11Feature):
3260         * svg/SVGUseElement.cpp:
3261         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
3262         * svg/SVGUseElement.h:
3263
3264 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3265
3266         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
3267         https://bugs.webkit.org/show_bug.cgi?id=67692
3268
3269         Reviewed by Geoffrey Garen.
3270
3271         No new tests.
3272
3273         Completed the sixth level of the refactoring to add finishCreation() 
3274         methods to all classes within the JSCell hierarchy with non-trivial 
3275         constructor bodies.
3276
3277         This primarily consists of pushing the calls to finishCreation() down 
3278         into the constructors of the subclasses of the fifth level of the hierarchy 
3279         as well as pulling the finishCreation() calls out into the class's corresponding
3280         create() method if it has one.  Doing both simultaneously allows us to 
3281         maintain the invariant that the finishCreation() method chain is called exactly 
3282         once during the creation of an object, since calling it any other number of 
3283         times (0, 2, or more) will cause an assertion failure.
3284
3285         * WebCore.exp.in:
3286         * bindings/js/JSDOMBinding.h:
3287         (WebCore::DOMConstructorObject::DOMConstructorObject):
3288         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
3289         (WebCore::DOMConstructorWithDocument::finishCreation):
3290         * bindings/js/JSDOMGlobalObject.cpp:
3291         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3292         * bindings/js/JSDOMGlobalObject.h:
3293         * bindings/js/JSDOMWindowBase.cpp:
3294         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3295         (WebCore::JSDOMWindowBase::finishCreation):
3296         * bindings/js/JSDOMWindowBase.h:
3297         * bindings/js/JSWorkerContextBase.cpp:
3298         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
3299         (WebCore::JSWorkerContextBase::finishCreation):
3300         * bindings/js/JSWorkerContextBase.h:
3301         * bindings/scripts/CodeGeneratorJS.pm:
3302
3303         Added a finishCreation declaration and Moved the finishCreation call into the 
3304         create method for all classes except for subclasses of JSWorkerContextBase and 
3305         JSDOMWindowBase because those classes are on the next level, and it's easier 
3306         to do all of these classes in one fell swoop rather than level by level.
3307         (GenerateHeader):
3308         Added the implementation of the finishCreation method for the classes described above.
3309         (GenerateImplementation):
3310         Also added the finishCreation calls to the autogenerated DOM constructor classes.
3311         (GenerateConstructorDeclaration):
3312         (GenerateConstructorDefinition):
3313
3314         * bindings/scripts/test/JS/JSTestInterface.cpp:
3315         (WebCore::JSTestInterfaceConstructor::create):
3316         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
3317         (WebCore::JSTestInterfaceConstructor::finishCreation):
3318         (WebCore::JSTestInterface::JSTestInterface):
3319         (WebCore::JSTestInterface::finishCreation):
3320         * bindings/scripts/test/JS/JSTestInterface.h:
3321         (WebCore::JSTestInterface::create):
3322         (WebCore::JSTestInterfacePrototype::create):
3323         (WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
3324         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3325         (WebCore::JSTestMediaQueryListListenerConstructor::create):
3326         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
3327         (WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
3328         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3329         (WebCore::JSTestMediaQueryListListener::finishCreation):
3330         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3331         (WebCore::JSTestMediaQueryListListener::create):
3332         (WebCore::JSTestMediaQueryListListenerPrototype::create):
3333         (WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
3334         * bindings/scripts/test/JS/JSTestObj.cpp:
3335         (WebCore::JSTestObjConstructor::create):
3336         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
3337         (WebCore::JSTestObjConstructor::finishCreation):
3338         (WebCore::JSTestObj::JSTestObj):
3339         (WebCore::JSTestObj::finishCreation):
3340         * bindings/scripts/test/JS/JSTestObj.h:
3341         (WebCore::JSTestObj::create):
3342         (WebCore::JSTestObjPrototype::create):
3343         (WebCore::JSTestObjPrototype::JSTestObjPrototype):
3344         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3345         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
3346         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
3347         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
3348         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3349         (WebCore::JSTestSerializedScriptValueInterface::finishCreation):
3350         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3351         (WebCore::JSTestSerializedScriptValueInterface::create):
3352         (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
3353         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
3354         * bridge/c/CRuntimeObject.cpp:
3355         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3356         * bridge/c/CRuntimeObject.h:
3357         (JSC::Bindings::CRuntimeObject::create):
3358         * bridge/c/c_instance.cpp:
3359         (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):
3360         (JSC::Bindings::CRuntimeMethod::finishCreation):
3361         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3362         (JavaRuntimeMethod::JavaRuntimeMethod):
3363         (JavaRuntimeMethod::finishCreation):
3364         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3365         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
3366         * bridge/jni/jsc/JavaRuntimeObject.h:
3367         (JSC::Bindings::JavaRuntimeObject::create):
3368         * bridge/objc/ObjCRuntimeObject.h:
3369         (JSC::Bindings::ObjCRuntimeObject::create):
3370         * bridge/objc/ObjCRuntimeObject.mm:
3371         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3372         * bridge/objc/objc_instance.mm:
3373         (ObjCRuntimeMethod::ObjCRuntimeMethod):
3374         (ObjCRuntimeMethod::finishCreation):
3375         * bridge/qt/qt_instance.cpp:
3376         (JSC::Bindings::QtRuntimeObject::create):
3377         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
3378         * bridge/qt/qt_pixmapruntime.cpp:
3379         (JSC::Bindings::QtPixmapRuntimeObject::create):
3380         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
3381         * bridge/qt/qt_runtime.cpp:
3382         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3383         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
3384         (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
3385         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
3386         (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
3387         * bridge/qt/qt_runtime.h:
3388         (JSC::Bindings::QtRuntimeMetaMethod::create):
3389         * bridge/runtime_method.cpp:
3390         (JSC::RuntimeMethod::RuntimeMethod):
3391         * bridge/runtime_method.h:
3392         (JSC::RuntimeMethod::create):
3393
3394 2011-09-13  Eric Seidel  <eric@webkit.org>
3395
3396         Remove ENABLE_SVG_USE as <use> is required by HTML5
3397         https://bugs.webkit.org/show_bug.cgi?id=68019
3398
3399         Reviewed by Ryosuke Niwa.
3400
3401         * Configurations/FeatureDefines.xcconfig:
3402         * DerivedSources.make:
3403         * GNUmakefile.am:
3404         * features.pri:
3405
3406 2011-09-14  Eric Carlson  <eric.carlson@apple.com>
3407
3408         MediaPlayerPrivateAVFoundationObjC's "periodic time observer" is unnecessary
3409         https://bugs.webkit.org/show_bug.cgi?id=68056
3410
3411         MediaPlayerPrivateAVFoundationObjC creates a "periodic time observer" not because it wants
3412         periodic callbacks, but because a time observer also fires whenever a seek completes. This is 
3413         no longer necessary because it now uses but AVPlayerItem's 
3414         -seekToTime:toleranceBefore:toleranceAfter:completionHandler to seek, so seek completions are
3415         always notified.
3416
3417         Reviewed by Darin Adler.
3418
3419         No new tests, code removed is tested by existing tests.
3420
3421         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3422         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
3423
3424 2011-09-14  Beth Dakin  <bdakin@apple.com>
3425
3426         https://bugs.webkit.org/show_bug.cgi?id=68054
3427         Return an image scale factor as well as an Image* from CachedImage::brokenImage()
3428
3429         Reviewed by Darin Adler.
3430
3431         CachedImage::brokenImage() now returns a pair<Image*, float> where the float 
3432         represents the image's scale factor. This is important because currently, the 
3433         broken image will either be only 1x or 2x, but a deviceScaleFactor could 
3434         theoretically be something different (1.5, 3, etc). So it is not safe to assume 
3435         that the image's scale factor is equivalent to the deviceScaleFactor, and 
3436         hardcoding 2 for now is lame.
3437         * loader/cache/CachedImage.cpp:
3438         (WebCore::CachedImage::brokenImage):
3439         (WebCore::CachedImage::image):
3440         * loader/cache/CachedImage.h:
3441         * rendering/RenderImage.cpp:
3442         (WebCore::RenderImage::imageSizeForError):
3443         (WebCore::RenderImage::paintReplaced):
3444
3445 2011-09-14  James Robinson  <jamesr@chromium.org>
3446
3447         [chromium] Move contents texture manager from LayerRendererChromium to CCLayerTreeHost
3448         https://bugs.webkit.org/show_bug.cgi?id=67440
3449
3450         Reviewed by Kenneth Russell.
3451
3452         This moves the contents TextureManager over to the CCLayerTreeHost, where it belongs, and adds in a commit path
3453         to make sure that textures are deleted even if the page is not visible.  This move also removed the need for
3454         LayerRendererChromium's CCLayerTreeHost pointer, so I removed that as well.  That meant moving the
3455         layerTreeAsText() logic over to the CCLayerImpl side, which is where it really belonged anyway.
3456
3457         Covered by existing compositing/ tests and
3458         platform/chromium/compositor/lost-compositor-context-with-rendersurface.html
3459
3460         * platform/graphics/chromium/LayerRendererChromium.cpp:
3461         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
3462         (WebCore::LayerRendererChromium::drawLayers):
3463         (WebCore::LayerRendererChromium::initializeSharedObjects):
3464         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3465         * platform/graphics/chromium/LayerRendererChromium.h:
3466         (WebCore::LayerRendererChromium::setContentsTextureMemoryUseBytes):
3467         * platform/graphics/chromium/TextureManager.cpp:
3468         (WebCore::TextureManager::highLimitBytes):
3469         (WebCore::TextureManager::reclaimLimitBytes):
3470         (WebCore::TextureManager::lowLimitBytes):
3471         * platform/graphics/chromium/TextureManager.h:
3472         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3473         (WebCore::CCLayerTreeHost::initialize):
3474         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
3475         (WebCore::CCLayerTreeHost::deleteContentsTextures):
3476         (WebCore::CCLayerTreeHost::commitTo):
3477         (WebCore::CCLayerTreeHost::setVisible):
3478         (WebCore::CCLayerTreeHost::contentsTextureManager):
3479         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3480         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3481         (WebCore::CCLayerTreeHostImpl::setVisible):
3482         * platform/graphics/chromium/cc/CCProxy.h:
3483         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3484         (WebCore::CCSingleThreadProxy::setNeedsCommit):
3485         (WebCore::CCSingleThreadProxy::stop):
3486         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3487         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3488         (WebCore::CCThreadProxy::setNeedsCommit):
3489         (WebCore::CCThreadProxy::setNeedsCommitOnCCThread):
3490         (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
3491         * platform/graphics/chromium/cc/CCThreadProxy.h:
3492
3493 2011-09-14  David Hyatt  <hyatt@apple.com>
3494
3495         https://bugs.webkit.org/show_bug.cgi?id=68040
3496         
3497         Make sure border image sub-properties can be specified in any order.
3498
3499         Reviewed by Beth Dakin.
3500
3501         New tests in fast/borders.
3502
3503         * css/CSSParser.cpp:
3504         (WebCore::BorderImageParseContext::BorderImageParseContext):
3505         (WebCore::BorderImageParseContext::canAdvance):
3506         (WebCore::BorderImageParseContext::setCanAdvance):
3507         (WebCore::BorderImageParseContext::allowCommit):
3508         (WebCore::BorderImageParseContext::allowImage):
3509         (WebCore::BorderImageParseContext::allowImageSlice):
3510         (WebCore::BorderImageParseContext::allowSlash):
3511         (WebCore::BorderImageParseContext::requireWidth):
3512         (WebCore::BorderImageParseContext::requireOutset):
3513         (WebCore::BorderImageParseContext::commitImage):
3514         (WebCore::BorderImageParseContext::commitImageSlice):
3515         (WebCore::BorderImageParseContext::commitSlash):
3516         (WebCore::BorderImageParseContext::commitBorderWidth):
3517         (WebCore::BorderImageParseContext::commitBorderOutset):
3518         (WebCore::BorderImageParseContext::commitRepeat):
3519         (WebCore::CSSParser::parseBorderImage):
3520         (WebCore::CSSParser::parseBorderImageRepeat):
3521         (WebCore::CSSParser::parseBorderImageSlice):
3522         (WebCore::CSSParser::parseBorderImageQuad):
3523         * css/CSSParserValues.h:
3524         (WebCore::CSSParserValueList::previous):
3525
3526 2011-09-14  Mike Reed  <reed@google.com>
3527
3528         query SystemParametersInfo for GDI font smoothing settings
3529         https://bugs.webkit.org/show_bug.cgi?id=68080
3530
3531         Reviewed by Stephen White.
3532
3533         No new tests. fixes antialiasing issues based on User settings
3534
3535         * platform/graphics/skia/SkiaFontWin.cpp:
3536         (WebCore::getDefaultGDITextFlags):
3537         (WebCore::setupPaintForFont):
3538
3539 2011-09-13  David Hyatt  <hyatt@apple.com>
3540
3541         https://bugs.webkit.org/show_bug.cgi?id=68050
3542         
3543         Regressions in some layout tests from making border/mask/reflection nine-piece-image
3544         parsing match the spec, which allows any of the pieces to be omitted and to also be
3545         specifiable in any order.
3546         
3547         When the higher level code suddenly allowed the image slices to be omitted, the fixup
3548         for legacy compatibility for reflections and masks in the parseBorderImageSlice function
3549         no longer happened because that function no longer got called.
3550         
3551         The fix is to properly set the defaults to include the "fill" keyword, so the fixup is
3552         applied to the NinePieceImages you create before you ever map anything in from the rules.
3553         
3554         This also has the side effect of fixing -webkit-max-box-image-slice to actually dump as
3555         "0 fill" instead of just "0", which is the correct initial value for this property.
3556
3557         Reviewed by Adam Roben.
3558
3559         * css/CSSParser.cpp:
3560         (WebCore::CSSParser::parseBorderImageSlice):
3561         * css/CSSStyleSelector.cpp:
3562         (WebCore::CSSStyleSelector::applyProperty):
3563         * rendering/style/StyleRareNonInheritedData.cpp:
3564         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3565         * rendering/style/StyleReflection.h:
3566         (WebCore::StyleReflection::StyleReflection):
3567
3568 2011-09-13  Pavel Feldman  <pfeldman@google.com>
3569
3570         Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
3571         https://bugs.webkit.org/show_bug.cgi?id=67997
3572
3573         We should not instrument frameDestroyed event from within Frame's destructor
3574         since frame's m_page pointer is likely to be 0 by that time and appropriate
3575         instrumenting agent won't be found. As a result, stale frame with its id
3576         end up in the inspector.
3577
3578         This change wipes out frame binding from the inspector upon detach rather
3579         than destroy.
3580
3581         Reviewed by Tony Gentilcore.
3582
3583         * inspector/InspectorInstrumentation.cpp:
3584         (WebCore::InspectorInstrumentation::frameDetachedImpl):
3585         * inspector/InspectorInstrumentation.h:
3586         * inspector/InspectorPageAgent.cpp:
3587         (WebCore::InspectorPageAgent::frameDetached):
3588         * inspector/InspectorPageAgent.h:
3589         * loader/FrameLoader.cpp:
3590         (WebCore::FrameLoader::detachFromParent):
3591         * page/Frame.cpp:
3592         (WebCore::Frame::~Frame):
3593         (WebCore::Frame::detachFromPage):
3594         * page/Frame.h:
3595
3596 2011-09-14  Pavel Feldman  <pfeldman@google.com>
3597
3598         Not reviewed: rolling out r95089.
3599
3600         * inspector/InspectorInstrumentation.cpp:
3601         (WebCore::InspectorInstrumentation::frameDestroyedImpl):
3602         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3603         * inspector/InspectorInstrumentation.h:
3604         (WebCore::InspectorInstrumentation::frameWindowDiscarded):
3605         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3606         (WebCore::InspectorInstrumentation::loadEventFired):
3607         (WebCore::InspectorInstrumentation::didCommitLoad):
3608         (WebCore::InspectorInstrumentation::frameDestroyed):
3609         * inspector/InspectorPageAgent.cpp:
3610         (WebCore::InspectorPageAgent::frameDetached):
3611         (WebCore::InspectorPageAgent::frameDestroyed):
3612         * inspector/InspectorPageAgent.h:
3613         * page/Frame.cpp:
3614         (WebCore::Frame::~Frame):
3615
3616 2011-09-14  Ilya Tikhonovsky  <loislo@chromium.org>
3617
3618         Web Inspector: requestAnimationFrame callbacks don't show up in the timeline panel.
3619         https://bugs.webkit.org/show_bug.cgi?id=67986
3620
3621         Reviewed by Pavel Feldman.
3622
3623         Test: inspector/timeline/timeline-animation-frame.html
3624
3625         * English.lproj/localizedStrings.js:
3626         * bindings/v8/V8Proxy.cpp:
3627         (WebCore::V8Proxy::callFunction):
3628         (WebCore::V8Proxy::callFunctionWithoutFrame):
3629         (WebCore::V8Proxy::instrumentedCallFunction):
3630         * bindings/v8/V8Proxy.h:
3631         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3632         (WebCore::invokeCallback):
3633         * dom/ScriptedAnimationController.cpp:
3634         (WebCore::ScriptedAnimationController::registerCallback):
3635         (WebCore::ScriptedAnimationController::cancelCallback):
3636         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
3637         * inspector/InspectorInstrumentation.cpp:
3638         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallbackImpl):
3639         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
3640         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
3641         (WebCore::InspectorInstrumentation::didFireAnimationFrameEventImpl):
3642         * inspector/InspectorInstrumentation.h:
3643         (WebCore::InspectorInstrumentation::willCallFunction):
3644         (WebCore::InspectorInstrumentation::didRegisterAnimationFrameCallback):
3645         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallback):
3646         (WebCore::InspectorInstrumentation::willFireAnimationFrameEvent):
3647         (WebCore::InspectorInstrumentation::didFireAnimationFrameEvent):
3648         * inspector/InspectorTimelineAgent.cpp:
3649         (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
3650         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
3651         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
3652         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
3653         * inspector/InspectorTimelineAgent.h:
3654         * inspector/TimelineRecordFactory.cpp:
3655         (WebCore::TimelineRecordFactory::createAnimationFrameCallbackData):
3656         * inspector/TimelineRecordFactory.h:
3657         * inspector/front-end/TimelineAgent.js:
3658         * inspector/front-end/TimelinePanel.js:
3659         (WebInspector.TimelinePanel):
3660         (WebInspector.TimelinePanel.prototype.get _recordStyles):
3661         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3662         (WebInspector.TimelinePanel.prototype._clearPanel):
3663         (WebInspector.TimelinePanel.FormattedRecord):
3664         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3665         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3666
3667 2011-09-13  Pavel Feldman  <pfeldman@google.com>
3668
3669         Web Inspector: InspectorInstrumentation::frameDestroyed is called after m_page has been reset.
3670         https://bugs.webkit.org/show_bug.cgi?id=67997
3671
3672         We should not instrument frameDestroyed event from within Frame's destructor
3673         since frame's m_page pointer is likely to be 0 by that time and appropriate
3674         instrumenting agent won't be found. As a result, stale frame with its id
3675         end up in the inspector.
3676
3677         This change wipes out frame binding from the inspector upon detach rather
3678         than destroy + adds an assertion into the inspector agents lookup with 0 page.
3679
3680         Reviewed by Tony Gentilcore.
3681
3682         * inspector/InspectorInstrumentation.cpp:
3683         (WebCore::InspectorInstrumentation::frameDetachedImpl):
3684         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3685         * inspector/InspectorInstrumentation.h:
3686         (WebCore::InspectorInstrumentation::frameWindowDiscarded):
3687         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3688         (WebCore::InspectorInstrumentation::loadEventFired):
3689         (WebCore::InspectorInstrumentation::frameDetached):
3690         (WebCore::InspectorInstrumentation::didCommitLoad):
3691         * inspector/InspectorPageAgent.cpp:
3692         (WebCore::InspectorPageAgent::frameDetached):
3693         * inspector/InspectorPageAgent.h:
3694         * loader/FrameLoader.cpp:
3695         (WebCore::FrameLoader::detachFromParent):
3696         * page/Frame.cpp:
3697         (WebCore::Frame::~Frame):
3698         (WebCore::Frame::detachFromPage):
3699         (WebCore::Frame::transferChildFrameToNewDocument):
3700         * page/Frame.h:
3701
3702 2011-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3703
3704         Unreviewed, rolling out r95080.
3705         http://trac.webkit.org/changeset/95080
3706         https://bugs.webkit.org/show_bug.cgi?id=68070
3707
3708         It caused some 2d.composite.uncovered tests fail (Requested by
3709         rgabor on #webkit).
3710
3711         * html/canvas/CanvasRenderingContext2D.cpp:
3712         (WebCore::CanvasRenderingContext2D::clearCanvas):
3713         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
3714
3715 2011-09-13  Pavel Feldman  <pfeldman@google.com>
3716
3717         Web Inspector: [v8] building call frame info for location-less internal script function crashes.
3718         https://bugs.webkit.org/show_bug.cgi?id=67991
3719
3720         Reviewed by Yury Semikhatsky.
3721
3722         Test: inspector/debugger/debugger-pause-in-internal.html
3723
3724         * bindings/v8/DebuggerScript.js:
3725         ():
3726         * bindings/v8/ScriptDebugServer.cpp:
3727         (WebCore::ScriptDebugServer::currentCallFrame):
3728
3729 2011-09-14  Ben Wells  <benwells@chromium.org>
3730
3731         Large canvas fills should not crash or create unnecessarily large image buffers
3732         https://bugs.webkit.org/show_bug.cgi?id=67988
3733
3734         When using source-in, destination-in, source-out, or destination-atop a temporary
3735         buffer is created. This buffer only needs to be big enough to cover the intersection
3736         of the path and the canvas.
3737
3738         This change also adds some null checks for failures to create contexts or buffers.
3739
3740         Reviewed by Stephen White.
3741
3742         Test: fast/canvas/canvas-large-fills.html
3743
3744         * html/canvas/CanvasRenderingContext2D.cpp:
3745         (WebCore::CanvasRenderingContext2D::clearCanvas):
3746         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
3747
3748 2011-09-14  Kentaro Hara  <haraken@google.com>
3749
3750         Implement a PageTransitionEvent constructor for JSC
3751         https://bugs.webkit.org/show_bug.cgi?id=68048
3752
3753         Reviewed by Sam Weinig.
3754
3755         The spec for the PageTransitionEvent constructor is here:
3756         http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent
3757
3758         Test: fast/events/constructors/page-transition-event-constructor.html
3759
3760         * bindings/generic/EventConstructors.h: Added a definition for the PageTransitionEvent constructor.
3761         * bindings/js/JSEventConstructors.cpp: Added #includes for PageTransitionEvent.
3762         * dom/PageTransitionEvent.cpp:
3763         (WebCore::PageTransitionEventInit::PageTransitionEventInit):
3764         (WebCore::PageTransitionEvent::PageTransitionEvent):
3765         (WebCore::PageTransitionEvent::initPageTransitionEvent):
3766         * dom/PageTransitionEvent.h: Added a definition for PageTransitionEventInit.
3767         (WebCore::PageTransitionEvent::create):
3768         (WebCore::PageTransitionEvent::isPageTransitionEvent):
3769         (WebCore::PageTransitionEvent::persisted):
3770         * dom/PageTransitionEvent.idl: Makes PageTransitionEvent constructible.
3771
3772 2011-09-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3773
3774         Unreviewed, rolling out r95058.
3775         http://trac.webkit.org/changeset/95058
3776         https://bugs.webkit.org/show_bug.cgi?id=68058
3777
3778         It made css3/calc/regression-62276.html crash (Requested by
3779         Ossy on #webkit).
3780
3781         * css/CSSParser.cpp:
3782         (WebCore::BorderImageParseContext::BorderImageParseContext):
3783         (WebCore::BorderImageParseContext::allowBreak):
3784         (WebCore::BorderImageParseContext::allowWidth):
3785         (WebCore::BorderImageParseContext::allowOutset):
3786         (WebCore::BorderImageParseContext::allowRepeat):
3787         (WebCore::BorderImageParseContext::commitImage):
3788         (WebCore::BorderImageParseContext::commitImageSlice):
3789         (WebCore::BorderImageParseContext::commitSlash):
3790         (WebCore::BorderImageParseContext::commitBorderWidth):
3791         (WebCore::BorderImageParseContext::commitBorderOutset):
3792         (WebCore::BorderImageParseContext::commitRepeat):
3793         (WebCore::CSSParser::parseBorderImage):
3794         (WebCore::CSSParser::parseBorderImageRepeat):
3795         (WebCore::CSSParser::parseBorderImageSlice):
3796         (WebCore::CSSParser::parseBorderImageQuad):
3797         * css/CSSParserValues.h:
3798
3799 2011-09-13  Abhishek Arya  <inferno@chromium.org>
3800
3801         Crash in RenderScrollbarPart::imageChanged.
3802         https://bugs.webkit.org/show_bug.cgi?id=68009
3803
3804         Reviewed by Simon Fraser.
3805
3806         When a custom scrollbar is removed from its FrameView, its destruction
3807         can be delayed because of RefPtr maintained in EventHandler class
3808         (m_lastScrollbarUnderMouse). Upon removal, we delete all the scrollbar
3809         parts so that they don't link back to scrollbar. However, because of the
3810         delay, we can have a call to updateScrollbarPart which recreates it.
3811         When scrollbar is getting destroyed, we just check to see if there are
3812         remaining scrollbar parts and if yes, we destroy them.
3813
3814         Test: scrollbars/scrollbar-part-created-with-no-parent-crash.html
3815
3816         * rendering/RenderScrollbar.cpp:
3817         (WebCore::RenderScrollbar::~RenderScrollbar):
3818
3819 2011-09-13  Adam Klein  <adamk@chromium.org>
3820
3821         Fix cssText property of counter-valued CSSPrimitiveValue and avoid uninitialized read
3822         https://bugs.webkit.org/show_bug.cgi?id=68021
3823
3824         Reviewed by Tony Chang.
3825
3826         Reported by valgrind in http://crbug.com/60653.
3827
3828         Besides fixing the uninitialized read, add support for outputting the
3829         list separator for counters() calls and the list-style name.
3830
3831         Test: fast/css/counters/counter-cssText.html
3832
3833         * css/CSSPrimitiveValue.cpp:
3834         (WebCore::CSSPrimitiveValue::cssText):
3835
3836 2011-09-13  Kenichi Ishibashi  <bashi@chromium.org>
3837
3838         WebFont followed tiny monospace text displays weird
3839         https://bugs.webkit.org/show_bug.cgi?id=67996
3840
3841         Reviewed by Darin Adler.
3842
3843         Always call wkSetCGFontRenderingMode() in Font::drawGlyphs() so that the rendering mode is set correctly.
3844
3845         Test: platform/mac/fast/text/webfont-after-tiny-monospace-text.html
3846
3847         * platform/graphics/mac/FontMac.mm:
3848         (WebCore::Font::drawGlyphs):
3849
3850 2011-09-13  Tom Sepez  <tsepez@chromium.org>
3851
3852         Fix XSS auditor bypass when inline handlers contain comments.
3853         https://bugs.webkit.org/show_bug.cgi?id=27895
3854
3855         Reviewed by Adam Barth.
3856
3857         Tests: http/tests/security/xssAuditor/property-escape-comment.html
3858                http/tests/security/xssAuditor/property-escape-entity.html
3859                http/tests/security/xssAuditor/property-escape-quote.html
3860
3861         * html/parser/XSSAuditor.cpp:
3862         (WebCore::XSSAuditor::snippetForAttribute):
3863
3864 2011-09-13  Kentaro Hara  <haraken@google.com>
3865
3866         Implement a HashChangeEvent constructor for V8
3867         https://bugs.webkit.org/show_bug.cgi?id=67969
3868
3869         Reviewed by Nate Chapin.
3870
3871         Test: fast/events/constructors/hash-change-event-constructor.html
3872
3873         * bindings/v8/custom/V8EventConstructors.cpp: Added the HashChangeEvent constructor.
3874         * dom/HashChangeEvent.idl: Added a 'V8CustomConstructor' attribute.
3875
3876 2011-09-13  Jeremy Apthorp  <jeremya@google.com>
3877
3878         Fix crash when an iframe element is removed during a transition to
3879         fullscreen.
3880         https://bugs.webkit.org/show_bug.cgi?id=67960
3881
3882         Reviewed by Adam Barth.
3883
3884         Test: fullscreen/full-screen-remove-ancestor-during-transition.html
3885
3886         * dom/Document.cpp:
3887         (WebCore::Document::~Document):
3888         Clear the list of elements to which we need to send a fullscreenchange
3889         event.
3890
3891 2011-09-13  David Hyatt  <hyatt@apple.com>
3892
3893         https://bugs.webkit.org/show_bug.cgi?id=68040
3894         
3895         Make sure border image sub-properties can be specified in any order.
3896
3897         Reviewed by Beth Dakin.
3898
3899         New tests in fast/borders.
3900
3901         * css/CSSParser.cpp:
3902         (WebCore::BorderImageParseContext::BorderImageParseContext):
3903         (WebCore::BorderImageParseContext::canAdvance):
3904         (WebCore::BorderImageParseContext::setCanAdvance):
3905         (WebCore::BorderImageParseContext::allowCommit):
3906         (WebCore::BorderImageParseContext::allowImage):
3907         (WebCore::BorderImageParseContext::allowImageSlice):
3908         (WebCore::BorderImageParseContext::allowSlash):
3909         (WebCore::BorderImageParseContext::requireWidth):
3910         (WebCore::BorderImageParseContext::requireOutset):
3911         (WebCore::BorderImageParseContext::commitImage):
3912         (WebCore::BorderImageParseContext::commitImageSlice):
3913         (WebCore::BorderImageParseContext::commitSlash):
3914         (WebCore::BorderImageParseContext::commitBorderWidth):
3915         (WebCore::BorderImageParseContext::commitBorderOutset):
3916         (WebCore::BorderImageParseContext::commitRepeat):
3917         (WebCore::CSSParser::parseBorderImage):
3918         (WebCore::CSSParser::parseBorderImageRepeat):
3919         (WebCore::CSSParser::parseBorderImageSlice):
3920         (WebCore::CSSParser::parseBorderImageQuad):
3921         * css/CSSParserValues.h:
3922         (WebCore::CSSParserValueList::previous):
3923
3924 2011-09-13  Jeff Miller  <jeffm@apple.com>
3925
3926         WebCore::Cursor::ensurePlatformCursor() should always set a valid platform cursor on Windows
3927         https://bugs.webkit.org/show_bug.cgi?id=68043
3928         
3929         Make sure we set a valid platform cursor in the Cursor::NoDrop case, and add a default
3930         clause that uses the arrow cursor in case another cursor type is added in the future
3931         and we forget to update ensurePlatformCursor().
3932
3933         Reviewed by Anders Carlsson.
3934
3935         * platform/win/CursorWin.cpp:
3936         (WebCore::Cursor::ensurePlatformCursor): Always set a valid platform cursor.
3937
3938 2011-09-12  Jon Honeycutt  <jhoneycutt@apple.com>
3939
3940         MSAA: WebKit reports the document state as disabled
3941         https://bugs.webkit.org/show_bug.cgi?id=67974
3942         <rdar://problem/10095898>
3943
3944         Reviewed by Brian Weinstein.
3945
3946         Test: platform/win/accessibility/document-enabled-state.html
3947
3948         * accessibility/AccessibilityScrollView.h:
3949         (WebCore::AccessibilityScrollView::isEnabled):
3950         This object backs the AccessibleDocument on Windows - always return
3951         true for its enabled state.
3952
3953 2011-08-11  Cris Neckar  <cdn@chromium.org>
3954
3955         Fixes several bugs when adding CounterNodes to a tree which can cause asymetrical relationships.
3956         https://bugs.webkit.org/show_bug.cgi?id=65996
3957
3958         Reviewed by Eric Seidel.
3959
3960         Test: fast/css/counters/counter-reparent-table-children-crash.html
3961
3962         * rendering/CounterNode.cpp:
3963         (WebCore::CounterNode::insertAfter):
3964         * rendering/RenderCounter.cpp:
3965         (WebCore::findPlaceForCounter):
3966         (WebCore::makeCounterNode):
3967
3968 2011-09-13  Beth Dakin  <bdakin@apple.com>
3969
3970         Adding a comment I forgot to add before.
3971
3972         * rendering/RenderImage.cpp:
3973         (WebCore::RenderImage::imageSizeForError):
3974
3975 2011-09-13  Antti Koivisto  <antti@apple.com>
3976
3977         Move identifier filter from CSSStyleSelector to SelectorChecker
3978         https://bugs.webkit.org/show_bug.cgi?id=68025
3979
3980         Reviewed by Sam Weinig.
3981
3982         This is a more logical place for this code. It also makes CSSStyleSelector slightly less bloated. 
3983         It will make it possible to use fastRejectSelector for querySelectorAll in the future.
3984
3985         * css/CSSStyleSelector.cpp:
3986         (WebCore::loadViewSourceStyle):
3987         (WebCore::CSSStyleSelector::matchRulesForList):
3988         (WebCore::RuleData::RuleData):
3989         * css/CSSStyleSelector.h:
3990         (WebCore::CSSStyleSelector::pushParent):
3991         (WebCore::CSSStyleSelector::popParent):
3992         * css/SelectorChecker.cpp:
3993         (WebCore::collectElementIdentifierHashes):
3994         (WebCore::SelectorChecker::pushParentStackFrame):
3995         (WebCore::SelectorChecker::popParentStackFrame):
3996         (WebCore::SelectorChecker::pushParent):
3997         (WebCore::SelectorChecker::popParent):
3998         (WebCore::collectDescendantSelectorIdentifierHashes):
3999         (WebCore::SelectorChecker::collectIdentifierHashes):
4000         * css/SelectorChecker.h:
4001         (WebCore::SelectorChecker::parentStackIsConsistent):
4002         (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
4003         (WebCore::SelectorChecker::fastRejectSelector):
4004
4005 2011-09-13  Kiyoto Tamura  <owenestea@gmail.com>
4006
4007         For compatibility, execCommand should support deprecated 'useCSS' alias for 'styleWithCSS'
4008         https://bugs.webkit.org/show_bug.cgi?id=36683
4009
4010         Reviewed by Ryosuke Niwa.
4011
4012         In addition to supporting the deprecated 'useCSS', 'styleWithCSS' now accepts any argument other than
4013         the boolean false or the case-insensitive string "false". This is per
4014         http://aryeh.name/spec/editing/editing.html#the-stylewithcss-command
4015
4016         Tests: editing/execCommand/style-with-css.html
4017                editing/execCommand/use-css.html
4018
4019         * editing/EditorCommand.cpp:
4020         (WebCore::executeStyleWithCSS):
4021         (WebCore::executeUseCSS):
4022         (WebCore::createCommandMap):
4023
4024 2011-09-13  Anders Carlsson  <andersca@apple.com>
4025
4026         Disable C++ exceptions when building with clang
4027         https://bugs.webkit.org/show_bug.cgi?id=68031
4028         <rdar://problem/9556880>
4029
4030         Reviewed by Mark Rowe.
4031
4032         * Configurations/Base.xcconfig:
4033
4034 2011-09-13  Beth Dakin  <bdakin@apple.com>
4035
4036         https://bugs.webkit.org/show_bug.cgi?id=67885
4037         Outline for the high-resolution broken image icon draws at 2x
4038         -and corresponding-
4039         <rdar://problem/10104637>
4040
4041         Reviewed by Dan Bernstein.
4042
4043         Scaled the image size to account for the deviceScaleFactor. 
4044         * rendering/RenderImage.cpp:
4045         (WebCore::RenderImage::imageSizeForError):
4046
4047 2011-09-13  Tim Horton  <timothy_horton@apple.com>
4048
4049         REGRESSION (64275): Shape pattern-image fill turns black
4050         https://bugs.webkit.org/show_bug.cgi?id=51061
4051         <rdar://problem/8504705>
4052
4053         Reviewed by Simon Fraser.
4054
4055         When destroying a resource, register clients who are losing their
4056         resource as having pending resources, so they can be resolved in the case a
4057         resource with that id is re-registered.
4058
4059         Test: svg/custom/pending-resource-after-removal.xhtml
4060
4061         * rendering/svg/SVGResourcesCache.cpp:
4062         (WebCore::SVGResourcesCache::resourceDestroyed):
4063         * svg/SVGStyledElement.h:
4064         (WebCore::toSVGStyledElement): Added.
4065
4066 2011-09-13  Eric Seidel  <eric@webkit.org>
4067
4068         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
4069         https://bugs.webkit.org/show_bug.cgi?id=68018
4070
4071         Reviewed by Ryosuke Niwa.
4072
4073         * Configurations/FeatureDefines.xcconfig:
4074         * DerivedSources.make:
4075         * GNUmakefile.am:
4076         * WebCore.exp.in:
4077         * dom/DOMImplementation.cpp:
4078         (WebCore::isSVG10Feature):
4079         (WebCore::isSVG11Feature):
4080         * dom/Text.cpp:
4081         (WebCore::Text::createRenderer):
4082         * features.pri:
4083         * page/DOMWindow.idl:
4084         * rendering/svg/RenderSVGForeignObject.cpp:
4085         * rendering/svg/RenderSVGForeignObject.h:
4086         * svg/SVGAnimateMotionElement.cpp:
4087         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
4088         * svg/SVGForeignObjectElement.cpp:
4089         * svg/SVGForeignObjectElement.h:
4090         * svg/SVGForeignObjectElement.idl:
4091         * svg/SVGLocatable.cpp:
4092         (WebCore::isViewportElement):
4093         * svg/SVGSVGElement.cpp:
4094         (WebCore::SVGSVGElement::isOutermostSVG):
4095         * svg/SVGUseElement.cpp:
4096         (WebCore::isDisallowedElement):
4097         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
4098         * svg/svgtags.in:
4099
4100 2011-09-13  Joseph Pecoraro  <joepeck@webkit.org>
4101
4102         CRASH under WebCore::ArchiveResourceCollection::addAllResources loading WebArchive
4103         https://bugs.webkit.org/show_bug.cgi?id=67983
4104
4105         Reviewed by Darin Adler.
4106
4107         Null mimetypes are okay for subresources, but as previously discovered
4108         in bug 41082 they were required for main resources. Here we ensure
4109         that they are required for main resources, but we allow null mimetypes
4110         for subresources.
4111
4112         To fix a crash for bad input we never add a null ArchiveResource to the
4113         Archive's subresource collection. It is useless and causes crashes whenever
4114         someone iterates the Archive's subresource collection.
4115
4116         Test: webarchive/loading/test-loading-archive-subresource-null-mimetype.html
4117
4118         * loader/archive/cf/LegacyWebArchive.cpp:
4119         (WebCore::LegacyWebArchive::createResource):
4120         Allow a null mimetype, just type check from the dictionary.
4121
4122         (WebCore::LegacyWebArchive::extract):
4123         Require a mimetype for the main resource. Do not add null
4124         subresources to the subresource list.
4125
4126 2011-09-13  Mihai Parparita  <mihaip@chromium.org>
4127
4128         [Chromium] Remove javascript_engine from WebCore.gyp
4129         https://bugs.webkit.org/show_bug.cgi?id=68001
4130
4131         Reviewed by Tony Chang.
4132
4133         Remove javascript_engine GYP variable (similar to the removal done on
4134         the Chromium side with http://crrev.com/100692)
4135
4136         * WebCore.gyp/WebCore.gyp:
4137
4138 2011-09-12  Ryosuke Niwa  <rniwa@webkit.org>
4139
4140         [CSS3 Backgrounds and Borders] Add unprefixed border-image shorthand.
4141         https://bugs.webkit.org/show_bug.cgi?id=67970
4142
4143         Reviewed by David Hyatt.
4144
4145         Also update CSSStyleSelector.cpp to support border-image to suppress assertion in
4146         fast/borders/border-image-omit-right-slice.html
4147
4148         * css/CSSStyleSelector.cpp:
4149         (WebCore::CSSStyleSelector::applyProperty):
4150         (WebCore::CSSStyleSelector::mapNinePieceImage):
4151
4152 2011-09-13  Xianzhu Wang  <wangxianzhu@chromium.org>
4153
4154         Reviewed by Darin Adler.
4155
4156         Webkit wraps between hyphen-minus and numeric characters 
4157         https://bugs.webkit.org/show_bug.cgi?id=20677
4158
4159         Disallow wrapping between a hyphen-minus and a digit if the hyphen-minus
4160         is not directly after a digit or a letter.
4161
4162         Test: fast/text/line-breaks-after-hyphen-before-number.html
4163
4164         * rendering/break_lines.cpp:
4165         (WebCore::asciiLineBreakTable): Disabled line-breaking after '-' and before '.', '0'-'9'. Note: the change for '0'-'9' doesn't really matter because the case is handled hard-coded in shouldBreakAfter().
4166         (WebCore::shouldBreakAfter): Changed line-breaking behavior after '-'.
4167         (WebCore::nextBreakablePosition): Passes lastLastCh to shouldBreakAfter. 
4168
4169 2011-09-13  Erik Wright  <erikwright@chromium.org>
4170
4171         platform/graphics/gtk/FontGtk.cpp was renamed to platform/graphics/pango/FontPango.cpp . Reflect this change in WebCore.gypi to fix a Chromium build breakage.
4172         https://bugs.webkit.org/show_bug.cgi?id=68000
4173
4174         Reviewed by Tony Gentilcore.
4175
4176         No change in functionality, thus no new tests.
4177
4178         * WebCore.gypi:
4179
4180 2011-09-10  Mikhail Naganov  <mnaganov@chromium.org>
4181
4182         Web Inspector: Profiler: Fix overlapping data in function names column.
4183         https://bugs.webkit.org/show_bug.cgi?id=67896
4184
4185         Reviewed by Pavel Feldman.
4186
4187         * inspector/front-end/ProfileDataGridTree.js:
4188         (WebInspector.ProfileDataGridNode.prototype