0afcc932d8a2816344f054b15508989a188b2dcb
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-01  Yael Aharon  <yael.aharon@nokia.com>
2
3         Reviewed by Timothy Hatcher.
4
5         Reloading WebInspector from context menu is closing it instead of reloading.
6         https://bugs.webkit.org/show_bug.cgi?id=32004
7
8         When reloading WebInspector, don't delete its m_page.
9
10         * inspector/InspectorController.cpp:
11         (WebCore::InspectorController::close):
12
13 2009-12-01  Steve Block  <steveblock@google.com>
14
15         Reviewed by Dimitri Glazkov.
16
17         Adds V8 bindings for Geolocation.
18         https://bugs.webkit.org/show_bug.cgi?id=30206
19
20         Also adds Geolocation files to Chrome build files.
21
22         * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
23         * WebCore.gypi: Modified. Adds Geolocation files.
24         * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
25         * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
26         * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
27         * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
28         * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
29         * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
30         * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
31         (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
32         (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
33         (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
34         * bindings/v8/custom/V8CustomPositionCallback.h: Added.
35         (WebCore::V8CustomPositionCallback::create): Added. Factory method.
36         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
37         (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
38         (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
39         (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
40         * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
41         (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
42         * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
43         (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
44         (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
45         (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
46         (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
47
48 2009-12-01  Yury Semikhatsky  <yurys@chromium.org>
49
50         Reviewed by Adam Barth.
51
52         Provide a way to get ScriptState for the inspected page.
53
54         https://bugs.webkit.org/show_bug.cgi?id=32020
55
56         * bindings/v8/ScriptController.cpp:
57         (WebCore::ScriptController::mainWorldScriptState):
58         * bindings/v8/ScriptController.h:
59         * bindings/v8/ScriptState.cpp:
60         (WebCore::scriptStateFromPage):
61
62 2009-12-01  Chris Marrin  <cmarrin@apple.com>
63
64         Reviewed by Adam Roben.
65
66         Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
67         https://bugs.webkit.org/show_bug.cgi?id=30778
68
69         * platform/graphics/mac/GraphicsContext3DMac.cpp:
70         (WebCore::GraphicsContext3D::getProgramInfoLog):
71         (WebCore::GraphicsContext3D::getShaderInfoLog):
72         (WebCore::GraphicsContext3D::getShaderSource):
73         (WebCore::imageToTexture):
74
75 2009-12-01  Mads Ager  <ager@chromium.org>
76
77         Reviewed by Eric Seidel.
78
79         [V8] Don't crash in DOMWindow event getter in OOM situations
80         https://bugs.webkit.org/show_bug.cgi?id=32017
81
82         Add missing null handle checks in DOMWindow event property
83         accessors.  V8Proxy::context(frame) can return a null handle in
84         OOM situations either if failing to initialize a context or if an
85         OOM is handled gracefully and javascript is disabled.
86
87         No new tests because we don't have a good way to test
88         out-of-memory bugs.
89
90         * bindings/v8/custom/V8DOMWindowCustom.cpp:
91         (WebCore::ACCESSOR_GETTER):
92         (WebCore::ACCESSOR_SETTER):
93
94 2009-12-01  Chris Marrin  <cmarrin@apple.com>
95
96         Reviewed by Oliver Hunt.
97
98         Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
99         https://bugs.webkit.org/show_bug.cgi?id=31672
100
101         * html/HTMLCanvasElement.cpp:
102         (WebCore::HTMLCanvasElement::getContext):
103
104 2009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
105
106         Not reviewed: chromium build fix, added missing import.
107
108         * inspector/InspectorFrontendHost.cpp:
109
110 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
111
112         Not reviewed: fix windows build via unexcluding generated files from
113         project.
114
115         * WebCore.vcproj/WebCore.vcproj:
116
117 2009-12-01  Mark Rowe  <mrowe@apple.com>
118
119         Stop copying IDL files in to the WebCore framework wrapper.
120
121         * WebCore.xcodeproj/project.pbxproj:
122
123 2009-12-01  Mark Rowe  <mrowe@apple.com>
124
125         Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
126
127         This was probably broken by hand-editing the project file as Xcode itself
128         knows how to keep project files to a backwards-compatible subset of its format.
129
130         * WebCore.xcodeproj/project.pbxproj:
131
132 2009-12-01  Pavel Feldman  <pfeldman@chromium.org>
133
134         Not reviewed: windows build fix (bad vcproj in r51528).
135
136         * WebCore.vcproj/WebCore.vcproj:
137
138 2009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
139
140         Reviewed by Timothy Hatcher.
141
142         Web Inspector: Split InspectorBackend into three parts: backend,
143         injected script host and frontend host.
144         
145         https://bugs.webkit.org/show_bug.cgi?id=31888
146
147         * DerivedSources.make:
148         * GNUmakefile.am:
149         * WebCore.gypi:
150         * WebCore.pro:
151         * WebCore.vcproj/WebCore.vcproj:
152         * WebCore.xcodeproj/project.pbxproj:
153         * WebCoreSources.bkl:
154         * bindings/js/JSBindingsAllInOne.cpp:
155         * bindings/js/JSInspectorBackendCustom.cpp: Removed.
156         * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
157         (WebCore::JSInspectorFrontendHost::search):
158         (WebCore::JSInspectorFrontendHost::setting):
159         (WebCore::JSInspectorFrontendHost::setSetting):
160         * bindings/js/ScriptObject.cpp:
161         (WebCore::ScriptGlobalObject::set):
162         * bindings/js/ScriptObject.h:
163         * bindings/v8/DOMObjectsInclude.h:
164         * bindings/v8/DerivedSourcesAllInOne.cpp:
165         * bindings/v8/ScriptObject.cpp:
166         (WebCore::ScriptGlobalObject::set):
167         * bindings/v8/ScriptObject.h:
168         * bindings/v8/V8Index.cpp:
169         * bindings/v8/V8Index.h:
170         * bindings/v8/custom/V8CustomBinding.h:
171         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
172         (WebCore::CALLBACK_FUNC_DECL):
173         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
174         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
175         (WebCore::CALLBACK_FUNC_DECL):
176         * inspector/InjectedScriptHost.cpp: Added.
177         (WebCore::InjectedScriptHost::InjectedScriptHost):
178         (WebCore::InjectedScriptHost::~InjectedScriptHost):
179         (WebCore::InjectedScriptHost::copyText):
180         (WebCore::InjectedScriptHost::nodeForId):
181         (WebCore::InjectedScriptHost::wrapObject):
182         (WebCore::InjectedScriptHost::unwrapObject):
183         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
184         (WebCore::InjectedScriptHost::addNodesToSearchResult):
185         (WebCore::InjectedScriptHost::currentCallFrame):
186         (WebCore::InjectedScriptHost::databaseForId):
187         (WebCore::InjectedScriptHost::selectDatabase):
188         (WebCore::InjectedScriptHost::selectDOMStorage):
189         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
190         (WebCore::InjectedScriptHost::inspectorDOMAgent):
191         (WebCore::InjectedScriptHost::inspectorFrontend):
192         * inspector/InjectedScriptHost.h: Added.
193         (WebCore::InjectedScriptHost::create):
194         (WebCore::InjectedScriptHost::inspectorController):
195         (WebCore::InjectedScriptHost::disconnectController):
196         * inspector/InjectedScriptHost.idl: Added.
197         * inspector/InspectorBackend.cpp:
198         (WebCore::InspectorBackend::InspectorBackend):
199         (WebCore::InspectorBackend::storeLastActivePanel):
200         (WebCore::InspectorBackend::toggleNodeSearch):
201         (WebCore::InspectorBackend::resourceTrackingEnabled):
202         (WebCore::InspectorBackend::debuggerEnabled):
203         (WebCore::InspectorBackend::enableDebugger):
204         (WebCore::InspectorBackend::disableDebugger):
205         (WebCore::InspectorBackend::addBreakpoint):
206         (WebCore::InspectorBackend::updateBreakpoint):
207         (WebCore::InspectorBackend::removeBreakpoint):
208         (WebCore::InspectorBackend::pauseInDebugger):
209         (WebCore::InspectorBackend::resumeDebugger):
210         (WebCore::InspectorBackend::stepOverStatementInDebugger):
211         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
212         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
213         (WebCore::InspectorBackend::pauseOnExceptions):
214         (WebCore::InspectorBackend::setPauseOnExceptions):
215         (WebCore::InspectorBackend::profilerEnabled):
216         (WebCore::InspectorBackend::enableProfiler):
217         (WebCore::InspectorBackend::disableProfiler):
218         (WebCore::InspectorBackend::startProfiling):
219         (WebCore::InspectorBackend::stopProfiling):
220         (WebCore::InspectorBackend::getProfileHeaders):
221         (WebCore::InspectorBackend::getProfile):
222         (WebCore::InspectorBackend::currentCallFrame):
223         (WebCore::InspectorBackend::highlightDOMNode):
224         (WebCore::InspectorBackend::hideDOMNodeHighlight):
225         (WebCore::InspectorBackend::getCookies):
226         (WebCore::InspectorBackend::deleteCookie):
227         (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
228         (WebCore::InspectorBackend::nodeForId):
229         * inspector/InspectorBackend.h:
230         (WebCore::InspectorBackend::create):
231         * inspector/InspectorBackend.idl:
232         * inspector/InspectorController.cpp:
233         (WebCore::InspectorController::InspectorController):
234         (WebCore::InspectorController::~InspectorController):
235         (WebCore::InspectorController::inspectedPageDestroyed):
236         (WebCore::InspectorController::windowScriptObjectAvailable):
237         * inspector/InspectorController.h:
238         (WebCore::InspectorController::inspectorFrontendHost):
239         (WebCore::InspectorController::injectedScriptHost):
240         * inspector/InspectorFrontendHost.cpp: Added.
241         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
242         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
243         (WebCore::InspectorFrontendHost::loaded):
244         (WebCore::InspectorFrontendHost::attach):
245         (WebCore::InspectorFrontendHost::detach):
246         (WebCore::InspectorFrontendHost::closeWindow):
247         (WebCore::InspectorFrontendHost::windowUnloading):
248         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
249         (WebCore::InspectorFrontendHost::moveWindowBy):
250         (WebCore::InspectorFrontendHost::localizedStringsURL):
251         (WebCore::InspectorFrontendHost::hiddenPanels):
252         (WebCore::InspectorFrontendHost::platform):
253         (WebCore::InspectorFrontendHost::port):
254         (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
255         (WebCore::InspectorFrontendHost::addSourceToFrame):
256         * inspector/InspectorFrontendHost.h: Added.
257         (WebCore::InspectorFrontendHost::create):
258         (WebCore::InspectorFrontendHost::inspectorController):
259         (WebCore::InspectorFrontendHost::disconnectController):
260         * inspector/InspectorFrontendHost.idl: Added.
261         * inspector/front-end/Breakpoint.js:
262         (WebInspector.Breakpoint.prototype.set condition):
263         * inspector/front-end/BreakpointsSidebarPane.js:
264         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
265         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
266         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
267         * inspector/front-end/ConsoleView.js:
268         (WebInspector.ConsoleView.prototype.clearMessages):
269         * inspector/front-end/CookieItemsView.js:
270         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
271         * inspector/front-end/DOMAgent.js:
272         (WebInspector.DOMAgent.prototype.getChildNodesAsync):
273         (WebInspector.DOMAgent.prototype.setAttributeAsync):
274         (WebInspector.DOMAgent.prototype.removeAttributeAsync):
275         (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
276         (WebInspector.Cookies.getCookiesAsync):
277         (WebInspector.EventListeners.getEventListenersForNodeAsync):
278         * inspector/front-end/DOMStorage.js:
279         (WebInspector.DOMStorage.prototype.getEntries):
280         (WebInspector.DOMStorage.prototype.setItem):
281         (WebInspector.DOMStorage.prototype.removeItem):
282         * inspector/front-end/Database.js:
283         (WebInspector.Database.prototype.getTableNames):
284         * inspector/front-end/ElementsPanel.js:
285         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
286         (WebInspector.ElementsPanel.prototype.hide):
287         (WebInspector.ElementsPanel.prototype.reset):
288         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
289         (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
290         * inspector/front-end/ElementsTreeOutline.js:
291         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
292         (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
293         ():
294         * inspector/front-end/EventListenersSidebarPane.js:
295         (WebInspector.EventListenersSidebarPane.prototype):
296         * inspector/front-end/InjectedScript.js:
297         (InjectedScript._evaluateAndWrap):
298         (InjectedScript.performSearch.addNodesToResults):
299         (InjectedScript.getCallFrames):
300         (InjectedScript._callFrameForId):
301         (InjectedScript._clearConsoleMessages):
302         (InjectedScript._inspectObject):
303         (InjectedScript._copy):
304         (InjectedScript._ensureCommandLineAPIInstalled):
305         (InjectedScript._window):
306         (InjectedScript._nodeForId):
307         (InjectedScript._objectForId):
308         (InjectedScript.pushNodeToFrontend):
309         (InjectedScript.executeSql):
310         (InjectedScript.executeSql.errorCallback):
311         (InjectedScript.executeSql.queryTransaction):
312         * inspector/front-end/InjectedScriptAccess.js:
313         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
314         (InjectedScriptAccess._installHandler):
315         * inspector/front-end/InspectorBackendStub.js: Added.
316         (.WebInspector.InspectorBackendStub):
317         (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
318         (.WebInspector.InspectorBackendStub.prototype.platform):
319         (.WebInspector.InspectorBackendStub.prototype.port):
320         (.WebInspector.InspectorBackendStub.prototype.closeWindow):
321         (.WebInspector.InspectorBackendStub.prototype.attach):
322         (.WebInspector.InspectorBackendStub.prototype.detach):
323         (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
324         (.WebInspector.InspectorBackendStub.prototype.clearMessages):
325         (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
326         (.WebInspector.InspectorBackendStub.prototype.search):
327         (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
328         (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
329         (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
330         (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
331         (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
332         (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
333         (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
334         (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
335         (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
336         (.WebInspector.InspectorBackendStub.prototype.loaded):
337         (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
338         (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
339         (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
340         (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
341         (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
342         (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
343         (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
344         (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
345         (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
346         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
347         (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
348         (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
349         (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
350         (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
351         (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
352         (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
353         (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
354         (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
355         (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
356         (.WebInspector.InspectorBackendStub.prototype.startProfiling):
357         (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
358         (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
359         (.WebInspector.InspectorBackendStub.prototype.getProfile):
360         (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
361         (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
362         (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
363         (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
364         (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
365         (.WebInspector.InspectorBackendStub.prototype.setSetting):
366         (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
367         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
368         (.WebInspector.InspectorBackendStub.prototype.setting):
369         * inspector/front-end/InspectorControllerStub.js:
370         * inspector/front-end/InspectorFrontendHostStub.js: Added.
371         (.WebInspector.InspectorFrontendHostStub):
372         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
373         (.WebInspector.InspectorFrontendHostStub.prototype.port):
374         (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
375         (.WebInspector.InspectorFrontendHostStub.prototype.attach):
376         (.WebInspector.InspectorFrontendHostStub.prototype.detach):
377         (.WebInspector.InspectorFrontendHostStub.prototype.search):
378         (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
379         (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
380         (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
381         (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
382         (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
383         (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
384         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
385         (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
386         (.WebInspector.InspectorFrontendHostStub.prototype.setting):
387         * inspector/front-end/ProfileView.js:
388         (WebInspector.CPUProfileView):
389         (WebInspector.CPUProfileType.prototype.buttonClicked):
390         * inspector/front-end/ProfilesPanel.js:
391         (WebInspector.ProfilesPanel.prototype._updateInterface):
392         (WebInspector.ProfilesPanel.prototype._enableProfiling):
393         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
394         * inspector/front-end/ResourcesPanel.js:
395         (WebInspector.ResourcesPanel.prototype.reset):
396         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
397         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
398         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
399         * inspector/front-end/ScriptView.js:
400         (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
401         * inspector/front-end/ScriptsPanel.js:
402         (WebInspector.ScriptsPanel.prototype.show):
403         (WebInspector.ScriptsPanel.prototype.addScript):
404         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
405         (WebInspector.ScriptsPanel.prototype.reset):
406         (WebInspector.ScriptsPanel.prototype.canShowResource):
407         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
408         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
409         (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
410         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
411         (WebInspector.ScriptsPanel.prototype._enableDebugging):
412         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
413         (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
414         (WebInspector.ScriptsPanel.prototype._togglePause):
415         (WebInspector.ScriptsPanel.prototype._stepOverClicked):
416         (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
417         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
418         * inspector/front-end/SourceView.js:
419         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
420         (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
421         (WebInspector.SourceView.prototype.performSearch):
422         * inspector/front-end/StylesSidebarPane.js:
423         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
424         * inspector/front-end/TestController.js:
425         (WebInspector.TestController.prototype.notifyDone):
426         * inspector/front-end/TimelinePanel.js:
427         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
428         * inspector/front-end/WatchExpressionsSidebarPane.js:
429         (WebInspector.WatchExpressionsSection.prototype.update):
430         (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
431         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
432         * inspector/front-end/WebKit.qrc:
433         * inspector/front-end/inspector.html:
434         * inspector/front-end/inspector.js:
435         (WebInspector.pendingDispatches.0.get platform):
436         (WebInspector.get port):
437         (WebInspector.set currentPanel):
438         (WebInspector._createPanels):
439         (WebInspector._loadPreferences):
440         (WebInspector.set attached):
441         (WebInspector._updateHoverHighlight):
442         (WebInspector.loaded):
443         (windowLoaded):
444         (WebInspector.windowUnload):
445         (WebInspector.close):
446         (WebInspector.toolbarDrag):
447         (WebInspector.UIString):
448
449 2009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
450
451         Reviewed by Dan Bernstein.
452
453         css2.1/t1205-c566-list-stl-00-e-ag.html is failing
454         https://bugs.webkit.org/show_bug.cgi?id=23264
455         css2.1/t1205-c565-list-pos-00-b.html is failing
456         https://bugs.webkit.org/show_bug.cgi?id=23263
457
458         Ignore whitespaces after list markers.
459         Rendering of this was already done for the case where inside=false.
460         This fixes the rendering of inside=true case and calcInlinePrefWidths.
461
462         Test: fast/lists/calc-width-with-space.html
463
464         * rendering/RenderBlock.cpp:
465         (WebCore::RenderBlock::calcInlinePrefWidths):
466         * rendering/RenderBlockLineLayout.cpp:
467         (WebCore::RenderBlock::findNextLineBreak):
468
469 2009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
470
471         Unreviewed Chromium build fix introduced by r51212
472
473         Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
474         as the first argument.
475         Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
476         Add debuggerWorld() and pluginWorld() in ScriptState.h.
477
478         * bindings/v8/ScriptController.cpp:
479         * bindings/v8/ScriptController.h:
480         * bindings/v8/ScriptState.cpp:
481         (WebCore::scriptStateFromNode):
482         (WebCore::scriptStateFromPage):
483         (WebCore::mainThreadNormalWorld):
484         * bindings/v8/ScriptState.h:
485         (WebCore::debuggerWorld):
486         (WebCore::pluginWorld):
487
488 2009-11-30  Enrica Casucci  <enrica@apple.com>
489
490         Reviewed by Darin Adler.
491
492         Can focus but not type into content editable block that contains only non-editable content.
493         <rdar://problem/5982901>
494         https://bugs.webkit.org/show_bug.cgi?id=31750
495         
496         The goal is to change the way we choose a visible position
497         after hit detection, by preferring a visually equivalent editable
498         position if available. By doing this, it is possible to add content
499         to an editable block that initially contains only non editable elements.
500
501         Test: editing/selection/mixed-editability-10.html
502
503         * WebCore.base.exp: Changed to match the new signature of downstream
504         and upstream in the Position class.
505         * dom/Position.cpp:
506         (WebCore::Position::atEditingBoundary): Added.
507         (WebCore::Position::upstream): Modified to allow to cross the boundary
508         between editable and non editable content if required.
509         (WebCore::Position::downstream): Modified to allow to cross the boundary
510         between editable and non editable content if required.
511         (WebCore::Position::isCandidate): Modified to qualify as candidates positions
512         that are at the editability boundary.
513         (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
514         to be used in calculating the caret rectangle.
515         * dom/Position.h:
516         (WebCore::Position::):
517         * dom/PositionIterator.cpp:
518         (WebCore::PositionIterator::atEditingBoundary): Added.
519         (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
520         that are at the editability boundary.
521         * dom/PositionIterator.h:
522         * editing/htmlediting.cpp:
523         (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
524         descendants of the editable container, but the container itself.
525         (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
526         descendants of the editable container, but the container itself.
527         * rendering/RenderObject.cpp:
528         (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
529         if available.
530         * rendering/RenderText.cpp:
531         (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
532         * rendering/RenderText.h:
533
534 2009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
535
536         wx build fix, add header needed for wx build.
537
538         * css/CSSFontFaceSrcValue.cpp:
539
540 2009-11-30  Mark Rowe  <mrowe@apple.com>
541
542         Reviewed by David Kilzer.
543
544         <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
545
546         The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
547         If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
548         be performed against the x86_64 architecture.
549
550         * DerivedSources.make:
551
552 2009-11-30  Beth Dakin  <bdakin@apple.com>
553
554         Reviewed by Oliver Hunt.
555
556         Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
557         Safari caused by extreme column-gap and column-width values 
558         -and corresponding-
559         <rdar://problem/7425433>
560
561         Prevent desiredColumnCount from being less than 1 since it is used 
562         as a divisor.
563         * rendering/RenderBlock.cpp:
564         (WebCore::RenderBlock::calcColumnWidth):
565
566 2009-11-30  Alexey Proskuryakov  <ap@apple.com>
567
568         Reviewed by Oliver Hunt.
569
570         https://bugs.webkit.org/show_bug.cgi?id=31659
571         Connection must be closed in case of Web Socket handshake error
572
573         The network connection was closed, but the close event wasn't dispatched.
574
575         Tested by websocket/tests/handshake-error.html, which is un-skipped now.
576
577         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
578         Call client didHandle() method. This looks strange in CFNetwork implementation, because
579         it's the client that asked to close the stream, so it shouldn't need the callback. It makes
580         more sense in cross-process implementation, because closing is async there.
581
582 2009-11-30  Gavin Barraclough  <barraclough@apple.com>
583
584         Reviewed by Geoff Garen.
585
586         Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
587
588         WebCore presently has to explicitly specify the world before entering into JSC,
589         which is a little fragile (particularly since property access via a
590         getter/setter might invoke execution). Instead derive the current world from
591         the lexical global object.
592
593         Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
594         currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
595         object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
596         are no longer necessary.
597
598         * WebCore.base.exp:
599         * bindings/js/JSCallbackData.cpp:
600         (WebCore::JSCallbackData::invokeCallback):
601         * bindings/js/JSCallbackData.h:
602         (WebCore::JSCallbackData::JSCallbackData):
603         * bindings/js/JSCustomXPathNSResolver.cpp:
604         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
605         * bindings/js/JSDOMBinding.cpp:
606         (WebCore::currentWorld):
607         (WebCore::mainThreadNormalWorld):
608         * bindings/js/JSDOMBinding.h:
609         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
610         * bindings/js/JSDOMWindowBase.cpp:
611         (WebCore::JSDOMWindowBase::updateDocument):
612         * bindings/js/JSDOMWindowBase.h:
613         * bindings/js/JSEventListener.cpp:
614         (WebCore::JSEventListener::handleEvent):
615         (WebCore::JSEventListener::reportError):
616         * bindings/js/JSHTMLDocumentCustom.cpp:
617         (WebCore::JSHTMLDocument::open):
618         * bindings/js/JSNodeFilterCondition.cpp:
619         (WebCore::JSNodeFilterCondition::acceptNode):
620         * bindings/js/JSQuarantinedObjectWrapper.cpp:
621         (WebCore::JSQuarantinedObjectWrapper::construct):
622         (WebCore::JSQuarantinedObjectWrapper::call):
623         * bindings/js/ScheduledAction.cpp:
624         (WebCore::ScheduledAction::executeFunctionInContext):
625         * bindings/js/ScriptController.cpp:
626         (WebCore::ScriptController::evaluateInWorld):
627         (WebCore::ScriptController::initScript):
628         (WebCore::ScriptController::updateDocument):
629         * bindings/js/ScriptFunctionCall.cpp:
630         (WebCore::ScriptFunctionCall::call):
631         (WebCore::ScriptFunctionCall::construct):
632         * bindings/js/ScriptObjectQuarantine.cpp:
633         (WebCore::getQuarantinedScriptObject):
634         * bindings/js/ScriptState.cpp:
635         (WebCore::scriptStateFromNode):
636         (WebCore::scriptStateFromPage):
637         * bindings/js/ScriptState.h:
638         * bindings/js/WorkerScriptController.cpp:
639         (WebCore::WorkerScriptController::evaluate):
640         * bindings/objc/WebScriptObject.mm:
641         (-[WebScriptObject callWebScriptMethod:withArguments:]):
642         (-[WebScriptObject evaluateWebScript:]):
643         * bridge/NP_jsobject.cpp:
644         (_NPN_InvokeDefault):
645         (_NPN_Invoke):
646         (_NPN_Evaluate):
647         (_NPN_Construct):
648         * bridge/jni/jni_jsobject.mm:
649         (JavaJSObject::call):
650         (JavaJSObject::eval):
651         * dom/NodeFilter.h:
652         (WebCore::NodeFilter::acceptNode):
653         * dom/NodeIterator.h:
654         (WebCore::NodeIterator::nextNode):
655         (WebCore::NodeIterator::previousNode):
656         * dom/TreeWalker.h:
657         (WebCore::TreeWalker::parentNode):
658         (WebCore::TreeWalker::firstChild):
659         (WebCore::TreeWalker::lastChild):
660         (WebCore::TreeWalker::previousSibling):
661         (WebCore::TreeWalker::nextSibling):
662         (WebCore::TreeWalker::previousNode):
663         (WebCore::TreeWalker::nextNode):
664         * inspector/InspectorController.cpp:
665         (WebCore::InspectorController::windowScriptObjectAvailable):
666         (WebCore::InspectorController::didEvaluateForTestInFrontend):
667         * inspector/JavaScriptCallFrame.cpp:
668         (WebCore::JavaScriptCallFrame::evaluate):
669
670 2009-11-30  Eric Carlson  <eric.carlson@apple.com>
671
672         Reviewed by Simon Fraser.
673
674         All HTML5 media element events should be regular events
675         https://bugs.webkit.org/show_bug.cgi?id=30513
676
677         * html/HTMLMediaElement.cpp:
678         (WebCore::HTMLMediaElement::selectMediaResource):
679         (WebCore::HTMLMediaElement::noneSupported):
680         (WebCore::HTMLMediaElement::mediaEngineError):
681         (WebCore::HTMLMediaElement::setNetworkState):
682         (WebCore::HTMLMediaElement::userCancelledLoad):
683             Call scheduleEvent instead of scheduleProgressEvent.
684         (WebCore::HTMLMediaElement::progressEventTimerFired):
685             Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
686             after scheduling a 'progress' event so the controller will update download
687             progress indicator.
688         * html/HTMLMediaElement.h:
689             Remove scheduleProgressEvent prototype.
690
691 2009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
692
693         Reviewed by Pavel Feldman.
694
695         Web Inspector: Wrong console output for Regexp escape sequence
696         https://bugs.webkit.org/show_bug.cgi?id=31538
697
698         Updated inspector/console-format.html
699
700         * inspector/front-end/ConsoleView.js:
701         (WebInspector.ConsoleView.createDividerElement): style issues.
702         (WebInspector.ConsoleView.createFilterElement): style issues.
703         (WebInspector.ConsoleView): added _customFormatters table.
704         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
705         (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
706         (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
707         (WebInspector.ConsoleView.prototype._formatobject):
708         (WebInspector.ConsoleView.prototype._formatnode):
709         (WebInspector.ConsoleView.prototype._printArray):
710         (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
711         (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
712         (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
713         (WebInspector.ConsoleCommandResult):
714         * inspector/front-end/InjectedScript.js: simplified regex formatting.
715         * inspector/front-end/inspector.js:
716         (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
717         * inspector/front-end/utilities.js: 
718         (Element.prototype.hasStyleClass): update inaccurate comment.
719         (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
720
721 2009-11-30  Erik Arvidsson  <arv@chromium.org>
722
723         Reviewed by Adam Barth.
724
725         Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
726         https://bugs.webkit.org/show_bug.cgi?id=31895
727
728         No new tests. This is already covered by:
729                 fast/dom/CSSStyleDeclaration/css-computed-style-item.html
730                 fast/dom/CSSStyleDeclaration/css-style-item.html
731
732         * bindings/v8/V8Collection.h:
733         (WebCore::collectionStringIndexedPropertyGetter):
734         (WebCore::setCollectionStringIndexedGetter):
735         * bindings/v8/V8DOMWrapper.cpp:
736         (WebCore::V8DOMWrapper::getTemplate):
737
738 2009-11-30  Steve Block  <steveblock@google.com>
739
740         Reviewed by Eric Seidel.
741
742         Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
743         https://bugs.webkit.org/show_bug.cgi?id=31932
744
745         Build fix only, no new tests.
746
747         * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
748
749 2009-11-30  Steve Block  <steveblock@google.com>
750
751         Reviewed by Eric Seidel.
752
753         Adds PassOwnPtr include to ScriptExecutionContext.h.
754         https://bugs.webkit.org/show_bug.cgi?id=31929
755
756         Build fix only, no new tests.
757
758         * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
759
760 2009-11-30  Dirk Schulze  <krit@webkit.org>
761
762         Reviewed by Nikolas Zimmermann.
763
764         REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
765         [https://bugs.webkit.org/show_bug.cgi?id=31980]
766
767         It turns out, that we did not handle maskUnits="userSpaceOnUse"
768         correctly. We just need to move the context of the maskImage
769         if maskContentUnits="objectBoundingBox". The context gets scaled
770         on this unit combination, so we have to substract the position of
771         the targetRect. On userSpaceOnUse the position just depends on the
772         position of the mask element.
773         I added a test with some senseless and reasonable values for size
774         and postion of the mask and it's contents. I also used every
775         combination of maskUnits and maskContentUnits to be sure, that it
776         is fixed this time.
777
778         Test: svg/custom/mask-with-all-units.svg
779
780         * svg/SVGMaskElement.cpp:
781         (WebCore::SVGMaskElement::drawMaskerContent):
782
783 2009-11-30  Steve Block  <steveblock@google.com>
784
785         Reviewed by Eric Seidel.
786
787         Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
788         https://bugs.webkit.org/show_bug.cgi?id=31928
789
790         Build fix only, no new tests.
791
792         * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
793
794 2009-11-30  Steve Block  <steveblock@google.com>
795
796         Reviewed by Eric Seidel.
797
798         Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
799         https://bugs.webkit.org/show_bug.cgi?id=31926
800
801         Build fix only, no new tests.
802
803         * bindings/v8/WorkerContextExecutionProxy.cpp:
804         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
805         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
806         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
807
808 2009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
809
810         Reviewed by Kenneth Rohde Christiansen.
811
812         Chrome::contentsSizeChanged() is called when the content size has not changed
813         https://bugs.webkit.org/show_bug.cgi?id=31978
814
815         Do not trigger contentsSizeChaned() is the new size is the same as the old one.
816
817         * page/FrameView.cpp:
818         (WebCore::FrameView::setContentsSize):
819
820 2009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
821
822         Reviewed by Kenneth Rohde Christiansen.
823
824         [Qt] Fix some compiler warnings seen on QtWebKit/Mac
825         https://bugs.webkit.org/show_bug.cgi?id=31962
826
827         No new tests as there is no functional change.
828
829         * platform/network/ResourceHandle.h: Make destructor virtual as 
830         after r50772 ResourceHandle has virtual functions.
831
832         * plugins/mac/PluginPackageMac.cpp: 
833         (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
834         not a label
835
836         * plugins/mac/PluginViewMac.cpp:
837         (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
838         specifier
839
840 2009-11-30  Xan Lopez  <xlopez@igalia.com>
841
842         Reviewed by Gustavo Noronha.
843
844         Add new headers to sources list.
845
846         * GNUmakefile.am:
847
848 2009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
849
850         Reviewed by Holger Freyther.
851
852         [Qt] Mac Plugins : Get context menu to work in QGraphicsView
853         
854         Flash expects the value in record.where to be the global position for
855         displaying the context menu.
856         
857         https://bugs.webkit.org/show_bug.cgi?id=31979
858
859         * plugins/mac/PluginViewMac.cpp:
860         (WebCore::PluginView::handleMouseEvent):
861
862 2009-11-30  Steve Block  <steveblock@google.com>
863
864         Reviewed by Eric Seidel.
865
866         Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
867         https://bugs.webkit.org/show_bug.cgi?id=31925
868
869         This code uses ChromiumBridge and Chromium-specific constant values not
870         appropriate for other platforms such as Android.
871
872         Build fix only, no new tests.
873
874         * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
875
876 2009-11-29  Brent Fulgham  <bfulgham@webkit.org>
877
878         Build fix.
879
880         Correct draw signature used in ImageCairoWin.cpp.
881
882         * platform/graphics/win/ImageCairoWin.cpp:
883         (WebCore::BitmapImage::getHBITMAPOfSize):
884         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
885
886 2009-11-28  Oliver Hunt  <oliver@apple.com>
887
888         Reviewed by Sam Weinig.
889
890         postMessage should serialize File objects
891         https://bugs.webkit.org/show_bug.cgi?id=31955
892
893         Update SerializedScriptValue to include support for
894         File objects in the serialized object graph.
895
896         * bindings/js/SerializedScriptValue.cpp:
897         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
898         (WebCore::SerializingTreeWalker::convertIfTerminal):
899         (WebCore::DeserializingTreeWalker::convertIfTerminal):
900         * bindings/js/SerializedScriptValue.h:
901         (WebCore::SerializedScriptValueData::):
902         (WebCore::SerializedScriptValueData::asString):
903
904 2009-11-29  Simon Fraser  <simon.fraser@apple.com>
905
906         Reviewed by Dan Bernstein.
907
908         Optimize the hierarchy rebuilding of compositing layers
909         https://bugs.webkit.org/show_bug.cgi?id=31879
910         
911         When updating the compositing layer hierarchy, instead of removing all
912         child layers and then re-adding them one by one, build a vector of child
913         layers, and set them in one go.
914         
915         * platform/graphics/GraphicsLayer.h:
916         * platform/graphics/GraphicsLayer.cpp:
917         (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
918         GraphicsLayers.
919         
920         * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
921         * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
922         * platform/graphics/mac/GraphicsLayerCA.mm: 
923         (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
924         set the bit that notes that sublayers changed.
925         * platform/graphics/win/GraphicsLayerCACF.cpp:
926         (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
927         udpate sublayers, with a note that this is not efficient.
928         
929         * rendering/RenderLayerCompositor.h:
930         * rendering/RenderLayerCompositor.cpp:
931         (WebCore::RenderLayerCompositor::updateCompositingLayers):
932         When updating compositing layers, use the faster updateLayerTreeGeometry() if
933         we know that no layer hierarchy changes are needed, and, at the root, use
934         the vector returned from rebuildCompositingLayerTree() to attach the root
935         layer.
936         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
937         collect child layers into Vectors of GraphicsLayers, which can be set as
938         layer children in one go.
939         (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
940         rebuildCompositingLayerTree() for simplicity, and called when we just need to
941         update layer geometry, without doing any reparenting.
942
943 2009-11-29  Daniel Bates  <dbates@webkit.org>
944
945         Reviewed by Adam Barth.
946
947         https://bugs.webkit.org/show_bug.cgi?id=31971
948
949         Updated comment to reflect latest XSSAuditor bindings.
950
951         No functionality was changed. So, no new tests.
952
953         * page/XSSAuditor.h:
954
955 2009-11-29  Daniel Bates  <dbates@webkit.org>
956
957         Reviewed by Eric Seidel.
958
959         https://bugs.webkit.org/show_bug.cgi?id=31969
960
961         Removes unnecessary #include files.
962
963         No functionality was changed. So, no new tests.
964
965         * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
966         Pair.h
967         * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
968         * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
969         * css/CSSFontSelector.cpp: Removed include NodeList.h
970         * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
971         * css/CSSImageValue.cpp: Removed include RenderStyle.h
972         * css/CSSImportRule.cpp: Removed include MediaList.h
973         * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
974         * css/CSSRule.cpp: Removed include CSSStyleSheet.h
975         * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
976         CSSFontFaceSource.h, and CSSProperty.h
977         * page/EventSource.h: Removed include EventListener.h
978
979 2009-11-29  Daniel Bates  <dbates@webkit.org>
980
981         Reviewed by Eric Seidel.
982
983         https://bugs.webkit.org/show_bug.cgi?id=31965
984
985         Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
986         forward declared it.
987
988         As a side effect, we need to #include KeyframeList.h in
989         RenderLayerBacking.cpp.
990
991         No functionality was changed. So, no new tests.
992
993         * css/CSSStyleSelector.cpp:
994         * css/CSSStyleSelector.h: Removed #include KeyframeList.h
995         * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
996
997 2009-11-29  Shu Chang  <Chang.Shu@nokia.com>
998
999         Reviewed by Eric Seidel.
1000
1001         Continue to search for matching node in the case where multiple nodes
1002         have the same id.
1003         https://bugs.webkit.org/show_bug.cgi?id=31428
1004
1005         Test: fast/dom/Element/id-in-node-list-index01.html
1006
1007         * dom/DynamicNodeList.cpp:
1008         (WebCore::DynamicNodeList::itemWithName):
1009
1010 2009-11-29  Daniel Bates  <dbates@webkit.org>
1011
1012         Reviewed by Eric Seidel.
1013
1014         https://bugs.webkit.org/show_bug.cgi?id=31966
1015
1016         Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
1017         forward declared it.
1018
1019         No functionality was changed. So, no new tests.
1020
1021         * page/animation/KeyframeAnimation.cpp:
1022         * page/animation/KeyframeAnimation.h:
1023
1024 2009-11-29  Daniel Bates  <dbates@webkit.org>
1025
1026         Unreviewed, fix change log entry date.
1027
1028         For some reason, bugzilla-tool did not update the date in the change
1029         log entry for my last commit (r51468). So, this commit fixes the date
1030         of that entry.
1031
1032 2009-11-29  Daniel Bates  <dbates@webkit.org>
1033
1034         Reviewed by Dan Bernstein.
1035
1036         https://bugs.webkit.org/show_bug.cgi?id=31964
1037
1038         Removed #include StringImpl, StyleImage. Instead, forward declared them.
1039         Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
1040         since it seems we only really used it to include PassRefPtr.h.
1041
1042         No functionality was changed. So, no new tests.
1043
1044         * rendering/style/ContentData.h:
1045
1046 2009-11-29  Zoltan Horvath  <zoltan@webkit.org>
1047
1048         Reviewed by Eric Seidel.
1049
1050         Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
1051         https://bugs.webkit.org/show_bug.cgi?id=31906
1052
1053         Inherits the following classes from Noncopyable because these are instantiated
1054         by 'new' and no need to be copyable:
1055
1056         class/struct name               - instantiated at: WebCore/'location'
1057
1058         class SQLTransactionClient      - storage/DatabaseThread.cpp:45
1059         class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
1060         class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
1061         class DatabaseTracker           - storage/DatabaseTracker.cpp:62
1062         class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
1063         class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
1064         class RenderOverflow            - rendering/RenderBox.cpp:2846
1065
1066         Inherits the following classes from FastAllocBase because these are instantiated by 'new':
1067
1068         struct FillLayer                - css/CSSStyleSelector.cpp:197
1069         struct ShadowData               - rendering/style/ShadowData.cpp:35
1070         class CounterContent            - css/CSSStyleSelector.cpp:4111
1071
1072         * platform/ScrollbarTheme.h:
1073         * rendering/RenderOverflow.h:
1074         * rendering/RenderSelectionInfo.h:
1075         * rendering/style/CounterContent.h:
1076         * rendering/style/FillLayer.h:
1077         * rendering/style/ShadowData.h:
1078         * storage/DatabaseTracker.h:
1079         * storage/OriginUsageRecord.h:
1080         * storage/SQLTransactionClient.h:
1081         * storage/SQLTransactionCoordinator.h:
1082
1083 2009-11-28  Adam Barth  <abarth@webkit.org>
1084
1085         Reviewed by Dimitri Glazkov.
1086
1087         [Chromium] Sify compose button alerts error
1088         https://bugs.webkit.org/show_bug.cgi?id=31394
1089
1090         Test: http/tests/security/calling-versus-current.html
1091
1092         We're supposed to use the calling context for security checks.  In JSC
1093         land, this is the lexicalGlobalObject.
1094
1095         * bindings/v8/V8Proxy.cpp:
1096         (WebCore::V8Proxy::canAccessPrivate):
1097
1098 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
1099
1100         Unreviewed Chromium build fix introduced by r51428.
1101
1102         [Chromium] Ignore line-height CSS property for PushButton
1103         https://bugs.webkit.org/show_bug.cgi?id=31712
1104
1105         * rendering/RenderThemeChromiumSkia.cpp:
1106         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
1107
1108 2009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
1109
1110         Unreviewed Chromium test fix by reverting r51413.
1111
1112         [v8] Do not check the thread when accessing DOMDataStore
1113         https://bugs.webkit.org/show_bug.cgi?id=31877
1114
1115         * bindings/v8/V8DOMMap.cpp:
1116         (WebCore::getDOMNodeMap):
1117         (WebCore::getDOMObjectMap):
1118         (WebCore::getActiveDOMObjectMap):
1119         (WebCore::getDOMSVGElementInstanceMap):
1120         (WebCore::getDOMSVGObjectWithContextMap):
1121
1122 2009-11-27  Daniel Bates  <dbates@webkit.org>
1123
1124         Unreviewed, comment fix.
1125
1126         Corrected misspelling of the word "implemented".
1127
1128         * inspector/front-end/InjectedScriptAccess.js:
1129
1130 2009-11-27  Daniel Bates  <dbates@webkit.org>
1131
1132         Reviewed by Adam Barth.
1133
1134         https://bugs.webkit.org/show_bug.cgi?id=31940
1135
1136         Makes the error messages more descriptive when we refuse to load an object/embed or
1137         refuse to load from the document base URL.
1138
1139         * page/XSSAuditor.cpp:
1140         (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
1141         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
1142
1143 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
1144
1145         Reviewed by Pavel Feldman.
1146
1147         This is a WebCore part of the fix that allows to view plugin
1148         resources loaded by plugins.
1149
1150         https://bugs.webkit.org/show_bug.cgi?id=31832
1151
1152         * inspector/InspectorController.cpp:
1153         (WebCore::InspectorController::willSendRequest):
1154         (WebCore::InspectorController::didReceiveResponse):
1155         (WebCore::InspectorController::didReceiveContentLength):
1156         (WebCore::InspectorController::didFinishLoading):
1157         (WebCore::InspectorController::didFailLoading):
1158         * inspector/InspectorController.h:
1159         * inspector/InspectorResource.cpp:
1160         (WebCore::InspectorResource::addLength):
1161         * loader/ResourceLoadNotifier.cpp:
1162         (WebCore::ResourceLoadNotifier::didFailToLoad):
1163         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1164         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1165         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1166         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1167
1168 2009-11-27  Yury Semikhatsky  <yurys@chromium.org>
1169
1170         Reviewed by Pavel Feldman.
1171
1172         Instead of generating negative identifiers for cached resources in
1173         InspectorController and extending identifier type from 'unsigned long' to 'long
1174         long' reuse progress tracker from the inspected page to generate those
1175         identifiers. It guarantees that InspectorResources have unique ids since
1176         all of them are generated by that progress tracker.
1177
1178         Added a couple new overloaded methods to Script* objects that accept
1179         long and unsigned long arguments. These types of argumens have already
1180         been passed as long long.
1181
1182         https://bugs.webkit.org/show_bug.cgi?id=31921
1183
1184         * bindings/js/ScriptFunctionCall.cpp:
1185         (WebCore::ScriptFunctionCall::appendArgument):
1186         * bindings/js/ScriptFunctionCall.h:
1187         * bindings/js/ScriptObject.cpp:
1188         (WebCore::ScriptObject::set):
1189         * bindings/js/ScriptObject.h:
1190         * bindings/v8/ScriptFunctionCall.cpp:
1191         (WebCore::ScriptFunctionCall::appendArgument):
1192         * bindings/v8/ScriptFunctionCall.h:
1193         * bindings/v8/ScriptObject.cpp:
1194         (WebCore::ScriptObject::set):
1195         * bindings/v8/ScriptObject.h:
1196         * inspector/InspectorBackend.cpp:
1197         (WebCore::InspectorBackend::dispatchOnInjectedScript):
1198         * inspector/InspectorController.cpp:
1199         (WebCore::InspectorController::InspectorController):
1200         (WebCore::InspectorController::getTrackedResource):
1201         (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
1202         * inspector/InspectorController.h:
1203         * inspector/InspectorDOMAgent.cpp:
1204         (WebCore::InspectorDOMAgent::buildObjectForNode):
1205         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
1206         * inspector/InspectorFrontend.cpp:
1207         (WebCore::InspectorFrontend::addResource):
1208         (WebCore::InspectorFrontend::updateResource):
1209         (WebCore::InspectorFrontend::removeResource):
1210         (WebCore::InspectorFrontend::updateFocusedNode):
1211         * inspector/InspectorFrontend.h:
1212         * inspector/InspectorResource.cpp:
1213         (WebCore::InspectorResource::InspectorResource):
1214         (WebCore::InspectorResource::createCached):
1215         * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
1216         (WebCore::InspectorResource::create):
1217         (WebCore::InspectorResource::identifier):
1218         * inspector/TimelineRecordFactory.cpp:
1219         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
1220         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
1221         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
1222
1223 2009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
1224
1225         Reviewed by Dan Bernstein.
1226
1227         Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
1228         https://bugs.webkit.org/show_bug.cgi?id=29966
1229
1230         When an empty inline element is clicked, the root inline box has
1231         no leaf children. Use the renderer of a normal child instead.
1232
1233         This change resolves Windows port's assertion failure in a layout test.
1234         Also, this fixes the behavior when a user drags the mouse from an
1235         empty inline element to above texts.
1236
1237         Test: editing/selection/last-empty-inline.html
1238
1239         * rendering/RenderBlock.cpp:
1240         (WebCore::RenderBlock::positionForPointWithInlineChildren):
1241
1242 2009-11-26  Kent Tamura  <tkent@chromium.org>
1243
1244         Reviewed by Eric Seidel.
1245
1246         [Chromium] Ignore line-height CSS property specified to push buttons on
1247         Windows and Linux.
1248         https://bugs.webkit.org/show_bug.cgi?id=31712
1249
1250         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
1251         following controls should ignore line-height CSS property.
1252          - <select>
1253          - <input type=button>
1254          - <input type=search>
1255         This change addresses the <input type=button> issue with Chromium/Windows
1256         and Chromium/Linux.
1257         
1258         * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
1259         * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
1260
1261 2009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
1262
1263         Reviewed by Eric Seidel.
1264
1265         Remove the special charset meta tag in the clipboard so that
1266         copy-and-paste with interchange breaklines/spaces works correctly
1267         within WebKit.
1268
1269         No new tests.  Layout tests that involve copy-and-paste with
1270         interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
1271         should pass on Mac/Chromium with this fix.
1272
1273         * platform/chromium/ClipboardChromium.cpp:
1274         * platform/chromium/PasteboardChromium.cpp:
1275         (WebCore::Pasteboard::documentFragment):
1276
1277 2009-11-26  İsmail Dönmez  <ismail@namtrac.org>
1278
1279         Reviewed by Eric Seidel.
1280
1281         Compile with QT_NO_WHEELEVENT defined.
1282
1283         * platform/qt/WheelEventQt.cpp:
1284         (WebCore::PlatformWheelEvent::applyDelta):
1285
1286 2009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1287
1288         Reviewed by Oliver Hunt.
1289
1290         Move GOwnPtr* from wtf to wtf/gtk
1291         https://bugs.webkit.org/show_bug.cgi?id=31793
1292
1293         No new tests as there is no functional change.
1294
1295         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
1296           path for GOwnPtr.h.
1297         * platform/text/TextEncoding.cpp: Ditto.
1298         * platform/text/gtk/TextCodecGtk.cpp: Ditto.
1299
1300 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
1301
1302         Not reviewed. Build fix: revert r51421.
1303
1304         * inspector/InspectorController.cpp:
1305         (WebCore::InspectorController::willSendRequest):
1306         (WebCore::InspectorController::didReceiveResponse):
1307         (WebCore::InspectorController::didReceiveContentLength):
1308         (WebCore::InspectorController::didFinishLoading):
1309         (WebCore::InspectorController::didFailLoading):
1310         * inspector/InspectorController.h:
1311         * inspector/InspectorResource.cpp:
1312         (WebCore::InspectorResource::addLength):
1313         * loader/ResourceLoadNotifier.cpp:
1314         (WebCore::ResourceLoadNotifier::didFailToLoad):
1315         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1316         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1317         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1318         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1319
1320 2009-11-26  Yury Semikhatsky  <yurys@chromium.org>
1321
1322         Reviewed by Pavel Feldman.
1323
1324         This is a WebCore part of the fix that allows to view plugin
1325         resources loaded by plugins.
1326
1327         https://bugs.webkit.org/show_bug.cgi?id=31832
1328
1329         * inspector/InspectorController.cpp:
1330         (WebCore::InspectorController::willSendRequest):
1331         (WebCore::InspectorController::didReceiveResponse):
1332         (WebCore::InspectorController::didReceiveContentLength):
1333         (WebCore::InspectorController::didFinishLoading):
1334         (WebCore::InspectorController::didFailLoading):
1335         * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
1336         * inspector/InspectorResource.cpp:
1337         (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
1338         * loader/ResourceLoadNotifier.cpp:
1339         (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
1340         (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
1341         (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
1342         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
1343         (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
1344
1345 2009-11-26  Daniel Bates  <dbates@webkit.org>
1346
1347         Reviewed by Pavel Feldman.
1348
1349         https://bugs.webkit.org/show_bug.cgi?id=21554
1350
1351         Implements support for hovering over <img> src to display the height and width of that image
1352         in a tooltip. Displays both the displayable and natural dimensions of the image.
1353
1354         Test: inspector/elements-img-tooltip.html
1355
1356         * inspector/front-end/ElementsTreeOutline.js:
1357         (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
1358         (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
1359         (WebInspector.ElementsTreeElement.prototype._updateTitle):
1360         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
1361         * inspector/front-end/ObjectProxy.js:
1362         (WebInspector.ObjectProxy.getPropertiesAsync): Added.
1363         * inspector/front-end/inspector.js:
1364         (WebInspector.linkifyURLAsNode): Added tooltipText argument.
1365         (WebInspector.linkifyURL): Ditto.
1366
1367 2009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
1368
1369         wx build fix after drawPattern API change.
1370
1371         * platform/graphics/wx/ImageWx.cpp:
1372         (WebCore::Image::drawPattern):
1373
1374 2009-11-26  Anton Muhin  <antonm@chromium.org>
1375
1376         Reviewed by Adam Barth.
1377
1378         Use an internal field instead of hidden property to speedup lookup
1379         of entered isolated world.
1380
1381         Plus some inlinings.
1382         https://bugs.webkit.org/show_bug.cgi?id=31884
1383
1384         Covered by layout tests + manual running of some benchmarks as
1385         content scripts.
1386
1387         * bindings/v8/V8DOMWrapper.cpp:
1388         * bindings/v8/V8DOMWrapper.h:
1389         (WebCore::V8DOMWrapper::setDOMWrapper):
1390         * bindings/v8/V8HiddenPropertyName.h:
1391         * bindings/v8/V8IsolatedWorld.cpp:
1392         (WebCore::V8IsolatedWorld::V8IsolatedWorld):
1393         * bindings/v8/V8IsolatedWorld.h:
1394         (WebCore::V8IsolatedWorld::getEntered):
1395         (WebCore::V8IsolatedWorld::getGlobalObject):
1396         * bindings/v8/custom/V8CustomBinding.h:
1397
1398 2009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1399
1400         Reviewed by Kenneth Rohde Christiansen.
1401
1402         [Qt] Corrects build break on Windows.
1403
1404         Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
1405         platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
1406
1407         * WebCore.pro:
1408         * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
1409         (WebCore::findNextWordFromIndex):
1410         (WebCore::findWordBoundary):
1411
1412 2009-11-26  Anton Muhin  <antonm@chromium.org>
1413
1414         Reviewed by Adam Barth.
1415
1416         Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
1417         https://bugs.webkit.org/show_bug.cgi?id=31877
1418
1419         Covered by layout tests and buildbots.
1420
1421         * bindings/v8/V8DOMMap.cpp:
1422         (WebCore::getDOMNodeMap):
1423         (WebCore::getDOMObjectMap):
1424         (WebCore::getActiveDOMObjectMap):
1425         (WebCore::getDOMSVGElementInstanceMap):
1426         (WebCore::getDOMSVGObjectWithContextMap):
1427
1428 2009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
1429
1430         Reviewed by Holger Freyther.
1431
1432         [Qt] Mac Plugins : Pass mouse position relative to the fake window
1433         
1434         When using off-screen rendering, we need to pass mouse events relative
1435         to the fake window instead of the global position.
1436         
1437         https://bugs.webkit.org/show_bug.cgi?id=31794
1438
1439         * plugins/mac/PluginViewMac.cpp:
1440         (WebCore::PluginView::platformStart):
1441         (WebCore::PluginView::handleMouseEvent):
1442
1443 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
1444
1445         Reviewed by Eric Seidel.
1446
1447         [Qt] Use QNetworkReply::rawHeaderPairs
1448         https://bugs.webkit.org/show_bug.cgi?id=31826
1449
1450         The QNetworkReply is internally storing the HTTP headers
1451         as a list of pairs. Currently we have to ask the QNetworkReply
1452         to put all header names into a QStringList. Afterwards we will
1453         iterate over this QStringList and ask the QNetworkReply to
1454         give us the value for this header name. The current Qt implementation
1455         is doing a linear to find the header value.
1456
1457         Use a new API to directly access the list of pairs and push
1458         this into WebCore. This avoids doing some allocations and doing
1459         linear searches from within a loop.
1460
1461         * platform/network/qt/QNetworkReplyHandler.cpp:
1462         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1463
1464 2009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
1465
1466         Reviewed by Kenneth Rohde Christiansen.
1467
1468         [Qt] Add Qt specific information of RenderPart
1469         https://bugs.webkit.org/show_bug.cgi?id=31203
1470
1471         The WebCore::Widget of the RenderPart (RenderWidget) might be
1472         backed with a platform widget. Print both the WebCore::Widget
1473         and platform widget state. In the above bug we had a problem
1474         that the WebCore::Widget was invisible but the QWidget was
1475         visible.
1476
1477         * rendering/RenderTreeAsText.cpp:
1478         (WebCore::operator<<): Add special case for RenderPart
1479
1480 2009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
1481
1482         Reviewed by Kenneth Rohde Christiansen.
1483
1484         [Qt] Call Widget::setSelfVisible from hide/show
1485         https://bugs.webkit.org/show_bug.cgi?id=31203
1486
1487         Call Widget::setSelfVisible from Widget::show and
1488         Widget::hide and use isParentVisible to decide
1489         if the widget should be shown. This way client
1490         code can rely on isVisible.
1491
1492         Change PluginViewQt::show, PluginViewQt::hide to
1493         call the base class as it is doing the right thing
1494         now. Add an assert verify that platfomWidget and
1495         platformPluginWidget are the same.
1496
1497         * manual-tests/qt/qtplugin.html: Modify manual test
1498         * platform/qt/WidgetQt.cpp:
1499         (WebCore::Widget::show):
1500         (WebCore::Widget::hide):
1501         * plugins/qt/PluginViewQt.cpp:
1502         (WebCore::PluginView::show):
1503         (WebCore::PluginView::hide):
1504
1505 2009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
1506
1507         Reviewed by Alexey Proskuryakov.
1508
1509         Fix compilation of REQUEST_DEBUG debug code
1510         https://bugs.webkit.org/show_bug.cgi?id=31850
1511
1512         In r47907 the single parameter KURL constructor to parse
1513         from a WebCore::String was replaced with a two parameter
1514         constructor. I think in this debug case parsing the urls
1515         again is no problem and I have changed the code to use the
1516         two parameter version.
1517
1518         * loader/loader.cpp:
1519         (WebCore::Loader::Host::didFinishLoading):
1520
1521 2009-11-26  Søren Gjesse  <sgjesse@chromium.org>
1522
1523         Reviewed by Pavel Feldman.
1524
1525         [V8] Avoid using JavaScript objects as context data
1526         https://bugs.webkit.org/show_bug.cgi?id=31873
1527
1528         Change the context "data" from a JavaScript object holding the two properties type and value to
1529         a string holding type and value separated by a comma.
1530
1531         * bindings/v8/V8Proxy.cpp:
1532         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1533         (WebCore::V8Proxy::setContextDebugId):
1534         (WebCore::V8Proxy::contextDebugId):
1535
1536 2009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
1537
1538         Reviewed by David Levin.
1539
1540         [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
1541         https://bugs.webkit.org/show_bug.cgi?id=31894
1542
1543         * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
1544         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
1545
1546 2009-11-25  Kenneth Russell  <kbr@google.com>
1547
1548         Reviewed by Oliver Hunt.
1549
1550         Off-by-one error in index validation for drawElements and drawArrays
1551         https://bugs.webkit.org/show_bug.cgi?id=31891
1552
1553         Fixed computation of number of elements for bound array objects.
1554
1555         Test: fast/canvas/webgl/index-validation.html
1556
1557         * html/canvas/WebGLRenderingContext.cpp:
1558         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1559
1560 2009-11-25  Dmitry Titov  <dimich@chromium.org>
1561
1562         Reviewed by David Levin.
1563
1564         Update SharedScript to use eventNames() instead of EventNames()
1565         https://bugs.webkit.org/show_bug.cgi?id=31890
1566
1567         * SharedScript/WebKitSharedScript.cpp:
1568         (WebCore::LoadEventTask::performTask):
1569
1570 2009-11-25  Eric Carlson  <eric.carlson@apple.com>
1571
1572         Reviewed by Simon Fraser.
1573
1574         <rdar://problem/7409331> Windows: Support closed caption in <video> element
1575
1576         Enable closed captions in QuickTime/Windows media engine.
1577
1578         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1579         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
1580         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
1581             New, all through to m_qtMovie.
1582
1583         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1584             Make all but the destructor private since MediaPlayer call through the media
1585             engine interface.
1586
1587         * platform/graphics/win/QTMovieWin.cpp:
1588         (QTMovieWin::disableUnsupportedTracks):
1589             Use handy new constants for QuickTime track types.
1590         (QTMovieWin::hasClosedCaptions):
1591         (QTMovieWin::setClosedCaptionsVisible):
1592             New, closed caption support.
1593         * platform/graphics/win/QTMovieWin.h:
1594
1595         * rendering/RenderMediaControls.cpp:
1596         (WebCore::RenderMediaControls::paintMediaControlsPart):
1597             Deal with closed caption buttons.
1598
1599         * rendering/RenderThemeWin.cpp:
1600         (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
1601             New, don't ask the media engine if it has closed captions unless the Safari theme will
1602             be able to render the button.
1603         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
1604             New.
1605         * rendering/RenderThemeWin.h:
1606
1607 2009-11-25  Drew Wilson  <atwilson@chromium.org>
1608
1609         Reviewed by David Levin.
1610
1611         MessagePorts always look remotely entangled even when closed.
1612         https://bugs.webkit.org/show_bug.cgi?id=31698
1613
1614         Tests: Existing tests suffice, Chromium soak test passes now.
1615
1616         * bindings/v8/custom/V8CustomBinding.h:
1617         Removed kMessagePortEntangledPortIndex which is no longer used.
1618         * bindings/v8/V8GCController.cpp:
1619         (WebCore::GCPrologueVisitor::visitDOMWrapper):
1620         Simplified GC code to reflect the Chromium MessagePort implementation
1621         (locallyEntangledPort() always returns false).
1622         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
1623         Cleaned up epilogue code to handle the case where the port gets closed
1624         in mid-GC (due to the parent context being freed).
1625         * dom/MessagePort.cpp:
1626         (WebCore::MessagePort::MessagePort):
1627         (WebCore::MessagePort::close):
1628         Now sets the closed flag.
1629         (WebCore::MessagePort::disentanglePorts):
1630         Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
1631         * dom/MessagePort.h:
1632         Added a m_closed flag and updated isEntangled() to check it.
1633         (WebCore::MessagePort::isEntangled):
1634         Now returns false if the port has been closed.
1635         (WebCore::MessagePort::isCloned):
1636         Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
1637
1638 2009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1639
1640         Reviewed by Simon Hausmann.
1641
1642         [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
1643
1644         Fix inline assembly, don't dereference the function pointer twice.
1645
1646         * plugins/win/PluginViewWin.cpp:
1647         (WebCore::PluginView::hookedBeginPaint):
1648         (WebCore::PluginView::hookedEndPaint):
1649
1650 2009-11-22  Jakub Wieczorek  <faw217@gmail.com>
1651
1652         Reviewed by Adam Barth.
1653
1654         [Qt] Remove the Referer header when redirecting to a non-secure site
1655         https://bugs.webkit.org/show_bug.cgi?id=31785
1656
1657         This makes Qt pass two tests introduced in r50226.
1658
1659         * platform/network/qt/QNetworkReplyHandler.cpp:
1660         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1661
1662 2009-11-25  Andrei Popescu  <andreip@google.com>
1663
1664         Reviewed by Dimitri Glazkov.
1665
1666         The select elements do not reflect the actual choice the user makes.
1667         https://bugs.webkit.org/show_bug.cgi?id=31831
1668
1669         Handle the drawing of the listboxes in Android code.
1670
1671         No new features, just fixing an Android problem. Existing layout tests are sufficient.
1672
1673         * platform/android/RenderThemeAndroid.cpp:
1674         (WebCore::theme):
1675         (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
1676         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
1677         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
1678         (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
1679         (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
1680         (WebCore::RenderThemeAndroid::adjustButtonStyle):
1681         (WebCore::RenderThemeAndroid::paintTextArea):
1682         (WebCore::RenderThemeAndroid::adjustListboxStyle):
1683         * platform/android/RenderThemeAndroid.h:
1684
1685 2009-11-25  Alexander Pavlov  <apavlov@chromium.org>
1686
1687         Reviewed by Pavel Feldman.
1688
1689         Load InspectorResource mime type from CachedResource for 304 responses
1690
1691         For network libraries that do not merge cache data into 304 ResourceResponses,
1692         the mime type for cached resources is unknown.
1693         https://bugs.webkit.org/show_bug.cgi?id=31868
1694
1695         * inspector/InspectorResource.cpp:
1696         (WebCore::InspectorResource::updateResponse):
1697         (WebCore::InspectorResource::updateScriptObject):
1698         (WebCore::InspectorResource::type):
1699
1700 2009-11-25  Andrei Popescu  <andreip@google.com>
1701
1702         Reviewed by Eric Seidel.
1703
1704         Android is missing implementation of SSL Key generator functions.
1705         https://bugs.webkit.org/show_bug.cgi?id=31825
1706
1707         This change adds the PlatformBridge class to platform/android.
1708         PlarformBridge is used to access the embedding layer for things
1709         such as key generator, cookies, plugins, etc.
1710
1711         No new tests required, this is platform code.
1712
1713         * platform/android/PlatformBridge.h: Added.
1714         * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
1715         (WebCore::getSupportedKeySizes):
1716         (WebCore::signedPublicKeyAndChallengeString):
1717
1718 2009-11-25  Philippe Normand  <pnormand@igalia.com>
1719
1720         Reviewed by Eric Seidel.
1721
1722         [GTK] use gst_init_check() instead of gst_init()
1723         https://bugs.webkit.org/show_bug.cgi?id=31864
1724
1725         Use gst_init_check() instead of gst_init() to prevent eventual
1726         unexpected exit of the application.
1727
1728         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1729         (WebCore::do_gst_init):
1730         (WebCore::MediaPlayerPrivate::isAvailable):
1731
1732 2009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1733
1734         Reviewed by Xan Lopez.
1735
1736         Some tests are crashing from time to time
1737         https://bugs.webkit.org/show_bug.cgi?id=31866
1738
1739         Make sure we do not notify the client of a finished load, if the
1740         load has been cancelled, or the client is gone.
1741
1742         * platform/network/soup/ResourceHandleSoup.cpp:
1743         (WebCore::):
1744
1745 2009-11-24  Ben Murdoch  <benm@google.com>
1746
1747         Reviewed by Eric Seidel.
1748
1749         [Android] Upstream Android changes to WebCore/bridge/jni
1750         https://bugs.webkit.org/show_bug.cgi?id=31824
1751
1752         No new tests required as no new functionality.
1753
1754         * bridge/jni/jni_class.cpp:
1755         (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
1756         * bridge/jni/jni_instance.cpp: Add an Android include path.
1757         * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
1758         (JSC::Bindings::JObjectWrapper::instance): Added.
1759         (JSC::Bindings::JObjectWrapper::setInstance): Added.
1760         * bridge/jni/jni_runtime.cpp:
1761         (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
1762         * bridge/jni/jni_utility.h:
1763         (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
1764
1765 2009-11-24  Zoltan Horvath  <zoltan@webkit.org>
1766
1767         Reviewed by Eric Seidel.
1768
1769         Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
1770         https://bugs.webkit.org/show_bug.cgi?id=31827
1771
1772         Inherits the following classes from Noncopyable because these are instantiated
1773         by 'new' and no need to be copyable:
1774
1775         class/struct name               - instantiated at: WebCore/'location'
1776
1777         class PluginRequest             - plugins/PluginView.cpp:521
1778         class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
1779         class PluginDatabase            - plugins/PluginDatabase.cpp:50
1780         struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
1781         struct PluginInfo               - plugins/PluginInfoStore.cpp:40
1782         class RenderArena               - dom/Document.cpp:1401
1783         class RenderImageScaleData      - rendering/RenderImage.cpp:149
1784         class TableLayout               - (its child class) rendering/RenderTable.cpp:82
1785         struct ColumnInfo               - rendering/RenderBlock.cpp:3590
1786         struct FloatingObject           - rendering/RenderBlock.cpp:2300
1787         struct MaxMargin                - rendering/RenderBlock.cpp:4794
1788         class RenderMarquee             - rendering/RenderLayer.cpp:3277
1789
1790         * plugins/PluginData.h:
1791         * plugins/PluginDatabase.h:
1792         * plugins/PluginMainThreadScheduler.h:
1793         * plugins/PluginView.h:
1794         * rendering/RenderArena.h:
1795         * rendering/RenderBlock.cpp:
1796         * rendering/RenderBlock.h:
1797         * rendering/RenderImage.cpp:
1798         * rendering/RenderMarquee.h:
1799         * rendering/TableLayout.h:
1800
1801 2009-11-24  Dmitry Titov  <dimich@chromium.org>
1802
1803         Reviewed by David Levin.
1804
1805         Initial implementation of WebKitSharedScript and SharedScriptContext
1806         https://bugs.webkit.org/show_bug.cgi?id=31569
1807
1808         No new tests since there are no bindings yet (soon to come).
1809
1810         * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
1811         * WebCore.xcodeproj/project.pbxproj:
1812         * dom/Document.cpp:
1813         (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
1814         * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
1815         (WebCore::EventTarget::toWebKitSharedScript):
1816         (WebCore::EventTarget::toSharedScriptContext):
1817         * dom/EventTarget.h: Ditto
1818         * dom/ScriptExecutionContext.h:
1819         (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
1820
1821         * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
1822         (WebCore::SharedScriptContext::SharedScriptContext):
1823         (WebCore::SharedScriptContext::~SharedScriptContext):
1824         (WebCore::SharedScriptContext::clearScript):
1825         (WebCore::SharedScriptContext::virtualURL):
1826         (WebCore::SharedScriptContext::virtualCompleteURL):
1827         (WebCore::SharedScriptContext::reportException):
1828         (WebCore::SharedScriptContext::addMessage):
1829         (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
1830         (WebCore::SharedScriptContext::scriptImported):
1831         (WebCore::SharedScriptContext::matches):
1832         (WebCore::SharedScriptContext::addToDocumentsList):
1833         (WebCore::SharedScriptContext::destructionTimerFired):
1834         (WebCore::SharedScriptContext::removeFromDocumentList):
1835         (WebCore::SharedScriptContext::load):
1836         (WebCore::SharedScriptContext::postTask):
1837         (WebCore::SharedScriptContext::eventTargetData):
1838         (WebCore::SharedScriptContext::ensureEventTargetData):
1839         (WebCore::SharedScriptContext::scriptExecutionContext):
1840         * SharedScript/SharedScriptContext.h: Added.
1841         (WebCore::SharedScriptContext::create):
1842         (WebCore::SharedScriptContext::isSharedScriptContext):
1843         (WebCore::SharedScriptContext::userAgent):
1844         (WebCore::SharedScriptContext::toSharedScriptContext):
1845         (WebCore::SharedScriptContext::self):
1846         (WebCore::SharedScriptContext::script):
1847         (WebCore::SharedScriptContext::loaded):
1848         (WebCore::SharedScriptContext::name):
1849         (WebCore::SharedScriptContext::refEventTarget):
1850         (WebCore::SharedScriptContext::derefEventTarget):
1851         (WebCore::SharedScriptContext::refScriptExecutionContext):
1852         (WebCore::SharedScriptContext::derefScriptExecutionContext):
1853         * SharedScript/SharedScriptContext.idl: Added.
1854
1855         * SharedScript/SharedScriptController.h: 
1856         Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
1857
1858         * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
1859         (WebCore::WebKitSharedScript::WebKitSharedScript):
1860         (WebCore::WebKitSharedScript::~WebKitSharedScript):
1861         (WebCore::WebKitSharedScript::setContext):
1862         (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
1863         (WebCore::LoadEventTask::performTask):
1864         (WebCore::LoadEventTask::LoadEventTask):
1865         (WebCore::WebKitSharedScript::scheduleLoadEvent):
1866         * SharedScript/WebKitSharedScript.h: Added.
1867         (WebCore::WebKitSharedScript::create):
1868         (WebCore::WebKitSharedScript::scriptExecutionContext):
1869         (WebCore::WebKitSharedScript::toWebKitSharedScript):
1870         (WebCore::WebKitSharedScript::context):
1871         (WebCore::WebKitSharedScript::refEventTarget):
1872         (WebCore::WebKitSharedScript::derefEventTarget):
1873         (WebCore::WebKitSharedScript::eventTargetData):
1874         (WebCore::WebKitSharedScript::ensureEventTargetData):
1875         * SharedScript/WebKitSharedScript.idl: Added.
1876
1877         * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
1878         (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
1879         (WebCore::ScriptLoader::load):
1880         (WebCore::ScriptLoader::notifyFinished):
1881         (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
1882         (WebCore::WebKitSharedScriptRepository::connect):
1883         (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
1884         (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
1885         (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
1886         (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
1887         * SharedScript/WebKitSharedScriptRepository.h: Added.
1888         (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
1889
1890 2009-11-24  Dmitry Titov  <dimich@chromium.org>
1891
1892         Reviewed by Eric Seidel.
1893
1894         Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
1895         https://bugs.webkit.org/show_bug.cgi?id=31444
1896
1897         * Configurations/FeatureDefines.xcconfig:
1898         * GNUmakefile.am:
1899         * WebCore.pro:
1900
1901 2009-11-24  Chris Marrin  <cmarrin@apple.com>
1902
1903         Reviewed by Simon Fraser.
1904
1905         Implement accelerated compositing
1906         https://bugs.webkit.org/show_bug.cgi?id=27314
1907         
1908         This part of the checkin adds the Windows specific GraphicsLayer support files.
1909         It provides the interface between GraphicsLayer and CACF. It also deals with
1910         the compositing loop, and provides the plumbing to pass the root layer up to
1911         WebView.
1912
1913         * WebCore.vcproj/WebCore.vcproj:
1914         * WebCore.vcproj/WebCoreCommon.vsprops:
1915         * page/FrameView.cpp:
1916         (WebCore::FrameView::syncCompositingStateRecursive):
1917         * platform/graphics/GraphicsLayer.cpp:
1918         (WebCore::GraphicsLayer::GraphicsLayer):
1919         * platform/graphics/GraphicsLayer.h:
1920         * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
1921         * platform/graphics/win/GraphicsLayerCACF.h: Added.
1922         * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
1923         * platform/graphics/win/WKCACFContextFlusher.h: Added.
1924         * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
1925         * platform/graphics/win/WKCACFLayer.cpp: Added.
1926         * platform/graphics/win/WKCACFLayer.h: Added.
1927         * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
1928         * platform/graphics/win/WKCACFLayerWindow.h: Added.
1929
1930 2009-11-24  Chris Marrin  <cmarrin@apple.com>
1931
1932         Reviewed by Eric Seidel.
1933
1934         Do error checking of parameter to createShader
1935         https://bugs.webkit.org/show_bug.cgi?id=31808
1936
1937         Test: fast/canvas/webgl/invalidPassedParams.html
1938
1939         * html/canvas/WebGLRenderingContext.cpp:
1940         (WebCore::WebGLRenderingContext::createShader):
1941         * html/canvas/WebGLRenderingContext.h:
1942         * html/canvas/WebGLRenderingContext.idl:
1943
1944 2009-11-24  Kent Tamura  <tkent@chromium.org>
1945
1946         Reviewed by Eric Seidel.
1947
1948         [Chromium] Ignore line-height CSS property specified to a search field on
1949         Windows and Linux.
1950         https://bugs.webkit.org/show_bug.cgi?id=31820
1951
1952         LayoutTests/fast/forms/control-restrict-line-height.html checks that the
1953         following controls should ignore line-height CSS property.
1954          - <select>
1955          - <input type=button>
1956          - <input type=search>
1957         This change addresses the <input type=search> issue with Chromium/Windows
1958         and Chromium/Linux.
1959
1960         * rendering/RenderThemeChromiumSkia.cpp:
1961         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
1962         * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
1963
1964 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
1965
1966         No review.
1967
1968         Stylistic fix: indent the member var initialisation.
1969
1970         * platform/graphics/mac/GraphicsLayerCA.mm:
1971         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1972
1973 2009-11-24  Gavin Barraclough  <barraclough@apple.com>
1974
1975         Reviewed by Geoff Garen.
1976
1977         Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
1978
1979         These methods get the world from the global data rather than from an execstate.
1980         If the current world is always read from an exec state then it can be read
1981         from the global object, and world entry can become automagical, rather than
1982         being explicitly set by an EnterDOMWrapperWorld.
1983
1984         * bindings/js/JSCSSRuleCustom.cpp:
1985         (WebCore::toJS):
1986         * bindings/js/JSCSSValueCustom.cpp:
1987         (WebCore::toJS):
1988         * bindings/js/JSDOMBinding.cpp:
1989         (WebCore::currentWorld):
1990         (WebCore::DOMObjectWrapperMapFor):
1991         (WebCore::hasCachedDOMObjectWrapper):
1992         (WebCore::getCachedDOMObjectWrapper):
1993         (WebCore::cacheDOMObjectWrapper):
1994         (WebCore::hasCachedDOMNodeWrapper):
1995         (WebCore::getCachedDOMNodeWrapper):
1996         (WebCore::cacheDOMNodeWrapper):
1997         * bindings/js/JSDOMBinding.h:
1998         (WebCore::createDOMObjectWrapper):
1999         (WebCore::getDOMObjectWrapper):
2000         (WebCore::createDOMNodeWrapper):
2001         (WebCore::getDOMNodeWrapper):
2002         * bindings/js/JSDOMWindowCustom.cpp:
2003         (WebCore::JSDOMWindow::history):
2004         (WebCore::JSDOMWindow::location):
2005         * bindings/js/JSDocumentCustom.cpp:
2006         (WebCore::JSDocument::location):
2007         (WebCore::toJS):
2008         * bindings/js/JSElementCustom.cpp:
2009         (WebCore::toJSNewlyCreated):
2010         * bindings/js/JSEventCustom.cpp:
2011         (WebCore::toJS):
2012         * bindings/js/JSHTMLCollectionCustom.cpp:
2013         (WebCore::toJS):
2014         * bindings/js/JSImageDataCustom.cpp:
2015         (WebCore::toJS):
2016         * bindings/js/JSNodeCustom.cpp:
2017         (WebCore::JSNode::markChildren):
2018         (WebCore::createWrapper):
2019         (WebCore::toJS):
2020         * bindings/js/JSSVGPathSegCustom.cpp:
2021         (WebCore::toJS):
2022         * bindings/js/JSStyleSheetCustom.cpp:
2023         (WebCore::toJS):
2024         * xml/XMLHttpRequest.cpp:
2025         (WebCore::XMLHttpRequest::dropProtection):
2026
2027 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
2028
2029         Windows build fix.
2030
2031         * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
2032
2033 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
2034
2035         Windows build fix.
2036
2037         * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
2038
2039 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2040
2041         Reviewed by Oliver Hunt.
2042
2043         SVGUseElement::toClipPath can crash
2044         <rdar://problem/7385270>
2045
2046         Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
2047         actually initialize it.
2048
2049         * svg/SVGUseElement.cpp:
2050         (WebCore::SVGUseElement::toClipPath):
2051
2052 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2053
2054         Windows build fix.
2055
2056         * page/win/FrameCGWin.cpp:
2057         (WebCore::imageFromRect):
2058         (WebCore::imageFromSelection):
2059
2060 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
2061
2062         Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
2063
2064         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2065         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2066         * platform/graphics/win/QTMovieWin.cpp:
2067         * platform/graphics/win/QTMovieWin.h:
2068         * rendering/RenderMediaControls.cpp:
2069         * rendering/RenderThemeWin.cpp:
2070         * rendering/RenderThemeWin.h:
2071
2072 2009-11-24  Alexey Proskuryakov  <ap@apple.com>
2073
2074         Reviewed by Brady Eidson.
2075
2076         https://bugs.webkit.org/show_bug.cgi?id=31844
2077         SocketStreamHandleCFNet should support CONNECT proxy credentials
2078
2079         * WebCore.vcproj/WebCore.vcproj:
2080         * WebCore.xcodeproj/project.pbxproj:
2081         * platform/network/CredentialStorage.h:
2082         * platform/network/mac/CredentialStorageMac.mm: Added.
2083         (WebCore::CredentialStorage::getFromPersistentStorage):
2084         * platform/network/cf/CredentialStorageCFNet.cpp: Added.
2085         (WebCore::CredentialStorage::getFromPersistentStorage):
2086         Add support for fetching credentials from persistent storage (CFNet version is currently
2087         a stub).
2088
2089         * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
2090
2091         * platform/network/cf/SocketStreamHandle.h:
2092         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2093         (WebCore::SocketStreamHandle::SocketStreamHandle):
2094         (WebCore::SocketStreamHandle::createStreams):
2095         (WebCore::getStoredCONNECTProxyCredentials):
2096         (WebCore::authenticationSchemeFromAuthenticationMethod):
2097         (WebCore::SocketStreamHandle::addCONNECTCredentials):
2098         (WebCore::SocketStreamHandle::readStreamCallback):
2099         Check if connection attempt was resulted in 407, and try stored credentials if it did.
2100
2101         * platform/mac/WebCoreSystemInterface.h:
2102         * platform/mac/WebCoreSystemInterface.mm:
2103         * WebCore.base.exp:
2104         Updated WKSI.
2105
2106 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2107
2108         Reviewed by Dan Bernstein.
2109
2110         Find highlight is drawn incorrectly on pages with compositing layers
2111         <rdar://problem/7413925>
2112         
2113         Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
2114         and pass that down when painting into an image.
2115         
2116         When set, it forces painting of compositing layers to go down a software paint path
2117         when all layers are painted, irrespective of compositing status, and where
2118         3d transforms are flattened to 2d. When doing this, we also need to use temporary
2119         clip rects for layers which are normally composited.
2120         
2121         * page/FrameView.h:
2122         (WebCore::FrameView::paintBehavior):
2123         * page/mac/FrameMac.mm:
2124         (WebCore::Frame::imageFromRect):
2125         * rendering/RenderLayer.cpp:
2126         (WebCore::RenderLayer::renderableTransform):
2127         (WebCore::expandClipRectForDescendantsAndReflection):
2128         (WebCore::transparencyClipBox):
2129         (WebCore::RenderLayer::beginTransparencyLayers):
2130         (WebCore::RenderLayer::paintLayer):
2131         * rendering/RenderLayer.h:
2132         (WebCore::RenderLayer::paintsWithTransparency):
2133         (WebCore::RenderLayer::paintsWithTransform):
2134         * rendering/RenderLayerCompositor.cpp:
2135         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2136         * rendering/RenderObject.h:
2137
2138 2009-11-24  Simon Fraser  <simon.fraser@apple.com>
2139
2140         Reviewed by Dan Bernstein.
2141
2142         Find highlight is drawn incorrectly on pages with compositing layers
2143         <rdar://problem/7413925>
2144         
2145         Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
2146         preparation for adding a new flag related to painting into an image.
2147         
2148         PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
2149
2150         * page/FrameView.cpp:
2151         (WebCore::FrameView::reset):
2152         (WebCore::FrameView::paintContents):
2153         (WebCore::FrameView::setPaintBehavior):
2154         * page/FrameView.h:
2155         * page/mac/FrameMac.mm:
2156         (WebCore::Frame::selectionImage):
2157         * rendering/RenderLayer.cpp:
2158         (WebCore::RenderLayer::paint):
2159         (WebCore::RenderLayer::paintLayer):
2160         * rendering/RenderLayer.h:
2161         * rendering/RenderLayerBacking.cpp:
2162         (WebCore::RenderLayerBacking::paintIntoLayer):
2163         (WebCore::RenderLayerBacking::paintContents):
2164         * rendering/RenderLayerBacking.h:
2165         * rendering/RenderObject.h:
2166         * rendering/RenderReplica.cpp:
2167         (WebCore::RenderReplica::paint):
2168
2169 2009-11-24  Eric Carlson  <eric.carlson@apple.com>
2170
2171         Reviewed by Simon Fraser.
2172
2173         <rdar://problem/7409331> Windows: Support closed caption in <video> element
2174
2175         Enable closed captions in QuickTime/Windows media engine.
2176
2177         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2178         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
2179         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
2180         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2181         * platform/graphics/win/QTMovieWin.cpp:
2182         (QTMovieWin::hasClosedCaptions):
2183         (QTMovieWin::setClosedCaptionsVisible):
2184         * platform/graphics/win/QTMovieWin.h:
2185         * rendering/RenderMediaControls.cpp:
2186         (WebCore::RenderMediaControls::paintMediaControlsPart):
2187         * rendering/RenderThemeWin.cpp:
2188         (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
2189         * rendering/RenderThemeWin.h:
2190
2191 2009-11-24  Darin Fisher  <darin@chromium.org>
2192
2193         Reviewed by Adam Barth.
2194
2195         [Chromium] Renderer hang when using www.expedia.com
2196         https://bugs.webkit.org/show_bug.cgi?id=31822
2197
2198         Test: http/tests/cache/subresource-failover-to-network.html
2199
2200         * loader/FrameLoader.cpp:
2201         (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
2202         when inheriting cache policy.  This matches SubresourceLoader::create.
2203
2204 2009-11-23  Kenneth Russell  <kbr@google.com>
2205
2206         Reviewed by Oliver Hunt.
2207
2208         Change get... calls to latest spec
2209         https://bugs.webkit.org/show_bug.cgi?id=30091
2210
2211         Removed old versions of get calls on WebGLRenderingContext and
2212         added new ones per spec returning "any". New code simplifies
2213         GraphicsContext3D and fixes previously unimplemented routines.
2214         Added custom JS and V8 bindings. Added exhaustive test case
2215         exercising all new code paths. Updated preexisting test cases for
2216         new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
2217         implementations.
2218
2219         Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
2220         preexisting known failures) and manual WebGL tests in both
2221         browsers.
2222
2223         Test: fast/canvas/webgl/gl-object-get-calls.html
2224
2225         * WebCore.gypi:
2226         * WebCore.xcodeproj/project.pbxproj:
2227         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2228         (WebCore::toJS):
2229         (WebCore::):
2230         (WebCore::getObjectParameter):
2231         (WebCore::getProgramParameterHelper):
2232         (WebCore::JSWebGLRenderingContext::getBufferParameter):
2233         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
2234         (WebCore::JSWebGLRenderingContext::getParameter):
2235         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2236         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
2237         (WebCore::JSWebGLRenderingContext::getShaderParameter):
2238         (WebCore::JSWebGLRenderingContext::getTexParameter):
2239         (WebCore::JSWebGLRenderingContext::getUniform):
2240         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
2241         * bindings/v8/custom/V8CustomBinding.h:
2242         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2243         (WebCore::toV8):
2244         (WebCore::):
2245         (WebCore::getObjectParameter):
2246         (WebCore::getProgramParameter):
2247         (WebCore::CALLBACK_FUNC_DECL):
2248         * html/canvas/CanvasObject.cpp:
2249         (WebCore::CanvasObject::CanvasObject):
2250         (WebCore::CanvasObject::setObject):
2251         (WebCore::CanvasObject::deleteObject):
2252         * html/canvas/CanvasObject.h:
2253         * html/canvas/WebGLBuffer.cpp:
2254         (WebCore::WebGLBuffer::create):
2255         (WebCore::WebGLBuffer::WebGLBuffer):
2256         * html/canvas/WebGLBuffer.h:
2257         * html/canvas/WebGLGetInfo.cpp: Added.
2258         (WebCore::WebGLGetInfo::WebGLGetInfo):
2259         (WebCore::WebGLGetInfo::~WebGLGetInfo):
2260         (WebCore::WebGLGetInfo::getType):
2261         (WebCore::WebGLGetInfo::getBool):
2262         (WebCore::WebGLGetInfo::getFloat):
2263         (WebCore::WebGLGetInfo::getLong):
2264         (WebCore::WebGLGetInfo::getString):
2265         (WebCore::WebGLGetInfo::getUnsignedLong):
2266         (WebCore::WebGLGetInfo::getWebGLBuffer):
2267         (WebCore::WebGLGetInfo::getWebGLFloatArray):
2268         (WebCore::WebGLGetInfo::getWebGLFramebuffer):
2269         (WebCore::WebGLGetInfo::getWebGLIntArray):
2270         (WebCore::WebGLGetInfo::getWebGLProgram):
2271         (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
2272         (WebCore::WebGLGetInfo::getWebGLTexture):
2273         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
2274         * html/canvas/WebGLGetInfo.h: Added.
2275         (WebCore::WebGLGetInfo::):
2276         * html/canvas/WebGLRenderbuffer.cpp:
2277         (WebCore::WebGLRenderbuffer::create):
2278         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
2279         * html/canvas/WebGLRenderbuffer.h:
2280         * html/canvas/WebGLRenderingContext.cpp:
2281         (WebCore::WebGLStateRestorer::WebGLStateRestorer):
2282         (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
2283         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2284         (WebCore::WebGLRenderingContext::activeTexture):
2285         (WebCore::WebGLRenderingContext::bindBuffer):
2286         (WebCore::WebGLRenderingContext::bindFramebuffer):
2287         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2288         (WebCore::WebGLRenderingContext::bindTexture):
2289         (WebCore::WebGLRenderingContext::getBufferParameter):
2290         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2291         (WebCore::WebGLRenderingContext::getParameter):
2292         (WebCore::WebGLRenderingContext::getProgramParameter):
2293         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2294         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2295         (WebCore::WebGLRenderingContext::getShaderParameter):
2296         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2297         (WebCore::WebGLRenderingContext::getShaderSource):
2298         (WebCore::WebGLRenderingContext::getString):
2299         (WebCore::WebGLRenderingContext::getTexParameter):
2300         (WebCore::WebGLRenderingContext::getUniform):
2301         (WebCore::WebGLRenderingContext::getVertexAttrib):
2302         (WebCore::WebGLRenderingContext::useProgram):
2303         (WebCore::WebGLRenderingContext::getBooleanParameter):
2304         (WebCore::WebGLRenderingContext::getFloatParameter):
2305         (WebCore::WebGLRenderingContext::getIntParameter):
2306         (WebCore::WebGLRenderingContext::getLongParameter):
2307         (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
2308         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
2309         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
2310         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
2311         * html/canvas/WebGLRenderingContext.h:
2312         * html/canvas/WebGLRenderingContext.idl:
2313         * html/canvas/WebGLTexture.cpp:
2314         (WebCore::WebGLTexture::create):
2315         (WebCore::WebGLTexture::WebGLTexture):
2316         * html/canvas/WebGLTexture.h:
2317         * manual-tests/webgl/resources/utils3d.js:
2318         (initWebGL):
2319         (loadShader):
2320         (Framerate.prototype.snapshot):
2321         * platform/graphics/GraphicsContext3D.h:
2322         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2323         (WebCore::GraphicsContext3D::bindRenderbuffer):
2324         (WebCore::GraphicsContext3D::getBooleanv):
2325         (WebCore::GraphicsContext3D::getBufferParameteriv):
2326         (WebCore::GraphicsContext3D::getFloatv):
2327         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
2328         (WebCore::GraphicsContext3D::getIntegerv):
2329         (WebCore::GraphicsContext3D::getProgramiv):
2330         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
2331         (WebCore::GraphicsContext3D::getShaderiv):
2332         (WebCore::GraphicsContext3D::getTexParameterfv):
2333         (WebCore::GraphicsContext3D::getTexParameteriv):
2334         (WebCore::GraphicsContext3D::getUniformfv):
2335         (WebCore::GraphicsContext3D::getUniformiv):
2336         (WebCore::GraphicsContext3D::getVertexAttribfv):
2337         (WebCore::GraphicsContext3D::getVertexAttribiv):
2338
2339 2009-11-24  Steve Falkenburg  <sfalken@apple.com>
2340
2341         Windows build fix.
2342
2343         * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
2344
2345 2009-11-24  Philippe Normand  <pnormand@igalia.com>
2346
2347         Reviewed by Gustavo Noronha Silva.
2348
2349         [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
2350         https://bugs.webkit.org/show_bug.cgi?id=26354
2351
2352         Implemented MediaPlayerPrivate::isAvailable by checking the
2353         presence of the playbin2 GStreamer element.
2354
2355         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2356         (WebCore::MediaPlayerPrivate::isAvailable):
2357         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2358
2359 2009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2360
2361         Reviewed by Xan Lopez.
2362
2363         https://bugs.webkit.org/show_bug.cgi?id=25415
2364         [GTK][ATK] Please implement support for get_text_at_offset
2365
2366         When building up the pango layout from text boxes, only append a
2367         newline char after verifying there are no more boxes on this line.
2368
2369         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2370         (getPangoLayoutForAtk):
2371
2372 2009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
2373
2374         Reviewed by Pavel Feldman.
2375
2376         Web Inspector: Keyboard Shortcut to Clear Console Messages
2377         https://bugs.webkit.org/show_bug.cgi?id=31780
2378
2379         All Platforms:  Ctrl+L  = Clear Console Messages
2380         Mac Only:       Cmd+K   = Clear Console Messages
2381
2382         * inspector/front-end/ConsoleView.js:
2383         (WebInspector.ConsoleView): create shortcuts
2384         (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
2385         * inspector/front-end/KeyboardShortcut.js:
2386         (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
2387         * inspector/front-end/ScriptsPanel.js:
2388         (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
2389
2390 2009-11-24  Pavel Feldman  <pfeldman@chromium.org>
2391
2392         Not reviewed: touch inspector controller in order to
2393         kick win bot inspector deploy. rs=aroben.
2394
2395         * inspector/InspectorController.cpp:
2396
2397 2009-11-23  Pavel Feldman  <pfeldman@chromium.org>
2398
2399         Reviewed by Timothy Hatcher.
2400
2401         Web Inspector: Implement expandable compartments on timeline panel.
2402
2403         https://bugs.webkit.org/show_bug.cgi?id=31796
2404
2405         * inspector/front-end/TimelineOverviewPane.js:
2406         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
2407         * inspector/front-end/TimelinePanel.js:
2408         (WebInspector.TimelinePanel):
2409         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
2410         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2411         (WebInspector.TimelinePanel.prototype._formatRecord):
2412         (WebInspector.TimelinePanel.prototype._refreshRecords):
2413         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
2414         (WebInspector.TimelineRecordListRow):
2415         (WebInspector.TimelineRecordListRow.prototype.update):
2416         (WebInspector.TimelineRecordListRow.prototype.dispose):
2417         (WebInspector.TimelineRecordGraphRow):
2418         (WebInspector.TimelineRecordGraphRow.prototype.update):
2419         (WebInspector.TimelineRecordGraphRow.prototype._onClick):
2420         (WebInspector.TimelineRecordGraphRow.prototype.dispose):
2421         * inspector/front-end/inspector.css:
2422
2423 2009-11-24  Mark Rowe  <mrowe@apple.com>
2424
2425         Fix production builds where the source tree may be read-only.
2426
2427         * WebCore.xcodeproj/project.pbxproj:
2428
2429 2009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2430
2431         Reviewed by Kenneth Rohde Christiansen.
2432
2433         Include "config.h" to meet Coding Style Guidelines
2434         https://bugs.webkit.org/show_bug.cgi?id=31792
2435
2436         No new tests as there is no new functionality.
2437
2438         * platform/graphics/win/IntPointWin.cpp:
2439         * platform/graphics/win/IntRectWin.cpp:
2440         * platform/graphics/win/IntSizeWin.cpp:
2441         * platform/network/chromium/ResourceRequest.cpp:
2442         * platform/win/PlatformMouseEventWin.cpp:
2443
2444 2009-11-23  Jian Li  <jianli@chromium.org>
2445
2446         Reviewed by NOBODY (Chromium build fix).
2447
2448         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2449         (WebCore::CALLBACK_FUNC_DECL):
2450         * platform/graphics/GraphicsContext3D.h:
2451
2452 2009-11-23  Aaron Golden  <agolden@apple.com>
2453
2454         Reviewed by Alexey Proskuryakov.
2455
2456         Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
2457         identity and certificate information from a WebCore::Credential when receivedCredential
2458         needs to modify the credential's persistence.
2459
2460         Adding a new constructor Credential(const Credential& original, CredentialPersistence)
2461         that copies every field from original except for persistence.
2462
2463         * platform/network/Credential.cpp:
2464         (WebCore::Credential::Credential):
2465         * platform/network/Credential.h:
2466         * platform/network/mac/ResourceHandleMac.mm:
2467         (WebCore::ResourceHandle::receivedCredential):
2468
2469 2009-11-23  Gavin Barraclough  <barraclough@apple.com>
2470
2471         Reviewed by Geoff Garen.
2472
2473         Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
2474
2475         Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
2476         and for this to automagically cause execution to take place in the world associated with the
2477         global object associated with the ExecState (JSContextRef) passed.  However this is not how
2478         things work - the world must be explicitly set within WebCore.
2479
2480         Making this work just for API calls to evaluate & call will be a far from perfect solution,
2481         since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
2482         A better solution would be to make this all work automagically all throughout WebCore, but this
2483         will require more refactoring.
2484
2485         Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
2486         so that we can get to the world from the lexical global object of an ExecState.  In the long-term
2487         we should switch over to using this approach for all cases we want to get a world from an exec state.
2488
2489         * bindings/js/JSDOMBinding.cpp:
2490         (WebCore::WebCoreJSClientData::beginningExecution):
2491         (WebCore::WebCoreJSClientData::completedExecution):
2492         * bindings/js/JSDOMBinding.h:
2493         * bindings/js/JSDOMGlobalObject.h:
2494         (WebCore::JSDOMGlobalObject::world):
2495         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
2496         * bindings/js/JSDOMWindowBase.cpp:
2497         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2498         * bindings/js/JSDOMWindowBase.h:
2499         * bindings/js/JSDOMWindowShell.cpp:
2500         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2501         * bindings/js/JSDOMWindowShell.h:
2502         (WebCore::JSDOMWindowShell::world):
2503         * bindings/js/JSWorkerContextBase.cpp:
2504         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2505         * bindings/js/ScriptController.cpp:
2506         (WebCore::ScriptController::initScript):
2507
2508 2009-11-23  Chris Marrin  <cmarrin@apple.com>
2509
2510         Reviewed by Oliver Hunt.
2511
2512         Add range checks to rendering calls in WebGL
2513         https://bugs.webkit.org/show_bug.cgi?id=31239
2514
2515         I am now tracking the size of the data in each CanvasBuffer object
2516         and keeping track of the buffer size of each active vertex attrib.
2517         In drawArrays and drawElements I make sure no attempt is made to
2518         access elements outside the valid buffer ranges. The test at:
2519
2520             http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
2521
2522         no longer crashes.
2523
2524         I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
2525
2526         Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
2527                fast/canvas/webgl/drawElementssOutOfBounds.html
2528
2529         * bindings/js/JSWebGLArrayCustom.cpp:
2530         (WebCore::toJS):
2531         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2532         (WebCore::JSWebGLRenderingContext::bufferData):
2533         (WebCore::JSWebGLRenderingContext::bufferSubData):
2534         (WebCore::JSWebGLRenderingContext::texSubImage2D):
2535         * html/canvas/WebGLArrayBuffer.cpp:
2536         (WebCore::WebGLArrayBuffer::create):
2537         (WebCore::WebGLArrayBuffer::data):
2538         * html/canvas/WebGLArrayBuffer.h:
2539         * html/canvas/WebGLBuffer.cpp:
2540         (WebCore::WebGLBuffer::WebGLBuffer):
2541         (WebCore::WebGLBuffer::associateBufferData):
2542         (WebCore::WebGLBuffer::associateBufferSubData):
2543         (WebCore::WebGLBuffer::byteLength):
2544         * html/canvas/WebGLBuffer.h:
2545         (WebCore::WebGLBuffer::elementArrayBuffer):
2546         * html/canvas/WebGLRenderingContext.cpp:
2547         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2548         (WebCore::WebGLRenderingContext::sizeInBytes):
2549         (WebCore::WebGLRenderingContext::bindBuffer):
2550         (WebCore::WebGLRenderingContext::bufferData):
2551         (WebCore::WebGLRenderingContext::bufferSubData):
2552         (WebCore::WebGLRenderingContext::createShader):
2553         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2554         (WebCore::WebGLRenderingContext::validateIndexArray):
2555         (WebCore::WebGLRenderingContext::validateRenderingState):
2556         (WebCore::WebGLRenderingContext::drawArrays):
2557         (WebCore::WebGLRenderingContext::drawElements):
2558         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2559         (WebCore::WebGLRenderingContext::isFramebuffer):
2560         (WebCore::WebGLRenderingContext::isProgram):
2561         (WebCore::WebGLRenderingContext::isRenderbuffer):
2562         (WebCore::WebGLRenderingContext::isShader):
2563         (WebCore::WebGLRenderingContext::isTexture):
2564         (WebCore::WebGLRenderingContext::useProgram):
2565         (WebCore::WebGLRenderingContext::validateProgram):
2566         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2567         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
2568         * html/canvas/WebGLRenderingContext.h:
2569         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
2570         * html/canvas/WebGLRenderingContext.idl:
2571         * html/canvas/WebGLShader.cpp:
2572         (WebCore::WebGLShader::create):
2573         (WebCore::WebGLShader::WebGLShader):
2574         * html/canvas/WebGLShader.h:
2575         * platform/graphics/GraphicsContext3D.h:
2576         (WebCore::GraphicsContext3D::):
2577         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2578         (WebCore::GraphicsContext3D::createShader):
2579
2580 2009-11-23  Erik Arvidsson  <arv@chromium.org>
2581
2582         Reviewed by Eric Seidel.
2583
2584         JSC bindings for HasIndexGetter generates incorrect code (affects
2585         MediaList and CSSStyleDeclaration).
2586         This cleans up the edge cases for indexing out of range for style and
2587         computed style objects to return an empty string according to the spec.
2588         MediaList now returns null when indexed out of range.
2589         https://bugs.webkit.org/show_bug.cgi?id=31683
2590
2591         Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
2592                fast/dom/CSSStyleDeclaration/css-style-item.html
2593                fast/dom/StyleSheet/css-medialist-item.html
2594
2595         * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
2596                 we do not check the length before calling the item function.
2597         * css/CSSComputedStyleDeclaration.cpp:
2598         (WebCore::CSSComputedStyleDeclaration::item):
2599         * css/CSSMutableStyleDeclaration.cpp:
2600         (WebCore::CSSMutableStyleDeclaration::item):
2601         * css/CSSStyleDeclaration.idl:
2602
2603 2009-11-23  Simon Fraser  <simon.fraser@apple.com>
2604
2605         Reviewed by Dan Bernstein.
2606
2607         DocumentMarkers need to be educated about transforms
2608         https://bugs.webkit.org/show_bug.cgi?id=31751
2609         
2610         Find highlight is incorrect with transforms
2611         <rdar://problem/6358394>
2612
2613         Allow callers to specify that Frame::selectionTextRects() takes transforms into account
2614         when computing the set of rects that encompass a selection. For transformed elemenets, the
2615         selection rect will be the bounding box of the selected content.
2616         
2617         Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
2618         
2619         Test: editing/selection/transformed-selection-rects.html
2620         
2621         * WebCore.base.exp:
2622         Frame::selectionTextRects() has a new parameter.
2623         
2624         * dom/Document.cpp:
2625         (WebCore::Document::setRenderedRectForMarker):
2626         * dom/Document.h:
2627         Pass the marker as a const reference.
2628         
2629         * dom/Range.h:
2630         * dom/Range.cpp:
2631         (WebCore::Range::textQuads):
2632         Add a new method, textQuads(), which returns a list of quads, respecting transforms.
2633         
2634         * page/Frame.h:
2635         * page/Frame.cpp:
2636         (WebCore::Frame::selectionTextRects):
2637         Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
2638         method to get quads for ranges, and then take their bounding boxes.
2639
2640         * rendering/InlineTextBox.h:
2641         * rendering/InlineTextBox.cpp:
2642         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2643         (WebCore::InlineTextBox::paintTextMatchMarker):
2644         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2645         (WebCore::InlineTextBox::paintDocumentMarkers):
2646         (WebCore::InlineTextBox::textPos):
2647         (WebCore::InlineTextBox::offsetForPosition):
2648         
2649         Pass DocumentMarkers as a const references.
2650         Convert the argument to setRenderedRectForMarker() into absolute coordinates.
2651         
2652         * rendering/RenderView.cpp:
2653         (WebCore::RenderView::selectionBounds):
2654
2655 2009-11-23  Dirk Schulze  <krit@webkit.org>
2656
2657         Reviewed by Oliver Hunt.
2658
2659         [Cairo] support blurred test-shadow
2660         [https://bugs.webkit.org/show_bug.cgi?id=31797]
2661
2662         Support for blurred text-shadows on Cairo. This patch
2663         reuses the code of blurred box-shadows, introduced in
2664         bug 26102. For a full textshadow support, a filters enabled
2665         build is needed.
2666
2667         * platform/graphics/cairo/FontCairo.cpp:
2668         (WebCore::Font::drawGlyphs):
2669
2670 2009-11-23  Jens Alfke  <snej@chromium.org>
2671
2672         Reviewed by Geoffrey Garen.
2673
2674         Change incorrect calls to the constructor "EventNames()" to the correct accessor
2675         "eventNames()". This saves ~100 AtomicString lookups each time.
2676         https://bugs.webkit.org/show_bug.cgi?id=31811
2677
2678         * dom/EventNames.h:  Make constructor private to prevent this from happening again.
2679         * history/CachedFrame.cpp:
2680         (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
2681         * html/HTMLFormControlElement.cpp:
2682         (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
2683         * loader/FrameLoader.cpp:
2684         (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
2685         (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
2686         * page/DOMWindow.cpp:
2687         (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
2688
2689 2009-11-23  Adam Langley  <agl@google.com>
2690
2691         Reviewed by Dmitry Titov.
2692
2693         Chromium Linux: Limit the stroke width and mitre limit.
2694
2695         Limit the stroke width and mitre limit that we'll pass into Skia to
2696         avoid overflowing Skia's uint16_t glyph widths.
2697
2698         http://code.google.com/p/chromium/issues/detail?id=28250
2699         https://bugs.webkit.org/show_bug.cgi?id=31747
2700
2701         * platform/graphics/skia/PlatformContextSkia.cpp:
2702         (scalarBound):
2703         (PlatformContextSkia::setupPaintForStroking):
2704
2705 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
2706
2707         Reviewed by Oliver Hunt.
2708
2709         https://bugs.webkit.org/show_bug.cgi?id=31812
2710         WebSocket code uses RefPtr::get() where it shouldn't
2711
2712         No change in funcitonality, just coding style correction.
2713
2714         * websockets/WebSocket.cpp:
2715         (WebCore::WebSocket::~WebSocket):
2716         * websockets/WebSocketChannel.cpp:
2717         (WebCore::WebSocketChannel::connect):
2718         (WebCore::WebSocketChannel::send):
2719         (WebCore::WebSocketChannel::bufferedAmount):
2720         (WebCore::WebSocketChannel::close):
2721         (WebCore::WebSocketChannel::disconnect):
2722         (WebCore::WebSocketChannel::didOpen):
2723         (WebCore::WebSocketChannel::didClose):
2724         (WebCore::WebSocketChannel::didReceiveData):
2725         (WebCore::WebSocketChannel::didFail):
2726
2727 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
2728
2729         Build fix.
2730
2731         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2732         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
2733         is static, so it can't use member variables directly.
2734
2735 2009-11-23  Alexey Proskuryakov  <ap@apple.com>
2736
2737         Reviewed by Brady Eidson.
2738
2739         https://bugs.webkit.org/show_bug.cgi?id=31748
2740         Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
2741
2742         * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
2743         they didn't carry useful information.
2744
2745         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2746         (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
2747         always need https.
2748         (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
2749         only get scheduled after PAC is fetched and executed asynchronously.
2750         (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
2751         source.
2752         (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
2753         (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
2754         (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
2755         we make the call even on Mac.
2756         (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
2757         (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
2758         we need to get rid of the event source.
2759         (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
2760         (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
2761         array may come directly from system configuration, or from PAC.
2762         (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
2763         separate.
2764         (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
2765         before we get to the destructor.
2766         (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
2767         is still in progress.
2768
2769 2009-11-23  Oliver Hunt  <oliver@apple.com>
2770
2771         Reviewed by Geoff Garen.
2772
2773         Don't leak the CGImage we create when drawing a sub image.
2774
2775         * platform/graphics/cg/ImageCG.cpp:
2776         (WebCore::BitmapImage::draw):
2777
2778 2009-11-23  Adam Barth  <abarth@webkit.org>
2779
2780         Reviewed by Dimitri Glazkov.
2781
2782         [V8] Don't crash when OOM in creating isolated world
2783         https://bugs.webkit.org/show_bug.cgi?id=31805
2784
2785         We need to add some more null checks to avoid crashing.  No new tests
2786         because we don't have a good way to test out-of-memory bugs.
2787
2788         * bindings/v8/V8Proxy.cpp:
2789         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2790         (WebCore::V8Proxy::evaluateInNewContext):
2791         (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2792         * bindings/v8/V8Proxy.h:
2793
2794 2009-11-23  Dirk Schulze  <krit@webkit.org>
2795
2796         Reviewed by Nikolas Zimmermann.
2797
2798         This is the implementation of the filterRes attribute. It
2799         helps the SVG developer to set the quality of a filter by
2800         giving the width or height of filter.
2801         This patch also sets the filter resolution to lower values
2802         if a intermediate ImageBuffer size is bigger than the given
2803         maximal size.
2804         The maximal size is set to 5000x5000 by default. This is a
2805         subjectiv decission. Everthing greater than this values gets
2806         sensible slower. Values of 10000x10000 crashed on WebKitGtk.
2807         For mobil devices a maximum size of 100x100 or 200x200 seems
2808         to be reasonable.
2809         The important fact on filter resolution is, that the output
2810         size is still the size given by the <filter> element.
2811
2812         Tests: svg/filters/big-sized-filter-2.svg
2813                svg/filters/big-sized-filter.svg
2814                svg/filters/filterRes.svg
2815
2816         * platform/graphics/FloatRect.cpp:
2817         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
2818         * platform/graphics/FloatRect.h:
2819         (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
2820         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2821         (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
2822         calculation.
2823         * platform/graphics/filters/FEBlend.cpp:
2824         (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
2825         * platform/graphics/filters/FEColorMatrix.cpp:
2826         (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
2827         * platform/graphics/filters/FEComponentTransfer.cpp:
2828         (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
2829         calculations.
2830         * platform/graphics/filters/FEComposite.cpp:
2831         (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
2832         * platform/graphics/filters/FEGaussianBlur.cpp:
2833         (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
2834         * platform/graphics/filters/Filter.h: Add the abbility to change the quality
2835         of a filter output.
2836         (WebCore::Filter::filterResolution):
2837         (WebCore::Filter::setFilterResolution):
2838         (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
2839         as well as the scaledSubRegion. It also searches for the biggest effect size.
2840         We have to change the filter resolution, if one intermediate ImageBuffer size
2841         doesn't fit in the maximal image size.
2842         * platform/graphics/filters/FilterEffect.cpp:
2843         (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
2844         the right part of a previous effect result.
2845         (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
2846         the right part of a previous effect result.
2847         (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
2848         a new intermediate ImageBuffer for the result of the current effect.
2849         * platform/graphics/filters/FilterEffect.h:
2850         (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
2851         filter effect.
2852         (WebCore::FilterEffect::setScaledSubRegion):
2853         (WebCore::FilterEffect::effectBoundaries): The original values of the
2854         EffectElement for a second subRegion calculation.
2855         (WebCore::FilterEffect::setEffectBoundaries):
2856         * platform/graphics/filters/ImageBufferFilter.cpp:
2857         (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
2858         * platform/graphics/filters/ImageBufferFilter.h:
2859         (WebCore::ImageBufferFilter::maxImageSize):
2860         (WebCore::ImageBufferFilter::calculateEffectSubRegion):
2861         * platform/graphics/filters/SourceAlpha.cpp:
2862         (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
2863         intern calculations.
2864         * platform/graphics/filters/SourceGraphic.cpp:
2865         (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
2866         intern calculations.
2867         * svg/SVGFilterElement.cpp:
2868         (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
2869         (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
2870         filterResolution.
2871         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2872         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
2873         values to effectBoundaries of the filter effect
2874         * svg/graphics/SVGResourceFilter.cpp:
2875         (WebCore::SVGResourceFilter::SVGResourceFilter):
2876         (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
2877         (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
2878         fits into the maximal image size, modifys scale factors if not and return a
2879         bool: fits.
2880         (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
2881         filterResolution (given by FilterElement or calculated on to big image sizes).
2882         Set the scale level to SVGFilter.
2883         (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
2884         is wrong.
2885         * svg/graphics/SVGResourceFilter.h:
2886         (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
2887         (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
2888         a FilterResolution?
2889         (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
2890         (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
2891         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2892         (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
2893         Kernel values are scaled to current filter resolution too.
2894         * svg/graphics/filters/SVGFEFlood.cpp:
2895         (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
2896         * svg/graphics/filters/SVGFEMerge.cpp:
2897         (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
2898         Kernel values are scaled to current filter resolution too.
2899         * svg/graphics/filters/SVGFEMorphology.cpp:
2900         (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
2901         Kernel values are scaled to current filter resolution too.
2902         * svg/graphics/filters/SVGFEOffset.cpp:
2903         (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
2904         * svg/graphics/filters/SVGFETile.cpp:
2905         (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
2906         * svg/graphics/filters/SVGFilter.cpp:
2907         (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
2908         scaledSubRegion according to the current filterResolution and get the maximal image size.
2909         * svg/graphics/filters/SVGFilter.h:
2910         (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
2911         (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
2912         (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
2913         (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
2914
2915 2009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
2916
2917         Reviewed by Kenneth Rohde Christiansen.
2918
2919         [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
2920         the wrapped object died before the gc removed the instance.
2921
2922         https://bugs.webkit.org/show_bug.cgi?id=31681
2923
2924         Before using a cached instance, verify that its wrapped QObject is
2925         still alive.
2926
2927         * bridge/qt/qt_instance.cpp:
2928         (JSC::Bindings::QtInstance::getQtInstance):
2929         * bridge/qt/qt_instance.h:
2930         (JSC::Bindings::QtInstance::hashKey):
2931
2932 2009-11-22  Chris Fleizach  <cfleizach@apple.com>
2933
2934         Reviewed by Oliver Hunt.
2935
2936         ARIA: support aria-flowto
2937         https://bugs.webkit.org/show_bug.cgi?id=31762
2938
2939         Test: platform/mac/accessibility/aria-flowto.html
2940
2941         * accessibility/AccessibilityObject.h:
2942         (WebCore::AccessibilityObject::ariaOwnsElements):
2943         (WebCore::AccessibilityObject::supportsARIAFlowTo):
2944         (WebCore::AccessibilityObject::ariaFlowToElements):
2945         * accessibility/AccessibilityRenderObject.cpp:
2946         (WebCore::AccessibilityRenderObject::linkedUIElements):
2947         (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
2948         (WebCore::AccessibilityRenderObject::ariaFlowToElements):
2949         * accessibility/AccessibilityRenderObject.h:
2950         * html/HTMLAttributeNames.in:
2951
2952 2009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
2953
2954         Not reviewed. Build fix for WML enabled builds.
2955         Adopt WebCore API changes.
2956
2957         * wml/WMLAElement.cpp:
2958         (WebCore::WMLAElement::defaultEventHandler):
2959         * wml/WMLInputElement.cpp:
2960         (WebCore::WMLInputElement::defaultEventHandler):
2961
2962 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
2963
2964         Reviewed by Timothy Hatcher.
2965
2966         Web Inspector: Introduce sidebar background on timeline panel in order
2967         to prevent it from flickering on scroll.
2968
2969         https://bugs.webkit.org/show_bug.cgi?id=31789
2970
2971         * inspector/front-end/TimelinePanel.js:
2972         (WebInspector.TimelinePanel):
2973         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
2974         (WebInspector.TimelinePanel.prototype._onScroll):
2975         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
2976         * inspector/front-end/inspector.css:
2977
2978 2009-11-22  Pavel Feldman  <pfeldman@chromium.org>
2979
2980         Reviewed by Timothy Hatcher.
2981
2982         Web Inspector: Reimplement TimelinePanel to make it fast:
2983         - Extract grid and overview into separate files
2984         - Make timeline create only divs for visible rows
2985
2986         https://bugs.webkit.org/show_bug.cgi?id=31784
2987
2988         * WebCore.gypi:
2989         * WebCore.vcproj/WebCore.vcproj:
2990         * inspector/front-end/AbstractTimelinePanel.js:
2991         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
2992         (WebInspector.AbstractTimelinePanel.prototype.refresh):
2993         (WebInspector.AbstractTimelinePanel.prototype.set calculator):
2994         * inspector/front-end/TimelineGrid.js: Added.
2995         (WebInspector.TimelineGrid):
2996         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
2997         (WebInspector.TimelineGrid.prototype.updateDividers):
2998         (WebInspector.TimelineGrid.prototype.addEventDivider):
2999         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
3000         * inspector/front-end/TimelineOverviewPane.js: Added.
3001         (WebInspector.TimelineOverviewPane):
3002         (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
3003         (WebInspector.TimelineOverviewPane.prototype.update):
3004         (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
3005         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
3006         (WebInspector.TimelineOverviewPane.prototype.reset):
3007         (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
3008         (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
3009         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
3010         (WebInspector.TimelineOverviewPane.prototype._windowDragging):
3011         (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
3012         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
3013         (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
3014         (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
3015         (WebInspector.TimelineOverviewCalculator):
3016         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
3017         (WebInspector.TimelineOverviewCalculator.prototype.reset):
3018         (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
3019         (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
3020         (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
3021         (WebInspector.TimelineCategoryTreeElement):
3022         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3023         (WebInspector.TimelineCategoryGraph):
3024         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
3025         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
3026         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3027         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
3028         * inspector/front-end/TimelinePanel.js:
3029         (WebInspector.TimelinePanel):
3030         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3031         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
3032         (WebInspector.TimelinePanel.prototype._formatRecord):
3033         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
3034         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
3035         (WebInspector.TimelinePanel.prototype.resize):
3036         (WebInspector.TimelinePanel.prototype.reset):
3037         (WebInspector.TimelinePanel.prototype.show):
3038         (WebInspector.TimelinePanel.prototype._onScroll):
3039         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
3040         (WebInspector.TimelinePanel.prototype._refresh):
3041         (WebInspector.TimelinePanel.prototype._refreshRecords):
3042         (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
3043         (WebInspector.TimelineCategory):
3044         (WebInspector.TimelineCalculator):
3045         (WebInspector.TimelineCalculator.prototype.get boundarySpan):
3046         (WebInspector.TimelineRecordListRow):
3047         (WebInspector.TimelineRecordListRow.prototype.update):
3048         (WebInspector.TimelineRecordGraphRow):
3049         (WebInspector.TimelineRecordGraphRow.prototype.update):
3050         * inspector/front-end/WebKit.qrc:
3051         * inspector/front-end/inspector.css:
3052         * inspector/front-end/inspector.html:
3053
3054 2009-11-22  Chris Evans  <cevans@chromium.org>
3055
3056         Reviewed by Adam Barth.
3057
3058         Disable access to file:/// directory listings
3059         https://bugs.webkit.org/show_bug.cgi?id=31329
3060
3061         Deny access to directory listings. This needs doing in WebKit for
3062         WebKit clients that do permit top-level navigation to file:///dir.
3063         This matches Firefox, plus the existing Safari implementation (which
3064         does not support any directory access at all). It will fix the
3065         LayoutTest named below for Chromium.
3066
3067         Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
3068
3069         * page/SecurityOrigin.cpp: Deny access to directory listings.
3070         (WebCore::SecurityOrigin::SecurityOrigin):
3071         (WebCore::SecurityOrigin::canRequest):
3072
3073 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
3074
3075         Reviewed by Timothy Hatcher.
3076
3077         Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
3078         https://bugs.webkit.org/show_bug.cgi?id=31400
3079
3080         Handle the following when on a Mac:
3081
3082           Ctrl+P = Previous (like Up arrow)
3083           Ctrl+N = Next (like Down arrow)
3084
3085         No longer rerun autocompletion when just pushing a modifier key
3086         like Control, Alt, Shift, or Meta.
3087
3088         Improved arrow key behavior with Multiline code in the Console, with the following behavior:
3089
3090           Up   = Previous Command if on First Line (caret moves to the end of the first line)
3091                  otherwise default caret movement in text.
3092           Down = Next Command if on Last Line (caret naturally moves to the end)
3093                  otherwise default caret movement in text.
3094
3095         * inspector/front-end/TextPrompt.js:
3096         (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
3097         (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
3098         (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
3099         (WebInspector.TextPrompt.prototype._upKeyPressed):
3100         (WebInspector.TextPrompt.prototype._downKeyPressed):
3101         (WebInspector.TextPrompt.prototype._moveBackInHistory):
3102         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
3103
3104 2009-11-21  Jessie Berlin  <jberlin@webkit.org>
3105
3106         Reviewed by Timothy Hatcher.
3107
3108         Adds a tooltip containing the full url of the resource to each element
3109         in the Resources panel so that it is possible to quickly see the query
3110         parameters.
3111         https://bugs.webkit.org/show_bug.cgi?id=19103
3112
3113         * inspector/front-end/ResourcesPanel.js:
3114         (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
3115         Set the tooltip to be the resource's url.
3116
3117 2009-11-21  Simon Fraser  <simon.fraser@apple.com>
3118
3119         Reviewed by Dan Bernstein.
3120
3121         CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
3122         https://bugs.webkit.org/show_bug.cgi?id=31588
3123         
3124         In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
3125         so that findRule() and deleteRule() work with these keywords.
3126
3127         * css/WebKitCSSKeyframesRule.cpp:
3128         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
3129
3130 2009-11-21  Daniel Bates  <dbates@webkit.org>
3131
3132         Reviewed by Eric Seidel.
3133
3134         https://bugs.webkit.org/show_bug.cgi?id=31647
3135
3136         Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
3137
3138         No functionality was changed. So, no new tests.
3139
3140         * dom/KeyboardEvent.cpp:
3141         (WebCore::KeyboardEvent::~KeyboardEvent):
3142         * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
3143         (WebCore::KeyboardEvent::keyEvent):
3144
3145 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
3146
3147         Reviewed by Beth Dakin.
3148
3149         WAI-ARIA: add support for aria-owns
3150         https://bugs.webkit.org/show_bug.cgi?id=31702
3151
3152         Re-organized how accessibilityAttributeNames are returned so 
3153         that it's possible for an element to add an attribute based on 
3154         a dynamic value. In this case, we only want to add AXOwn if the 
3155         element actually supports aria-owns.
3156   
3157         Test: platform/mac/accessibility/aria-owns.html
3158
3159         * accessibility/AccessibilityObject.h:
3160         (WebCore::AccessibilityObject::supportsARIAOwns):
3161         (WebCore::AccessibilityObject::ariaOwnsElements):
3162         * accessibility/AccessibilityRenderObject.cpp:
3163         (WebCore::AccessibilityRenderObject::ariaOwnsElements):
3164         (WebCore::AccessibilityRenderObject::supportsARIAOwns):
3165         * accessibility/AccessibilityRenderObject.h:
3166         * accessibility/mac/AccessibilityObjectWrapper.mm:
3167         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
3168         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3169         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3170         * html/HTMLAttributeNames.in:
3171
3172 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
3173
3174         Reviewed by Simon Fraser.
3175
3176         <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
3177
3178         * css/mediaControls.css:
3179             Define closed caption toggle button.
3180
3181         * rendering/RenderMedia.cpp:
3182         (WebCore::RenderMedia::updateControls):
3183             Create closed caption toggle button in display order.
3184
3185         * rendering/RenderThemeMac.mm:
3186         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
3187             Don't require MediaControllerThemeQuickTime theme for captions toggle button.
3188             No need to check if the movie has video, a closed captions track is a video
3189             track.
3190
3191 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
3192
3193         Reviewed by Timothy Hatcher.
3194
3195         Web Inspector: Running code in the Console that ends with a
3196         single line comment no longer produces a parse error.
3197
3198         * inspector/front-end/InjectedScript.js:
3199         (InjectedScript._evaluateOn):
3200
3201 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
3202
3203         Reviewed by Beth Dakin.
3204
3205         WAI-ARIA: add support for 'math' role
3206         https://bugs.webkit.org/show_bug.cgi?id=31706
3207
3208         * accessibility/AccessibilityObject.cpp:
3209         * accessibility/AccessibilityObject.h:
3210         * accessibility/mac/AccessibilityObjectWrapper.mm:
3211
3212 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
3213
3214         Reviewed by Kenneth Rohde Christiansen.
3215
3216         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
3217         https://bugs.webkit.org/show_bug.cgi?id=30460
3218
3219         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
3220         It already refreshes plugins and reloads pages when necessary.
3221
3222         Tests: plugins/reloadplugins-and-pages.html
3223                plugins/reloadplugins-no-pages.html
3224
3225         * plugins/PluginInfoStore.cpp:
3226         (WebCore::refreshPlugins):
3227
3228 2009-11-20  Oliver Hunt  <oliver@apple.com>
3229
3230         Reviewed by Dave Hyatt.
3231
3232         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
3233
3234         Expose WebCore object serialization to WebKit.
3235
3236         * WebCore.base.exp:
3237         * bindings/js/SerializedScriptValue.cpp:
3238         (WebCore::SerializedScriptValue::~SerializedScriptValue):
3239         (WebCore::SerializedScriptValue::create):
3240         (WebCore::SerializedScriptValue::deserialize):
3241         * bindings/js/SerializedScriptValue.h:
3242
3243 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
3244
3245         Reviewed by Tim Hatcher.
3246
3247         Fixes <http://webkit.org/b/31741>.
3248         Web Inspector: User Entered Data on the console should show up no matter what filters.
3249         
3250         Always show .console-user-command-result, no matter what the filter say
3251         we should do with the other classes.
3252
3253         * inspector/front-end/inspector.css:
3254
3255 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
3256
3257         Reviewed by Tim Hatcher.
3258
3259         Fixes <http://webkit.org/b/31700>.
3260         Web Inspector: isMac should be in one central location + Cached.
3261         
3262         We should cache the value of isMac, and make the indexOf call in one
3263         single location, because we are calling it from multiple places, and saving
3264         the result can save us time, and make the call sites simpler.
3265
3266         * inspector/front-end/AbstractTimelinePanel.js:
3267         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
3268         * inspector/front-end/ConsoleView.js:
3269         (WebInspector.ConsoleView.prototype._updateFilter):
3270         * inspector/front-end/ElementsPanel.js:
3271         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
3272         * inspector/front-end/ScriptsPanel.js:
3273         (WebInspector.ScriptsPanel):
3274         * inspector/front-end/SourceFrame.js:
3275         (WebInspector.SourceFrame.prototype._loaded):
3276         * inspector/front-end/inspector.js:
3277         (WebInspector.documentKeyDown):
3278         (WebInspector.isMac):
3279
3280 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
3281
3282         Removed .DS_Store accidentally added in last (r51245).
3283
3284 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
3285
3286         Reviewed by Timothy Hatcher.
3287
3288         Web Inspector: Add Console Only Layout Mode
3289         https://bugs.webkit.org/show_bug.cgi?id=30282
3290
3291         Adds a Console Panel, which allows for a Full size Console. This
3292         extends the Drawer to the size of a Panel. This also fixes previous
3293         resize issues with the Drawer.
3294
3295         * inspector/front-end/ConsolePanel.js: added.
3296         (WebInspector.ConsolePanel):
3297         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
3298         (WebInspector.ConsolePanel.prototype.show):
3299         (WebInspector.ConsolePanel.prototype.hide):
3300         * inspector/front-end/Drawer.js:
3301         (WebInspector.Drawer):
3302         (WebInspector.Drawer.prototype.set visibleView):
3303         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
3304         (WebInspector.Drawer.prototype.show.animationFinished):
3305         (WebInspector.Drawer.prototype.show):
3306         (WebInspector.Drawer.prototype.hide.animationFinished):
3307         (WebInspector.Drawer.prototype.hide):
3308         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
3309         (WebInspector.Drawer.prototype.enterPanelMode):
3310         (WebInspector.Drawer.prototype.exitPanelMode):
3311         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
3312         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
3313         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
3314         (WebInspector.Drawer.prototype._animateDrawerHeight):
3315         (WebInspector.Drawer.prototype._animationDuration):
3316         (WebInspector.Drawer.prototype._startStatusBarDragging):
3317         (WebInspector.Drawer.prototype._statusBarDragging):
3318         (WebInspector.Drawer.prototype._endStatusBarDragging):
3319
3320         Miscellaneous changes and cleanup.
3321
3322         * English.lproj/localizedStrings.js: "Console" toolbar title.
3323         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
3324         * inspector/front-end/Images/consoleIcon.png: added.
3325         * inspector/front-end/inspector.css: added icon.
3326         * inspector/front-end/inspector.html:
3327         * inspector/front-end/inspector.js:
3328         (WebInspector._createPanels): create console panel
3329         (WebInspector.windowResize): resize drawer if necessary
3330         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
3331         (WebInspector.animateStyle): start animation interval, returns the interval key
3332         (WebInspector.toggleAttach): resize drawer if necessary
3333         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
3334         (WebInspector.showProfileForURL): style fix
3335
3336         Restore the panel when the inspector restarts.
3337
3338         * inspector/InspectorController.cpp:
3339         (WebCore::InspectorController::setWindowVisible):
3340         (WebCore::InspectorController::specialPanelForJSName):
3341         * inspector/InspectorFrontend.cpp:
3342         (WebCore::InspectorFrontend::showPanel):
3343
3344         Build files.
3345
3346         * WebCore.gypi:
3347         * WebCore.vcproj/WebCore.vcproj:
3348         * inspector/front-end/WebKit.qrc:
3349
3350 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
3351
3352         Reviewed by Tim Hatcher.
3353
3354         Fixes <http://webkit.org/b/31699>.
3355         Web Inspector: Should Cache Values of InspectorController.platform() and port().
3356
3357         Refactor the Inspector to cache the value of InspectorController.platform
3358         and InspectorController.port, because those need to call into C++, they are
3359         being called more and more as we add platform specific keyboard shortcuts, and
3360         they shouldn't change in the lifecycle of the Web Inspector.
3361
3362         * inspector/front-end/AbstractTimelinePanel.js:
3363         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
3364         * inspector/front-end/ConsoleView.js:
3365         (WebInspector.ConsoleView.prototype._updateFilter):
3366         * inspector/front-end/ElementsPanel.js:
3367         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
3368         * inspector/front-end/ScriptsPanel.js:
3369         (WebInspector.ScriptsPanel):
3370         * inspector/front-end/SourceFrame.js:
3371         (WebInspector.SourceFrame.prototype._loaded):
3372         * inspector/front-end/inspector.js:
3373         (WebInspector.get platform):
3374         (WebInspector.get port):
3375         (WebInspector.loaded):
3376         (WebInspector.documentKeyDown):
3377         (WebInspector.toolbarDragStart):
3378
3379 2009-11-20  Dirk Schulze  <krit@webkit.org>
3380
3381         Unreviewed build fix for filters enabled builds.
3382
3383         * platform/graphics/filters/FEColorMatrix.cpp:
3384         (WebCore::FEColorMatrix::apply):
3385         * platform/graphics/filters/FEComposite.cpp:
3386         (WebCore::FEComposite::apply):
3387         * platform/graphics/filters/SourceGraphic.cpp:
3388         (WebCore::SourceGraphic::apply):
3389         * svg/graphics/SVGResourceFilter.cpp:
3390         (WebCore::SVGResourceFilter::applyFilter):
3391         * svg/graphics/filters/SVGFEMerge.cpp:
3392         (WebCore::FEMerge::apply):
3393         * svg/graphics/filters/SVGFEOffset.cpp:
3394         (WebCore::FEOffset::apply):
3395         * svg/graphics/filters/SVGFETile.cpp:
3396         (WebCore::FETile::apply):
3397
3398 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
3399
3400         Reviewed by Simon Fraser.
3401
3402         <rdar://problem/7389945> QTKit based media engine should not claim to support 
3403         fullscreen on Leopard
3404
3405         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3406         (WebCore::MediaPlayerPrivate::supportsFullscreen):
3407             Only return true on SnowLeopard for now.
3408
3409         * rendering/RenderThemeMac.mm:
3410         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
3411             No need to special case MediaFullscreenButtonPart as the default implementation 
3412             asks the media engine if it supports fullscreen.
3413
3414 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
3415
3416         Reviewed by Simon Hausmann.
3417
3418         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
3419                  Girish Ramakrishnan <girish@forwardbias.in>
3420         
3421         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
3422         without a QWebView or when inside QGraphicsWebView.
3423         
3424         Currently, the code provides the cgcontext of the PlatformPluginWidget to
3425         the plugin. This approach does not work when we are printing, or using
3426         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
3427         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
3428         of the QPaintDevice's context.
3429         
3430         To solve all cases and keep the code simple, we render the plugin to an
3431         offscreen pixmap in all cases. This way, the plugin always renders to the
3432         CGContext of the pixmap and we then use QPainter to blit the pixmap into
3433         the QPaintDevice. We also create a fake window and set it's WindowRef in
3434         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
3435         
3436         Now, that's the theory. In practice, ATM, mouse events do not work when using
3437         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
3438         so that there are no regressions after this patch. Once we get mouse events
3439         working, setPlatformPluginWidget will be removed.
3440         
3441         https://bugs.webkit.org/show_bug.cgi?id=31183
3442
3443         * plugins/PluginView.cpp:
3444         (WebCore::PluginView::PluginView):
3445         * plugins/PluginView.h:
3446         * plugins/mac/PluginViewMac.cpp:
3447         (WebCore::PluginView::platformStart):
3448         (WebCore::PluginView::platformDestroy):
3449         (WebCore::PluginView::setNPWindowIfNeeded):
3450         (WebCore::PluginView::updatePluginWidget):
3451         (WebCore::PluginView::paint):
3452         (WebCore::PluginView::invalidateRect):
3453
3454 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
3455
3456         Reviewed by Timothy Hatcher.
3457
3458         Web Inspector: Resync Resources Backend and Frontend
3459         https://bugs.webkit.org/show_bug.cgi?id=31705
3460
3461         * inspector/front-end/Resource.js: resync enum values with backend
3462         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
3463
3464 2009-11-19  Steve Block  <steveblock@google.com>
3465
3466         Reviewed by Darin Fisher.
3467
3468         Android port lacks configuration in Platform.h and config.h.
3469         https://bugs.webkit.org/show_bug.cgi?id=31671
3470
3471         Build change only. No new tests possible.
3472
3473         * config.h: Modified. Added Android-specific configuration.
3474
3475 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
3476
3477         Reviewed by Darin Adler.
3478
3479         Change default stylesheet to reset text indentation for ruby elements by default.
3480         (https://bugs.webkit.org/show_bug.cgi?id=31247)
3481
3482         Test: fast/ruby/ruby-text-indent.html
3483
3484         * css/html.css: reset text-indent on <ruby> and <rt> elements
3485
3486 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
3487
3488         Reviewed by Darin Adler.
3489
3490         Fixes <http://webkit.org/b/22754>.
3491         Web Inspector: Keyboard shortcut for Element finder.
3492
3493         Use Command + Shift + C as a shortcut for Node Search, to 
3494         match the Firebug shortcut to do the same thing.
3495
3496         * inspector/front-end/ElementsPanel.js:
3497         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
3498
3499 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
3500
3501         Reviewed by Darin Adler.
3502
3503         https://bugs.webkit.org/show_bug.cgi?id=31690
3504         Make SocketStreamHandleCFNet work on Windows
3505
3506         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
3507
3508         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
3509
3510         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
3511         (WebCore::emptyPerform):
3512         (WebCore::runLoaderThread):
3513         (WebCore::loaderRunLoop):
3514         * platform/network/cf/LoaderRunLoopCF.h: Added.
3515         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
3516         it's needed for more than just resource loading.
3517
3518         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
3519
3520         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
3521
3522         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
3523         main thread.
3524         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3525         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
3526         inoperable main run loop.
3527
3528         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
3529         (WebCore::SocketStreamHandle::readStreamCallback):
3530         (WebCore::SocketStreamHandle::writeStreamCallback):
3531         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
3532         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
3533         Forward stream events to main thread on Windows.
3534
3535 2009-11-19  Avi Drissman  <avi@chromium.org>
3536
3537         Reviewed by Darin Adler.
3538
3539         Quick style fix.
3540         https://bugs.webkit.org/show_bug.cgi?id=27777
3541
3542         * platform/graphics/cg/PDFDocumentImage.cpp:
3543
3544 2009-11-19  Beth Dakin  <bdakin@apple.com>
3545
3546        Build fix. No review needed.
3547
3548         * platform/chromium/ScrollbarThemeChromium.cpp:
3549         (WebCore::ScrollbarThemeChromium::paintTickmarks):
3550         * rendering/RenderMediaControlsChromium.cpp:
3551         (WebCore::paintMediaButton):
3552
3553 2009-11-19  Beth Dakin  <bdakin@apple.com>
3554       
3555        Build fix. No review needed.
3556
3557         * rendering/RenderThemeChromiumSkia.cpp:
3558         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
3559         (WebCore::RenderThemeChromiumSkia::paintRadio):
3560         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
3561         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
3562         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
3563
3564 2009-11-19  Beth Dakin  <bdakin@apple.com>
3565
3566        Build fix. No review needed.
3567
3568         * platform/graphics/qt/StillImageQt.cpp:
3569         (WebCore::StillImage::draw):
3570         * platform/graphics/qt/StillImageQt.h:
3571
3572 2009-11-19  Beth Dakin  <bdakin@apple.com>
3573
3574        Build fix. No review needed.
3575
3576         * rendering/RenderThemeWin.cpp:
3577         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
3578         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
3579         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
3580
3581 2009-11-19  Beth Dakin  <bdakin@apple.com>
3582
3583        Build fix. No review needed.
3584
3585         * plugins/PluginView.cpp:
3586         (WebCore::PluginView::paintMissingPluginIcon):
3587
3588 2009-11-19  Beth Dakin  <bdakin@apple.com>
3589
3590         Build fix. No review needed.
3591
3592         * platform/graphics/win/ImageCGWin.cpp:
3593         (WebCore::BitmapImage::getHBITMAPOfSize):
3594         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3595
3596 2009-11-19  Beth Dakin  <bdakin@apple.com>
3597
3598         Reviewed by Darin Adler.
3599
3600         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
3601         color-correction work with untagged images
3602
3603         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
3604         now take a ColorSpace. A bunch of classes inherit from Image, so 
3605         draw() and drawPattern() functions there must also take a 
3606         ColorSpace.
3607         * platform/graphics/Image.cpp:
3608         (WebCore::Image::fillWithSolidColor):
3609         (WebCore::Image::drawTiled):
3610         * platform/graphics/Image.h:
3611         * platform/graphics/BitmapImage.h:
3612         * platform/graphics/GeneratedImage.cpp:
3613         (WebCore::GeneratedImage::draw):
3614         (WebCore::GeneratedImage::drawPattern):
3615         * platform/graphics/GeneratedImage.h:
3616         * platform/graphics/cg/PDFDocumentImage.cpp:
3617         (WebCore::PDFDocumentImage::draw):
3618         * platform/graphics/cg/PDFDocumentImage.h:
3619         * svg/graphics/SVGImage.cpp:
3620         (WebCore::SVGImage::draw):
3621         * svg/graphics/SVGImage.h:
3622
3623         All of the drawImage() functions and drawTiled() functions of 
3624         GraphicsContext now take a ColorSpace.
3625         * platform/graphics/GraphicsContext.cpp:
3626         (WebCore::GraphicsContext::drawImage):
3627         (WebCore::GraphicsContext::drawTiledImage):
3628         * platform/graphics/GraphicsContext.h:
3629
3630         This is where the actual work is done.
3631         * platform/graphics/cg/ImageCG.cpp:
3632         (WebCore::imageWithColorSpace): New static function that returns a 
3633         copy of the given image in the given ColorSpace *IF* we should use 
3634         the given ColorSpace. We will ignore the color space if the image 
3635         is tagged and return 0. 
3636         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
3637         call imageWithColorSpace(). 
3638         (WebCore::Image::drawPattern): Same.
3639
3640         Attempt to keep all ports building. 
3641         * platform/graphics/cairo/ImageCairo.cpp:
3642         (WebCore::BitmapImage::draw):
3643         (WebCore::Image::drawPattern):
3644         * platform/graphics/haiku/ImageHaiku.cpp:
3645         (WebCore::BitmapImage::draw):
3646         (WebCore::Image::drawPattern):
3647         * platform/graphics/qt/ImageQt.cpp:
3648         (WebCore::Image::drawPattern):
3649         (WebCore::BitmapImage::draw):
3650         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
3651         * platform/graphics/skia/ImageSkia.cpp:
3652         (WebCore::Image::drawPattern):
3653         (WebCore::BitmapImage::draw):
3654         (WebCore::BitmapImageSingleFrameSkia::draw):
3655         * platform/graphics/wx/ImageWx.cpp:
3656         (WebCore::BitmapImage::draw):
3657         (WebCore::BitmapImage::drawPattern):
3658
3659         Callers of GraphicsContext's drawImage() and drawTiled() functions 
3660         now need to send a ColorSpace.
3661         * html/HTMLCanvasElement.cpp:
3662         (WebCore::HTMLCanvasElement::paint):
3663         * html/canvas/CanvasRenderingContext2D.cpp:
3664         (WebCore::CanvasRenderingContext2D::drawImage):
3665         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
3666         * platform/ScrollView.cpp:
3667         (WebCore::ScrollView::wheelEvent):
3668         * platform/graphics/filters/FEColorMatrix.cpp:
3669         (WebCore::FEColorMatrix::apply):
3670         * platform/graphics/filters/FEComposite.cpp:
3671         (WebCore::FEComposite::apply):
3672         * platform/graphics/filters/SourceGraphic.cpp:
3673         (WebCore::SourceGraphic::apply):
3674         * platform/mac/ScrollbarThemeMac.mm:
3675         (WebCore::ScrollbarThemeMac::paint):
3676         * rendering/RenderBoxModelObject.cpp:
3677         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3678         (WebCore::RenderBoxModelObject::paintNinePieceImage):
3679         * rendering/RenderImage.cpp:
3680         (WebCore::RenderImage::paintReplaced):
3681         * rendering/RenderLayer.cpp:
3682         (WebCore::RenderLayer::paintResizer):
3683         * rendering/RenderListMarker.cpp:
3684         (WebCore::RenderListMarker::paint):
3685         * rendering/RenderSVGImage.cpp:
3686         (WebCore::RenderSVGImage::paint):
3687         * rendering/RenderWidget.cpp:
3688         (WebCore::RenderWidget::paint):
3689         * svg/graphics/SVGPaintServerPattern.cpp:
3690         (WebCore::SVGPaintServerPattern::setup):
3691         * svg/graphics/SVGResourceFilter.cpp:
3692         (WebCore::SVGResourceFilter::applyFilter):
3693         * svg/graphics/filters/SVGFEMerge.cpp:
3694         (WebCore::FEMerge::apply):
3695         * svg/graphics/filters/SVGFEOffset.cpp:
3696         (WebCore::FEOffset::apply):
3697         * svg/graphics/filters/SVGFETile.cpp:
3698         (WebCore::FETile::apply):
3699
3700 2009-11-19  Avi Drissman  <avi@chromium.org>
3701
3702         Reviewed by Darin Adler.
3703
3704         Properly create a CGImageRef on non-PLATFORM(MAC).
3705         https://bugs.webkit.org/show_bug.cgi?id=27777
3706
3707         * platform/graphics/cg/ImageSourceCG.cpp:
3708         (WebCore::sharedBufferGetBytesAtPosition):
3709         (WebCore::sharedBufferRelease):
3710         (WebCore::ImageSource::setData):
3711         * platform/graphics/cg/ImageSourceCG.h:
3712         * platform/graphics/cg/PDFDocumentImage.cpp:
3713         (WebCore::PDFDocumentImage::dataChanged):
3714
3715 2009-11-19  Oliver Hunt  <oliver@apple.com>
3716
3717         Reviewed by Dave Hyatt.
3718
3719         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
3720         https://bugs.webkit.org/show_bug.cgi?id=31656
3721
3722         Make sure we're a child of the painting root before drawing overflow features.
3723
3724         * manual-tests/user-drag-with-decorations.html: Added.
3725         * rendering/RenderBlock.cpp:
3726         (WebCore::RenderBlock::paint):
3727
3728 2009-11-19  Dmitry Titov  <dimich@chromium.org>
3729
3730         Not reviewed, attempt to fix Chromium build.
3731
3732         * rendering/RenderMediaControlsChromium.cpp:
3733         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
3734
3735 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
3736
3737         Reviewed by Darin Adler.
3738
3739         Do not assert when a high number is used for roman numerals in lists.
3740         https://bugs.webkit.org/show_bug.cgi?id=31652
3741
3742         Test: fast/lists/ol-start-roman.html
3743
3744         * rendering/RenderListMarker.cpp:
3745         (WebCore::toRoman): Increase the char array size.
3746
3747 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3748
3749         Rubber-stamped by Oliver Hunt.
3750
3751         Add translatable strings to cover validationMessage, after
3752         r51172. Already covered by existing test.
3753
3754         * platform/gtk/LocalizedStringsGtk.cpp:
3755         (WebCore::validationMessageValueMissingText):
3756         (WebCore::validationMessageTypeMismatchText):
3757         (WebCore::validationMessagePatternMismatchText):
3758         (WebCore::validationMessageTooLongText):
3759         (WebCore::validationMessageRangeUnderflowText):
3760         (WebCore::validationMessageRangeOverflowText):
3761         (WebCore::validationMessageStepMismatchText):
3762
3763 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3764
3765         Reviewed by Darin Adler.
3766
3767         Remove HAVE(FLOAT_H) guard
3768         https://bugs.webkit.org/show_bug.cgi?id=31661
3769
3770         WebCore has a dependency on float.h, there is
3771         no need to guard float.h.
3772
3773         No new tests as there is no functional change.
3774
3775         * html/HTMLInputElement.cpp: Remove include directive
3776         for float.h as it is included in MathExtras.h already.
3777
3778 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
3779
3780         Reviewed by Pavel Feldman.
3781
3782         Instrumentation should account for painting in compositing layers
3783         https://bugs.webkit.org/show_bug.cgi?id=31674
3784
3785         Add calls to InspectorTimelineAgent for painting into compositing layers,
3786         which is not accounted for in FrameView::paintContents().
3787
3788         * rendering/RenderLayerBacking.cpp:
3789         (WebCore::RenderLayerBacking::paintIntoLayer):
3790         Avoid fetching the FrameView multiple times.
3791         
3792         (WebCore::inspectorTimelineAgent):
3793         (WebCore::RenderLayerBacking::paintContents):
3794
3795 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
3796
3797         Reviewed by Dan Bernstein.
3798
3799         <rdar://problem/7035231>
3800         Support closed caption in <video> element
3801
3802         Test: media/media-captions.html
3803
3804         * WebCore.base.exp:
3805         * accessibility/AccessibilityMediaControls.cpp:
3806         (WebCore::AccessibilityMediaControl::controlTypeName):
3807             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
3808
3809         * css/CSSPrimitiveValueMappings.h:
3810         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3811             Add MediaToggleClosedCaptionsButtonPart.
3812
3813         * css/CSSSelector.cpp:
3814         (WebCore::CSSSelector::extractPseudoType):
3815             Define and match mediaControlsToggleClosedCaptionsButton.
3816
3817         * css/CSSSelector.h:
3818         (WebCore::CSSSelector::):
3819         * css/CSSStyleSelector.cpp:
3820         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3821             Define and match PseudoMediaControlsToggleClosedCaptions.
3822
3823         * css/CSSValueKeywords.in:
3824             Define and use media-toggle-closed-captions-button.
3825
3826         * css/mediaControls.css:
3827         * css/mediaControlsQuickTime.css:
3828             Add webkit-media-controls-toggle-closed-captions-button.
3829
3830         * html/HTMLMediaElement.cpp:
3831         (WebCore::HTMLMediaElement::HTMLMediaElement): 
3832             Initialize m_closedCaptionsVisible.
3833         (WebCore::HTMLMediaElement::loadInternal): 
3834             Set m_closedCaptionsVisible to false.
3835         (WebCore::HTMLMediaElement::hasClosedCaptions): 
3836         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
3837         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
3838             New, captions internal methods.
3839         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
3840         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
3841         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
3842             New, captions DOM API.
3843
3844         * html/HTMLMediaElement.h:
3845         * html/HTMLMediaElement.idl:
3846             Declare methods needed for captions API.
3847
3848         * platform/ThemeTypes.h:
3849             Add MediaToggleClosedCaptionsButtonPart.
3850
3851         * platform/android/LocalizedStringsAndroid.cpp:
3852         (WebCore::localizedMediaControlElementString):
3853         (WebCore::localizedMediaControlElementHelpText):
3854         (WebCore::localizedMediaTimeDescription):
3855             Add empty implmentations.
3856
3857         * platform/graphics/MediaPlayer.cpp:
3858         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
3859         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
3860             New, empty implementations of media engine closed caption functions.
3861         (WebCore::MediaPlayer::hasClosedCaptions):
3862         (WebCore::MediaPlayer::setClosedCaptionsVisible):
3863             New, call media engine closed caption functions.
3864
3865         * platform/graphics/MediaPlayer.h:
3866         * platform/graphics/MediaPlayerPrivate.h:
3867         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
3868         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
3869             Declare new media engine methods.
3870
3871         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3872         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3873         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
3874         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
3875             New, QTKit implementation of closed caption methods.
3876
3877         * platform/gtk/LocalizedStringsGtk.cpp:
3878         (WebCore::localizedMediaControlElementString):
3879         (WebCore::localizedMediaControlElementHelpText):
3880             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
3881
3882         * platform/mac/WebCoreSystemInterface.h:
3883         * platform/mac/WebCoreSystemInterface.mm:
3884             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
3885
3886         * rendering/MediaControlElements.cpp:
3887         (WebCore::MediaControlInputElement::MediaControlInputElement):
3888             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
3889         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
3890         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
3891         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
3892             New, implement the closed caption toggle button,
3893
3894         * rendering/MediaControlElements.h:
3895             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
3896             declare MediaControlToggleClosedCaptionsButtonElement.
3897
3898         * rendering/RenderMedia.cpp:
3899         (WebCore::RenderMedia::styleDidChange):
3900         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
3901         (WebCore::RenderMedia::createStatusDisplay):
3902         (WebCore::RenderMedia::updateControls):
3903         (WebCore::RenderMedia::forwardEvent):
3904         * rendering/RenderMedia.h:
3905             Deal with m_toggleClosedCaptionsButton.
3906
3907         * rendering/RenderTheme.cpp:
3908         (WebCore::RenderTheme::paint):
3909             Deal with MediaToggleClosedCaptionsButtonPart.
3910
3911         * rendering/RenderTheme.h:
3912         * rendering/RenderThemeMac.h:
3913             Declare paintMediaToggleClosedCaptionsButton.
3914
3915         * rendering/RenderThemeMac.mm:
3916         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
3917             New.
3918         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
3919             Don't render captions toggle button unless we are using the new theme, the
3920             movie has captions, and the movie is in a <video> element since we currently
3921             rely on QTKit to render the captions.
3922
3923         * rendering/style/RenderStyleConstants.h:
3924             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
3925
3926 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
3927
3928         wx build fix. Add missing header.
3929
3930         * platform/wx/LocalizedStringsWx.cpp:
3931
3932 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
3933
3934         Reviewed by Darin Adler.
3935
3936         https://bugs.webkit.org/show_bug.cgi?id=31634
3937         Ignore realm for proxy protection spaces
3938
3939         Only affects WebSocket proxy authentication, cannot be tested in DRT.
3940
3941         * platform/network/ProtectionSpace.cpp:
3942         (WebCore::operator==):
3943         * platform/network/ProtectionSpaceHash.h:
3944         (WebCore::ProtectionSpaceHash::hash):
3945
3946 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
3947
3948         Reviewed by Simon Hausmann.
3949
3950         [Qt] Normalize signal and slot signatures.
3951
3952         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3953         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3954
3955 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
3956
3957         Reviewed by Pavel Feldman.
3958
3959         Store cookie domains in the WebInspector object
3960
3961         The cookie domains have been moved from StoragePanel into WebInspector.
3962         Also, the document URLs are now passed inside the WebInspector.addResource()
3963         payload rather than pushed directly from InspectorController.
3964         https://bugs.webkit.org/show_bug.cgi?id=31627
3965
3966         * inspector/InspectorController.cpp:
3967         (WebCore::InspectorController::populateScriptObjects):
3968         (WebCore::InspectorController::didFinishLoading):
3969         * inspector/InspectorFrontend.cpp:
3970         * inspector/InspectorFrontend.h:
3971         * inspector/InspectorResource.cpp:
3972         (WebCore::InspectorResource::createScriptObject):
3973         (WebCore::InspectorResource::updateScriptObject):
3974         * inspector/front-end/StoragePanel.js:
3975         (WebInspector.StoragePanel.prototype.reset):
3976         (WebInspector.StoragePanel.prototype.addCookieDomain):
3977         * inspector/front-end/inspector.js:
3978         (WebInspector.addResource):
3979         (WebInspector.addCookieDomain):
3980         (WebInspector.reset):
3981
3982 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
3983
3984         Reviewed by Darin Adler.
3985
3986         Allow custom memory allocation control for the other part of platform directory in WebCore
3987         https://bugs.webkit.org/show_bug.cgi?id=31585
3988
3989         Inherits the following classes from FastAllocBase because these are
3990         instantiated by 'new':
3991
3992         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
3993         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
3994         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
3995         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
3996
3997         Inherits the following classes from Noncopyable because these are
3998         instantiated by 'new' and no need to be copyable:
3999
4000         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
4001         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
4002         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
4003
4004         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
4005         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
4006
4007         * platform/graphics/MediaPlayerPrivate.h:
4008         * platform/graphics/Path.h:
4009         * platform/graphics/qt/FontPlatformData.h:
4010         * platform/graphics/transforms/TransformationMatrix.h:
4011         * platform/image-decoders/ImageDecoder.h:
4012         * platform/network/NetworkStateNotifier.h:
4013         * platform/network/ResourceRequestBase.h:
4014         * platform/qt/CursorQt.cpp:
4015         * platform/text/RegularExpression.h:
4016
4017 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4018
4019         Unreviewed.
4020
4021         [Qt] Build fix for QtWebKit after r51172.
4022
4023         * platform/qt/Localizations.cpp:
4024         (WebCore::validationMessageValueMissingText):
4025         (WebCore::validationMessageTypeMismatchText):
4026         (WebCore::validationMessagePatternMismatchText):
4027         (WebCore::validationMessageTooLongText):
4028         (WebCore::validationMessageRangeUnderflowText):
4029         (WebCore::validationMessageRangeOverflowText):
4030         (WebCore::validationMessageStepMismatchText):
4031
4032 2009-11-18  Dan Bernstein  <mitz@apple.com>
4033
4034         Reviewed by Simon Fraser.
4035
4036         Fixed <rdar://problem/7398987> Assertion failure in
4037         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
4038         enclosed by a transformed layer
4039
4040         Tests: fast/layers/clip-rects-transformed-2.html
4041                fast/layers/clip-rects-transformed.html
4042
4043         * rendering/RenderLayer.cpp:
4044         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
4045         that is either transformed or composited. During painting and hit
4046         testing, when a transformed or composited layer is hit, it becomes the
4047         new root layer, which ultimately gets passed to calculateRects().
4048         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
4049         root layer to calculateRects(), and return the bounding box of the
4050         transformed rectangle.
4051         (WebCore::RenderLayer::selfClipRect): Ditto.
4052         * rendering/RenderLayer.h:
4053
4054 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4055
4056         Reviewed by Kenneth Rohde Christiansen.
4057
4058         [Qt] Remove support for Qt v4.3 or older versions
4059         https://bugs.webkit.org/show_bug.cgi?id=29469
4060
4061         No new tests as there is no change if compiled with 
4062         Qt v4.4 or later version.
4063
4064         * WebCore.pro:
4065         * dom/XMLTokenizerQt.cpp:
4066         (WebCore::EntityResolver::resolveUndeclaredEntity):
4067         (WebCore::XMLTokenizer::XMLTokenizer):
4068         (WebCore::XMLTokenizer::~XMLTokenizer):
4069         (WebCore::XMLTokenizer::doWrite):
4070         (WebCore::XMLTokenizer::startDocument):
4071         (WebCore::XMLTokenizer::parseDtd):
4072         * platform/graphics/qt/FontQt.cpp:
4073         * platform/graphics/qt/FontQt43.cpp: Removed.
4074         * platform/graphics/qt/ImageQt.cpp:
4075         * platform/network/ResourceHandleInternal.h:
4076         * platform/network/qt/QNetworkReplyHandler.cpp:
4077         * platform/network/qt/QNetworkReplyHandler.h:
4078         * platform/network/qt/ResourceHandleQt.cpp:
4079         (WebCore::ResourceHandle::start):
4080         (WebCore::ResourceHandle::cancel):
4081         (WebCore::ResourceHandle::loadResourceSynchronously):
4082         (WebCore::ResourceHandle::setDefersLoading):
4083         * platform/network/qt/ResourceRequest.h:
4084         * platform/network/qt/ResourceRequestQt.cpp:
4085         * platform/qt/ClipboardQt.cpp:
4086         (WebCore::ClipboardQt::clearData):
4087         * platform/qt/CookieJarQt.cpp:
4088         (WebCore::cookieJar):
4089         (WebCore::setCookies):
4090         (WebCore::cookies):
4091         (WebCore::cookiesEnabled):
4092         * platform/qt/PlatformKeyboardEventQt.cpp:
4093         (WebCore::keyIdentifierForQtKeyCode):
4094         (WebCore::windowsKeyCodeForKeyEvent):
4095         * platform/text/qt/TextBoundaries.cpp:
4096         * platform/text/qt/TextBreakIteratorQt.cpp:
4097         * plugins/qt/PluginDataQt.cpp:
4098         (WebCore::PluginData::initPlugins):
4099
4100 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
4101
4102         Reviewed by Darin Adler.
4103
4104         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
4105         Support for validationMessage attribute, as per HTML5 specs.
4106
4107         Test: fast/forms/validationMessage.html
4108
4109         * html/HTMLButtonElement.idl: validationMessage attribute
4110         * html/HTMLFieldSetElement.idl: validationMessage attribute
4111         * html/HTMLFormControlElement.cpp:
4112         * html/HTMLFormControlElement.h:
4113         * html/HTMLInputElement.idl: validationMessage attribute
4114         * html/HTMLSelectElement.idl: validationMessage attribute
4115         * html/HTMLTextAreaElement.idl: validationMessage attribute
4116         * html/ValidityState.cpp: new method to retrieve pertinent localized text
4117         * html/ValidityState.h:
4118         * page/mac/WebCoreViewFactory.h:
4119         * platform/LocalizedStrings.h:
4120         * platform/android/LocalizedStringsAndroid.cpp:
4121         * platform/gtk/LocalizedStringsGtk.cpp:
4122         * platform/haiku/LocalizedStringsHaiku.cpp:
4123         * platform/mac/LocalizedStringsMac.mm:
4124         * platform/wx/LocalizedStringsWx.cpp:
4125
4126 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4127
4128         Unreviewed.
4129
4130         Fix a typo. Remove the trailing semicolon
4131         from an include directive after r51137.
4132
4133         No new tests as there is no functional change.
4134
4135         * platform/qt/QWebPageClient.h:
4136
4137 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4138
4139         Unreviewed.
4140
4141         [Qt] Build fix for QtWebKit after r51159.
4142
4143         Include float.h for DBL_MANT_DIG. Not sure why this
4144         is not a problem for other ports.
4145
4146         * html/HTMLInputElement.cpp:
4147
4148 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
4149
4150         Reviewed by Darin Adler.
4151
4152         Bug 31574 -  Crashing bug when removing <ruby> element
4153         (https://bugs.webkit.org/show_bug.cgi?id=31574)
4154
4155         Cause of the bug:
4156         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
4157         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
4158         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
4159         4.) this triggers the special handling of child removal in RenderRubyRun that
4160             causes it to destroy itself
4161         5.) On returning from all this the renderer crashes when accessing a member
4162             or virtual function on this now illegal object.
4163
4164         I therefore added a flag that tracks if the ruby run is being destroyed.
4165         If so, avoid doing the special handling in removeChild that caused this.
4166         It's not the most elegant solution, but the easiest to implement without
4167         touching unrelated code. Also, it's self-documenting.
4168
4169         Test: fast/ruby/ruby-remove.html
4170
4171         * rendering/RenderRubyRun.cpp:
4172         (WebCore::RenderRubyRun::RenderRubyRun):
4173         (WebCore::RenderRubyRun::destroy):
4174         (WebCore::RenderRubyRun::removeChild):
4175         * rendering/RenderRubyRun.h:
4176
4177 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4178
4179         Reviewed by Kenneth Rohde Christiansen.
4180
4181         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
4182         https://bugs.webkit.org/show_bug.cgi?id=31643
4183
4184         No new tests as there is no functional change.
4185
4186         * WebCore.pro:
4187
4188 2009-11-18  Yong Li  <yong.li@torchmobile.com>
4189
4190         Reviewed by Eric Seidel.
4191
4192         Implement TextBoundaries for WINCE port.
4193         https://bugs.webkit.org/show_bug.cgi?id=27371
4194
4195         * platform/text/wi