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