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