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