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