1 2009-12-01 Dave Hyatt <hyatt@apple.com>
3 Reviewed by David Kilzer.
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.
8 Added fast/css/namespaces-comments.xml
12 2009-12-01 Yael Aharon <yael.aharon@nokia.com>
14 Reviewed by Timothy Hatcher.
16 Reloading WebInspector from context menu is closing it instead of reloading.
17 https://bugs.webkit.org/show_bug.cgi?id=32004
19 When reloading WebInspector, don't delete its m_page.
21 * inspector/InspectorController.cpp:
22 (WebCore::InspectorController::close):
24 2009-12-01 Steve Block <steveblock@google.com>
26 Reviewed by Dimitri Glazkov.
28 Adds V8 bindings for Geolocation.
29 https://bugs.webkit.org/show_bug.cgi?id=30206
31 Also adds Geolocation files to Chrome build files.
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.
59 2009-12-01 Yury Semikhatsky <yurys@chromium.org>
61 Reviewed by Adam Barth.
63 Provide a way to get ScriptState for the inspected page.
65 https://bugs.webkit.org/show_bug.cgi?id=32020
67 * bindings/v8/ScriptController.cpp:
68 (WebCore::ScriptController::mainWorldScriptState):
69 * bindings/v8/ScriptController.h:
70 * bindings/v8/ScriptState.cpp:
71 (WebCore::scriptStateFromPage):
73 2009-12-01 Chris Marrin <cmarrin@apple.com>
75 Reviewed by Adam Roben.
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
80 * platform/graphics/mac/GraphicsContext3DMac.cpp:
81 (WebCore::GraphicsContext3D::getProgramInfoLog):
82 (WebCore::GraphicsContext3D::getShaderInfoLog):
83 (WebCore::GraphicsContext3D::getShaderSource):
84 (WebCore::imageToTexture):
86 2009-12-01 Mads Ager <ager@chromium.org>
88 Reviewed by Eric Seidel.
90 [V8] Don't crash in DOMWindow event getter in OOM situations
91 https://bugs.webkit.org/show_bug.cgi?id=32017
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.
98 No new tests because we don't have a good way to test
101 * bindings/v8/custom/V8DOMWindowCustom.cpp:
102 (WebCore::ACCESSOR_GETTER):
103 (WebCore::ACCESSOR_SETTER):
105 2009-12-01 Chris Marrin <cmarrin@apple.com>
107 Reviewed by Oliver Hunt.
109 Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
110 https://bugs.webkit.org/show_bug.cgi?id=31672
112 * html/HTMLCanvasElement.cpp:
113 (WebCore::HTMLCanvasElement::getContext):
115 2009-12-01 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
117 Not reviewed: chromium build fix, added missing import.
119 * inspector/InspectorFrontendHost.cpp:
121 2009-12-01 Pavel Feldman <pfeldman@chromium.org>
123 Not reviewed: fix windows build via unexcluding generated files from
126 * WebCore.vcproj/WebCore.vcproj:
128 2009-12-01 Mark Rowe <mrowe@apple.com>
130 Stop copying IDL files in to the WebCore framework wrapper.
132 * WebCore.xcodeproj/project.pbxproj:
134 2009-12-01 Mark Rowe <mrowe@apple.com>
136 Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
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.
141 * WebCore.xcodeproj/project.pbxproj:
143 2009-12-01 Pavel Feldman <pfeldman@chromium.org>
145 Not reviewed: windows build fix (bad vcproj in r51528).
147 * WebCore.vcproj/WebCore.vcproj:
149 2009-11-27 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
151 Reviewed by Timothy Hatcher.
153 Web Inspector: Split InspectorBackend into three parts: backend,
154 injected script host and frontend host.
156 https://bugs.webkit.org/show_bug.cgi?id=31888
158 * DerivedSources.make:
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):
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):
455 (WebInspector.windowUnload):
456 (WebInspector.close):
457 (WebInspector.toolbarDrag):
458 (WebInspector.UIString):
460 2009-11-30 Shinichiro Hamaji <hamaji@chromium.org>
462 Reviewed by Dan Bernstein.
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
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.
473 Test: fast/lists/calc-width-with-space.html
475 * rendering/RenderBlock.cpp:
476 (WebCore::RenderBlock::calcInlinePrefWidths):
477 * rendering/RenderBlockLineLayout.cpp:
478 (WebCore::RenderBlock::findNextLineBreak):
480 2009-11-30 Fumitoshi Ukai <ukai@chromium.org>
482 Unreviewed Chromium build fix introduced by r51212
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.
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):
499 2009-11-30 Enrica Casucci <enrica@apple.com>
501 Reviewed by Darin Adler.
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
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.
512 Test: editing/selection/mixed-editability-10.html
514 * WebCore.base.exp: Changed to match the new signature of downstream
515 and upstream in the Position class.
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.
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,
541 * rendering/RenderText.cpp:
542 (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
543 * rendering/RenderText.h:
545 2009-11-30 Kevin Ollivier <kevino@theolliviers.com>
547 wx build fix, add header needed for wx build.
549 * css/CSSFontFaceSrcValue.cpp:
551 2009-11-30 Mark Rowe <mrowe@apple.com>
553 Reviewed by David Kilzer.
555 <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
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.
561 * DerivedSources.make:
563 2009-11-30 Beth Dakin <bdakin@apple.com>
565 Reviewed by Oliver Hunt.
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
570 <rdar://problem/7425433>
572 Prevent desiredColumnCount from being less than 1 since it is used
574 * rendering/RenderBlock.cpp:
575 (WebCore::RenderBlock::calcColumnWidth):
577 2009-11-30 Alexey Proskuryakov <ap@apple.com>
579 Reviewed by Oliver Hunt.
581 https://bugs.webkit.org/show_bug.cgi?id=31659
582 Connection must be closed in case of Web Socket handshake error
584 The network connection was closed, but the close event wasn't dispatched.
586 Tested by websocket/tests/handshake-error.html, which is un-skipped now.
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.
593 2009-11-30 Gavin Barraclough <barraclough@apple.com>
595 Reviewed by Geoff Garen.
597 Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
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.
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.
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):
659 * bridge/jni/jni_jsobject.mm:
660 (JavaJSObject::call):
661 (JavaJSObject::eval):
663 (WebCore::NodeFilter::acceptNode):
664 * dom/NodeIterator.h:
665 (WebCore::NodeIterator::nextNode):
666 (WebCore::NodeIterator::previousNode):
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):
681 2009-11-30 Eric Carlson <eric.carlson@apple.com>
683 Reviewed by Simon Fraser.
685 All HTML5 media element events should be regular events
686 https://bugs.webkit.org/show_bug.cgi?id=30513
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
699 * html/HTMLMediaElement.h:
700 Remove scheduleProgressEvent prototype.
702 2009-11-30 Joseph Pecoraro <joepeck@webkit.org>
704 Reviewed by Pavel Feldman.
706 Web Inspector: Wrong console output for Regexp escape sequence
707 https://bugs.webkit.org/show_bug.cgi?id=31538
709 Updated inspector/console-format.html
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.
732 2009-11-30 Erik Arvidsson <arv@chromium.org>
734 Reviewed by Adam Barth.
736 Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
737 https://bugs.webkit.org/show_bug.cgi?id=31895
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
743 * bindings/v8/V8Collection.h:
744 (WebCore::collectionStringIndexedPropertyGetter):
745 (WebCore::setCollectionStringIndexedGetter):
746 * bindings/v8/V8DOMWrapper.cpp:
747 (WebCore::V8DOMWrapper::getTemplate):
749 2009-11-30 Steve Block <steveblock@google.com>
751 Reviewed by Eric Seidel.
753 Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
754 https://bugs.webkit.org/show_bug.cgi?id=31932
756 Build fix only, no new tests.
758 * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
760 2009-11-30 Steve Block <steveblock@google.com>
762 Reviewed by Eric Seidel.
764 Adds PassOwnPtr include to ScriptExecutionContext.h.
765 https://bugs.webkit.org/show_bug.cgi?id=31929
767 Build fix only, no new tests.
769 * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
771 2009-11-30 Dirk Schulze <krit@webkit.org>
773 Reviewed by Nikolas Zimmermann.
775 REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
776 [https://bugs.webkit.org/show_bug.cgi?id=31980]
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
789 Test: svg/custom/mask-with-all-units.svg
791 * svg/SVGMaskElement.cpp:
792 (WebCore::SVGMaskElement::drawMaskerContent):
794 2009-11-30 Steve Block <steveblock@google.com>
796 Reviewed by Eric Seidel.
798 Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
799 https://bugs.webkit.org/show_bug.cgi?id=31928
801 Build fix only, no new tests.
803 * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
805 2009-11-30 Steve Block <steveblock@google.com>
807 Reviewed by Eric Seidel.
809 Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
810 https://bugs.webkit.org/show_bug.cgi?id=31926
812 Build fix only, no new tests.
814 * bindings/v8/WorkerContextExecutionProxy.cpp:
815 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
816 (WebCore::WorkerContextExecutionProxy::convertToV8Object):
817 (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
819 2009-11-30 Benjamin Poulain <benjamin.poulain@nokia.com>
821 Reviewed by Kenneth Rohde Christiansen.
823 Chrome::contentsSizeChanged() is called when the content size has not changed
824 https://bugs.webkit.org/show_bug.cgi?id=31978
826 Do not trigger contentsSizeChaned() is the new size is the same as the old one.
828 * page/FrameView.cpp:
829 (WebCore::FrameView::setContentsSize):
831 2009-11-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
833 Reviewed by Kenneth Rohde Christiansen.
835 [Qt] Fix some compiler warnings seen on QtWebKit/Mac
836 https://bugs.webkit.org/show_bug.cgi?id=31962
838 No new tests as there is no functional change.
840 * platform/network/ResourceHandle.h: Make destructor virtual as
841 after r50772 ResourceHandle has virtual functions.
843 * plugins/mac/PluginPackageMac.cpp:
844 (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
847 * plugins/mac/PluginViewMac.cpp:
848 (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
851 2009-11-30 Xan Lopez <xlopez@igalia.com>
853 Reviewed by Gustavo Noronha.
855 Add new headers to sources list.
859 2009-11-30 Girish Ramakrishnan <girish@forwardbias.in>
861 Reviewed by Holger Freyther.
863 [Qt] Mac Plugins : Get context menu to work in QGraphicsView
865 Flash expects the value in record.where to be the global position for
866 displaying the context menu.
868 https://bugs.webkit.org/show_bug.cgi?id=31979
870 * plugins/mac/PluginViewMac.cpp:
871 (WebCore::PluginView::handleMouseEvent):
873 2009-11-30 Steve Block <steveblock@google.com>
875 Reviewed by Eric Seidel.
877 Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
878 https://bugs.webkit.org/show_bug.cgi?id=31925
880 This code uses ChromiumBridge and Chromium-specific constant values not
881 appropriate for other platforms such as Android.
883 Build fix only, no new tests.
885 * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
887 2009-11-29 Brent Fulgham <bfulgham@webkit.org>
891 Correct draw signature used in ImageCairoWin.cpp.
893 * platform/graphics/win/ImageCairoWin.cpp:
894 (WebCore::BitmapImage::getHBITMAPOfSize):
895 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
897 2009-11-28 Oliver Hunt <oliver@apple.com>
899 Reviewed by Sam Weinig.
901 postMessage should serialize File objects
902 https://bugs.webkit.org/show_bug.cgi?id=31955
904 Update SerializedScriptValue to include support for
905 File objects in the serialized object graph.
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):
915 2009-11-29 Simon Fraser <simon.fraser@apple.com>
917 Reviewed by Dan Bernstein.
919 Optimize the hierarchy rebuilding of compositing layers
920 https://bugs.webkit.org/show_bug.cgi?id=31879
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.
926 * platform/graphics/GraphicsLayer.h:
927 * platform/graphics/GraphicsLayer.cpp:
928 (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
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.
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
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.
954 2009-11-29 Daniel Bates <dbates@webkit.org>
956 Reviewed by Adam Barth.
958 https://bugs.webkit.org/show_bug.cgi?id=31971
960 Updated comment to reflect latest XSSAuditor bindings.
962 No functionality was changed. So, no new tests.
966 2009-11-29 Daniel Bates <dbates@webkit.org>
968 Reviewed by Eric Seidel.
970 https://bugs.webkit.org/show_bug.cgi?id=31969
972 Removes unnecessary #include files.
974 No functionality was changed. So, no new tests.
976 * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
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
990 2009-11-29 Daniel Bates <dbates@webkit.org>
992 Reviewed by Eric Seidel.
994 https://bugs.webkit.org/show_bug.cgi?id=31965
996 Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
999 As a side effect, we need to #include KeyframeList.h in
1000 RenderLayerBacking.cpp.
1002 No functionality was changed. So, no new tests.
1004 * css/CSSStyleSelector.cpp:
1005 * css/CSSStyleSelector.h: Removed #include KeyframeList.h
1006 * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
1008 2009-11-29 Shu Chang <Chang.Shu@nokia.com>
1010 Reviewed by Eric Seidel.
1012 Continue to search for matching node in the case where multiple nodes
1014 https://bugs.webkit.org/show_bug.cgi?id=31428
1016 Test: fast/dom/Element/id-in-node-list-index01.html
1018 * dom/DynamicNodeList.cpp:
1019 (WebCore::DynamicNodeList::itemWithName):
1021 2009-11-29 Daniel Bates <dbates@webkit.org>
1023 Reviewed by Eric Seidel.
1025 https://bugs.webkit.org/show_bug.cgi?id=31966
1027 Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
1028 forward declared it.
1030 No functionality was changed. So, no new tests.
1032 * page/animation/KeyframeAnimation.cpp:
1033 * page/animation/KeyframeAnimation.h:
1035 2009-11-29 Daniel Bates <dbates@webkit.org>
1037 Unreviewed, fix change log entry date.
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
1043 2009-11-29 Daniel Bates <dbates@webkit.org>
1045 Reviewed by Dan Bernstein.
1047 https://bugs.webkit.org/show_bug.cgi?id=31964
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.
1053 No functionality was changed. So, no new tests.
1055 * rendering/style/ContentData.h:
1057 2009-11-29 Zoltan Horvath <zoltan@webkit.org>
1059 Reviewed by Eric Seidel.
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
1064 Inherits the following classes from Noncopyable because these are instantiated
1065 by 'new' and no need to be copyable:
1067 class/struct name - instantiated at: WebCore/'location'
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
1077 Inherits the following classes from FastAllocBase because these are instantiated by 'new':
1079 struct FillLayer - css/CSSStyleSelector.cpp:197
1080 struct ShadowData - rendering/style/ShadowData.cpp:35
1081 class CounterContent - css/CSSStyleSelector.cpp:4111
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:
1094 2009-11-28 Adam Barth <abarth@webkit.org>
1096 Reviewed by Dimitri Glazkov.
1098 [Chromium] Sify compose button alerts error
1099 https://bugs.webkit.org/show_bug.cgi?id=31394
1101 Test: http/tests/security/calling-versus-current.html
1103 We're supposed to use the calling context for security checks. In JSC
1104 land, this is the lexicalGlobalObject.
1106 * bindings/v8/V8Proxy.cpp:
1107 (WebCore::V8Proxy::canAccessPrivate):
1109 2009-11-27 Shinichiro Hamaji <hamaji@chromium.org>
1111 Unreviewed Chromium build fix introduced by r51428.
1113 [Chromium] Ignore line-height CSS property for PushButton
1114 https://bugs.webkit.org/show_bug.cgi?id=31712
1116 * rendering/RenderThemeChromiumSkia.cpp:
1117 (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
1119 2009-11-27 Shinichiro Hamaji <hamaji@chromium.org>
1121 Unreviewed Chromium test fix by reverting r51413.
1123 [v8] Do not check the thread when accessing DOMDataStore
1124 https://bugs.webkit.org/show_bug.cgi?id=31877
1126 * bindings/v8/V8DOMMap.cpp:
1127 (WebCore::getDOMNodeMap):
1128 (WebCore::getDOMObjectMap):
1129 (WebCore::getActiveDOMObjectMap):
1130 (WebCore::getDOMSVGElementInstanceMap):
1131 (WebCore::getDOMSVGObjectWithContextMap):
1133 2009-11-27 Daniel Bates <dbates@webkit.org>
1135 Unreviewed, comment fix.
1137 Corrected misspelling of the word "implemented".
1139 * inspector/front-end/InjectedScriptAccess.js:
1141 2009-11-27 Daniel Bates <dbates@webkit.org>
1143 Reviewed by Adam Barth.
1145 https://bugs.webkit.org/show_bug.cgi?id=31940
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.
1150 * page/XSSAuditor.cpp:
1151 (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
1152 (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
1154 2009-11-27 Yury Semikhatsky <yurys@chromium.org>
1156 Reviewed by Pavel Feldman.
1158 This is a WebCore part of the fix that allows to view plugin
1159 resources loaded by plugins.
1161 https://bugs.webkit.org/show_bug.cgi?id=31832
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):
1179 2009-11-27 Yury Semikhatsky <yurys@chromium.org>
1181 Reviewed by Pavel Feldman.
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.
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.
1193 https://bugs.webkit.org/show_bug.cgi?id=31921
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):
1234 2009-11-26 Shinichiro Hamaji <hamaji@chromium.org>
1236 Reviewed by Dan Bernstein.
1238 Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
1239 https://bugs.webkit.org/show_bug.cgi?id=29966
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.
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.
1248 Test: editing/selection/last-empty-inline.html
1250 * rendering/RenderBlock.cpp:
1251 (WebCore::RenderBlock::positionForPointWithInlineChildren):
1253 2009-11-26 Kent Tamura <tkent@chromium.org>
1255 Reviewed by Eric Seidel.
1257 [Chromium] Ignore line-height CSS property specified to push buttons on
1259 https://bugs.webkit.org/show_bug.cgi?id=31712
1261 LayoutTests/fast/forms/control-restrict-line-height.html checks that the
1262 following controls should ignore line-height CSS property.
1264 - <input type=button>
1265 - <input type=search>
1266 This change addresses the <input type=button> issue with Chromium/Windows
1269 * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
1270 * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
1272 2009-11-26 Kinuko Yasuda <kinuko@chromium.com>
1274 Reviewed by Eric Seidel.
1276 Remove the special charset meta tag in the clipboard so that
1277 copy-and-paste with interchange breaklines/spaces works correctly
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.
1284 * platform/chromium/ClipboardChromium.cpp:
1285 * platform/chromium/PasteboardChromium.cpp:
1286 (WebCore::Pasteboard::documentFragment):
1288 2009-11-26 İsmail Dönmez <ismail@namtrac.org>
1290 Reviewed by Eric Seidel.
1292 Compile with QT_NO_WHEELEVENT defined.
1294 * platform/qt/WheelEventQt.cpp:
1295 (WebCore::PlatformWheelEvent::applyDelta):
1297 2009-11-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1299 Reviewed by Oliver Hunt.
1301 Move GOwnPtr* from wtf to wtf/gtk
1302 https://bugs.webkit.org/show_bug.cgi?id=31793
1304 No new tests as there is no functional change.
1306 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
1308 * platform/text/TextEncoding.cpp: Ditto.
1309 * platform/text/gtk/TextCodecGtk.cpp: Ditto.
1311 2009-11-26 Yury Semikhatsky <yurys@chromium.org>
1313 Not reviewed. Build fix: revert r51421.
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):
1331 2009-11-26 Yury Semikhatsky <yurys@chromium.org>
1333 Reviewed by Pavel Feldman.
1335 This is a WebCore part of the fix that allows to view plugin
1336 resources loaded by plugins.
1338 https://bugs.webkit.org/show_bug.cgi?id=31832
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):
1356 2009-11-26 Daniel Bates <dbates@webkit.org>
1358 Reviewed by Pavel Feldman.
1360 https://bugs.webkit.org/show_bug.cgi?id=21554
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.
1365 Test: inspector/elements-img-tooltip.html
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.
1378 2009-11-26 Kevin Ollivier <kevino@theolliviers.com>
1380 wx build fix after drawPattern API change.
1382 * platform/graphics/wx/ImageWx.cpp:
1383 (WebCore::Image::drawPattern):
1385 2009-11-26 Anton Muhin <antonm@chromium.org>
1387 Reviewed by Adam Barth.
1389 Use an internal field instead of hidden property to speedup lookup
1390 of entered isolated world.
1392 Plus some inlinings.
1393 https://bugs.webkit.org/show_bug.cgi?id=31884
1395 Covered by layout tests + manual running of some benchmarks as
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:
1409 2009-11-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1411 Reviewed by Kenneth Rohde Christiansen.
1413 [Qt] Corrects build break on Windows.
1415 Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
1416 platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
1419 * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
1420 (WebCore::findNextWordFromIndex):
1421 (WebCore::findWordBoundary):
1423 2009-11-26 Anton Muhin <antonm@chromium.org>
1425 Reviewed by Adam Barth.
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
1430 Covered by layout tests and buildbots.
1432 * bindings/v8/V8DOMMap.cpp:
1433 (WebCore::getDOMNodeMap):
1434 (WebCore::getDOMObjectMap):
1435 (WebCore::getActiveDOMObjectMap):
1436 (WebCore::getDOMSVGElementInstanceMap):
1437 (WebCore::getDOMSVGObjectWithContextMap):
1439 2009-11-26 Girish Ramakrishnan <girish@forwardbias.in>
1441 Reviewed by Holger Freyther.
1443 [Qt] Mac Plugins : Pass mouse position relative to the fake window
1445 When using off-screen rendering, we need to pass mouse events relative
1446 to the fake window instead of the global position.
1448 https://bugs.webkit.org/show_bug.cgi?id=31794
1450 * plugins/mac/PluginViewMac.cpp:
1451 (WebCore::PluginView::platformStart):
1452 (WebCore::PluginView::handleMouseEvent):
1454 2009-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
1456 Reviewed by Eric Seidel.
1458 [Qt] Use QNetworkReply::rawHeaderPairs
1459 https://bugs.webkit.org/show_bug.cgi?id=31826
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.
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.
1472 * platform/network/qt/QNetworkReplyHandler.cpp:
1473 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1475 2009-11-21 Holger Hans Peter Freyther <zecke@selfish.org>
1477 Reviewed by Kenneth Rohde Christiansen.
1479 [Qt] Add Qt specific information of RenderPart
1480 https://bugs.webkit.org/show_bug.cgi?id=31203
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
1488 * rendering/RenderTreeAsText.cpp:
1489 (WebCore::operator<<): Add special case for RenderPart
1491 2009-11-17 Holger Hans Peter Freyther <zecke@selfish.org>
1493 Reviewed by Kenneth Rohde Christiansen.
1495 [Qt] Call Widget::setSelfVisible from hide/show
1496 https://bugs.webkit.org/show_bug.cgi?id=31203
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.
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.
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):
1516 2009-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
1518 Reviewed by Alexey Proskuryakov.
1520 Fix compilation of REQUEST_DEBUG debug code
1521 https://bugs.webkit.org/show_bug.cgi?id=31850
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.
1529 * loader/loader.cpp:
1530 (WebCore::Loader::Host::didFinishLoading):
1532 2009-11-26 Søren Gjesse <sgjesse@chromium.org>
1534 Reviewed by Pavel Feldman.
1536 [V8] Avoid using JavaScript objects as context data
1537 https://bugs.webkit.org/show_bug.cgi?id=31873
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.
1542 * bindings/v8/V8Proxy.cpp:
1543 (WebCore::V8Proxy::setInjectedScriptContextDebugId):
1544 (WebCore::V8Proxy::setContextDebugId):
1545 (WebCore::V8Proxy::contextDebugId):
1547 2009-11-25 Dimitri Glazkov <dglazkov@chromium.org>
1549 Reviewed by David Levin.
1551 [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
1552 https://bugs.webkit.org/show_bug.cgi?id=31894
1554 * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
1555 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
1557 2009-11-25 Kenneth Russell <kbr@google.com>
1559 Reviewed by Oliver Hunt.
1561 Off-by-one error in index validation for drawElements and drawArrays
1562 https://bugs.webkit.org/show_bug.cgi?id=31891
1564 Fixed computation of number of elements for bound array objects.
1566 Test: fast/canvas/webgl/index-validation.html
1568 * html/canvas/WebGLRenderingContext.cpp:
1569 (WebCore::WebGLRenderingContext::vertexAttribPointer):
1571 2009-11-25 Dmitry Titov <dimich@chromium.org>
1573 Reviewed by David Levin.
1575 Update SharedScript to use eventNames() instead of EventNames()
1576 https://bugs.webkit.org/show_bug.cgi?id=31890
1578 * SharedScript/WebKitSharedScript.cpp:
1579 (WebCore::LoadEventTask::performTask):
1581 2009-11-25 Eric Carlson <eric.carlson@apple.com>
1583 Reviewed by Simon Fraser.
1585 <rdar://problem/7409331> Windows: Support closed caption in <video> element
1587 Enable closed captions in QuickTime/Windows media engine.
1589 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1590 (WebCore::MediaPlayerPrivate::hasClosedCaptions):
1591 (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
1592 New, all through to m_qtMovie.
1594 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
1595 Make all but the destructor private since MediaPlayer call through the media
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:
1606 * rendering/RenderMediaControls.cpp:
1607 (WebCore::RenderMediaControls::paintMediaControlsPart):
1608 Deal with closed caption buttons.
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):
1616 * rendering/RenderThemeWin.h:
1618 2009-11-25 Drew Wilson <atwilson@chromium.org>
1620 Reviewed by David Levin.
1622 MessagePorts always look remotely entangled even when closed.
1623 https://bugs.webkit.org/show_bug.cgi?id=31698
1625 Tests: Existing tests suffice, Chromium soak test passes now.
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).
1649 2009-11-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1651 Reviewed by Simon Hausmann.
1653 [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
1655 Fix inline assembly, don't dereference the function pointer twice.
1657 * plugins/win/PluginViewWin.cpp:
1658 (WebCore::PluginView::hookedBeginPaint):
1659 (WebCore::PluginView::hookedEndPaint):
1661 2009-11-22 Jakub Wieczorek <faw217@gmail.com>
1663 Reviewed by Adam Barth.
1665 [Qt] Remove the Referer header when redirecting to a non-secure site
1666 https://bugs.webkit.org/show_bug.cgi?id=31785
1668 This makes Qt pass two tests introduced in r50226.
1670 * platform/network/qt/QNetworkReplyHandler.cpp:
1671 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1673 2009-11-25 Andrei Popescu <andreip@google.com>
1675 Reviewed by Dimitri Glazkov.
1677 The select elements do not reflect the actual choice the user makes.
1678 https://bugs.webkit.org/show_bug.cgi?id=31831
1680 Handle the drawing of the listboxes in Android code.
1682 No new features, just fixing an Android problem. Existing layout tests are sufficient.
1684 * platform/android/RenderThemeAndroid.cpp:
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:
1696 2009-11-25 Alexander Pavlov <apavlov@chromium.org>
1698 Reviewed by Pavel Feldman.
1700 Load InspectorResource mime type from CachedResource for 304 responses
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
1706 * inspector/InspectorResource.cpp:
1707 (WebCore::InspectorResource::updateResponse):
1708 (WebCore::InspectorResource::updateScriptObject):
1709 (WebCore::InspectorResource::type):
1711 2009-11-25 Andrei Popescu <andreip@google.com>
1713 Reviewed by Eric Seidel.
1715 Android is missing implementation of SSL Key generator functions.
1716 https://bugs.webkit.org/show_bug.cgi?id=31825
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.
1722 No new tests required, this is platform code.
1724 * platform/android/PlatformBridge.h: Added.
1725 * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
1726 (WebCore::getSupportedKeySizes):
1727 (WebCore::signedPublicKeyAndChallengeString):
1729 2009-11-25 Philippe Normand <pnormand@igalia.com>
1731 Reviewed by Eric Seidel.
1733 [GTK] use gst_init_check() instead of gst_init()
1734 https://bugs.webkit.org/show_bug.cgi?id=31864
1736 Use gst_init_check() instead of gst_init() to prevent eventual
1737 unexpected exit of the application.
1739 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1740 (WebCore::do_gst_init):
1741 (WebCore::MediaPlayerPrivate::isAvailable):
1743 2009-11-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1745 Reviewed by Xan Lopez.
1747 Some tests are crashing from time to time
1748 https://bugs.webkit.org/show_bug.cgi?id=31866
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.
1753 * platform/network/soup/ResourceHandleSoup.cpp:
1756 2009-11-24 Ben Murdoch <benm@google.com>
1758 Reviewed by Eric Seidel.
1760 [Android] Upstream Android changes to WebCore/bridge/jni
1761 https://bugs.webkit.org/show_bug.cgi?id=31824
1763 No new tests required as no new functionality.
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.
1776 2009-11-24 Zoltan Horvath <zoltan@webkit.org>
1778 Reviewed by Eric Seidel.
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
1783 Inherits the following classes from Noncopyable because these are instantiated
1784 by 'new' and no need to be copyable:
1786 class/struct name - instantiated at: WebCore/'location'
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
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:
1812 2009-11-24 Dmitry Titov <dimich@chromium.org>
1814 Reviewed by David Levin.
1816 Initial implementation of WebKitSharedScript and SharedScriptContext
1817 https://bugs.webkit.org/show_bug.cgi?id=31569
1819 No new tests since there are no bindings yet (soon to come).
1821 * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
1822 * WebCore.xcodeproj/project.pbxproj:
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.
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.
1866 * SharedScript/SharedScriptController.h:
1867 Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
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.
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):
1901 2009-11-24 Dmitry Titov <dimich@chromium.org>
1903 Reviewed by Eric Seidel.
1905 Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
1906 https://bugs.webkit.org/show_bug.cgi?id=31444
1908 * Configurations/FeatureDefines.xcconfig:
1912 2009-11-24 Chris Marrin <cmarrin@apple.com>
1914 Reviewed by Simon Fraser.
1916 Implement accelerated compositing
1917 https://bugs.webkit.org/show_bug.cgi?id=27314
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
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.
1941 2009-11-24 Chris Marrin <cmarrin@apple.com>
1943 Reviewed by Eric Seidel.
1945 Do error checking of parameter to createShader
1946 https://bugs.webkit.org/show_bug.cgi?id=31808
1948 Test: fast/canvas/webgl/invalidPassedParams.html
1950 * html/canvas/WebGLRenderingContext.cpp:
1951 (WebCore::WebGLRenderingContext::createShader):
1952 * html/canvas/WebGLRenderingContext.h:
1953 * html/canvas/WebGLRenderingContext.idl:
1955 2009-11-24 Kent Tamura <tkent@chromium.org>
1957 Reviewed by Eric Seidel.
1959 [Chromium] Ignore line-height CSS property specified to a search field on
1961 https://bugs.webkit.org/show_bug.cgi?id=31820
1963 LayoutTests/fast/forms/control-restrict-line-height.html checks that the
1964 following controls should ignore line-height CSS property.
1966 - <input type=button>
1967 - <input type=search>
1968 This change addresses the <input type=search> issue with Chromium/Windows
1971 * rendering/RenderThemeChromiumSkia.cpp:
1972 (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
1973 * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
1975 2009-11-24 Simon Fraser <simon.fraser@apple.com>
1979 Stylistic fix: indent the member var initialisation.
1981 * platform/graphics/mac/GraphicsLayerCA.mm:
1982 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1984 2009-11-24 Gavin Barraclough <barraclough@apple.com>
1986 Reviewed by Geoff Garen.
1988 Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
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.
1995 * bindings/js/JSCSSRuleCustom.cpp:
1997 * bindings/js/JSCSSValueCustom.cpp:
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):
2019 * bindings/js/JSElementCustom.cpp:
2020 (WebCore::toJSNewlyCreated):
2021 * bindings/js/JSEventCustom.cpp:
2023 * bindings/js/JSHTMLCollectionCustom.cpp:
2025 * bindings/js/JSImageDataCustom.cpp:
2027 * bindings/js/JSNodeCustom.cpp:
2028 (WebCore::JSNode::markChildren):
2029 (WebCore::createWrapper):
2031 * bindings/js/JSSVGPathSegCustom.cpp:
2033 * bindings/js/JSStyleSheetCustom.cpp:
2035 * xml/XMLHttpRequest.cpp:
2036 (WebCore::XMLHttpRequest::dropProtection):
2038 2009-11-24 Alexey Proskuryakov <ap@apple.com>
2042 * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
2044 2009-11-24 Alexey Proskuryakov <ap@apple.com>
2048 * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
2050 2009-11-24 Simon Fraser <simon.fraser@apple.com>
2052 Reviewed by Oliver Hunt.
2054 SVGUseElement::toClipPath can crash
2055 <rdar://problem/7385270>
2057 Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
2058 actually initialize it.
2060 * svg/SVGUseElement.cpp:
2061 (WebCore::SVGUseElement::toClipPath):
2063 2009-11-24 Simon Fraser <simon.fraser@apple.com>
2067 * page/win/FrameCGWin.cpp:
2068 (WebCore::imageFromRect):
2069 (WebCore::imageFromSelection):
2071 2009-11-24 Eric Carlson <eric.carlson@apple.com>
2073 Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
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:
2083 2009-11-24 Alexey Proskuryakov <ap@apple.com>
2085 Reviewed by Brady Eidson.
2087 https://bugs.webkit.org/show_bug.cgi?id=31844
2088 SocketStreamHandleCFNet should support CONNECT proxy credentials
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
2100 * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
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.
2112 * platform/mac/WebCoreSystemInterface.h:
2113 * platform/mac/WebCoreSystemInterface.mm:
2117 2009-11-24 Simon Fraser <simon.fraser@apple.com>
2119 Reviewed by Dan Bernstein.
2121 Find highlight is drawn incorrectly on pages with compositing layers
2122 <rdar://problem/7413925>
2124 Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
2125 and pass that down when painting into an image.
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.
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:
2149 2009-11-24 Simon Fraser <simon.fraser@apple.com>
2151 Reviewed by Dan Bernstein.
2153 Find highlight is drawn incorrectly on pages with compositing layers
2154 <rdar://problem/7413925>
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.
2159 PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
2161 * page/FrameView.cpp:
2162 (WebCore::FrameView::reset):
2163 (WebCore::FrameView::paintContents):
2164 (WebCore::FrameView::setPaintBehavior):
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):
2180 2009-11-24 Eric Carlson <eric.carlson@apple.com>
2182 Reviewed by Simon Fraser.
2184 <rdar://problem/7409331> Windows: Support closed caption in <video> element
2186 Enable closed captions in QuickTime/Windows media engine.
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:
2202 2009-11-24 Darin Fisher <darin@chromium.org>
2204 Reviewed by Adam Barth.
2206 [Chromium] Renderer hang when using www.expedia.com
2207 https://bugs.webkit.org/show_bug.cgi?id=31822
2209 Test: http/tests/cache/subresource-failover-to-network.html
2211 * loader/FrameLoader.cpp:
2212 (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
2213 when inheriting cache policy. This matches SubresourceLoader::create.
2215 2009-11-23 Kenneth Russell <kbr@google.com>
2217 Reviewed by Oliver Hunt.
2219 Change get... calls to latest spec
2220 https://bugs.webkit.org/show_bug.cgi?id=30091
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
2230 Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
2231 preexisting known failures) and manual WebGL tests in both
2234 Test: fast/canvas/webgl/gl-object-get-calls.html
2237 * WebCore.xcodeproj/project.pbxproj:
2238 * bindings/js/JSWebGLRenderingContextCustom.cpp:
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:
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:
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):
2350 2009-11-24 Steve Falkenburg <sfalken@apple.com>
2354 * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
2356 2009-11-24 Philippe Normand <pnormand@igalia.com>
2358 Reviewed by Gustavo Noronha Silva.
2360 [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
2361 https://bugs.webkit.org/show_bug.cgi?id=26354
2363 Implemented MediaPlayerPrivate::isAvailable by checking the
2364 presence of the playbin2 GStreamer element.
2366 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2367 (WebCore::MediaPlayerPrivate::isAvailable):
2368 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2370 2009-11-24 Joanmarie Diggs <joanmarie.diggs@gmail.com>
2372 Reviewed by Xan Lopez.
2374 https://bugs.webkit.org/show_bug.cgi?id=25415
2375 [GTK][ATK] Please implement support for get_text_at_offset
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.
2380 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2381 (getPangoLayoutForAtk):
2383 2009-11-24 Joseph Pecoraro <joepeck@webkit.org>
2385 Reviewed by Pavel Feldman.
2387 Web Inspector: Keyboard Shortcut to Clear Console Messages
2388 https://bugs.webkit.org/show_bug.cgi?id=31780
2390 All Platforms: Ctrl+L = Clear Console Messages
2391 Mac Only: Cmd+K = Clear Console Messages
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
2401 2009-11-24 Pavel Feldman <pfeldman@chromium.org>
2403 Not reviewed: touch inspector controller in order to
2404 kick win bot inspector deploy. rs=aroben.
2406 * inspector/InspectorController.cpp:
2408 2009-11-23 Pavel Feldman <pfeldman@chromium.org>
2410 Reviewed by Timothy Hatcher.
2412 Web Inspector: Implement expandable compartments on timeline panel.
2414 https://bugs.webkit.org/show_bug.cgi?id=31796
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:
2434 2009-11-24 Mark Rowe <mrowe@apple.com>
2436 Fix production builds where the source tree may be read-only.
2438 * WebCore.xcodeproj/project.pbxproj:
2440 2009-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2442 Reviewed by Kenneth Rohde Christiansen.
2444 Include "config.h" to meet Coding Style Guidelines
2445 https://bugs.webkit.org/show_bug.cgi?id=31792
2447 No new tests as there is no new functionality.
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:
2455 2009-11-23 Jian Li <jianli@chromium.org>
2457 Reviewed by NOBODY (Chromium build fix).
2459 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2460 (WebCore::CALLBACK_FUNC_DECL):
2461 * platform/graphics/GraphicsContext3D.h:
2463 2009-11-23 Aaron Golden <agolden@apple.com>
2465 Reviewed by Alexey Proskuryakov.
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.
2471 Adding a new constructor Credential(const Credential& original, CredentialPersistence)
2472 that copies every field from original except for persistence.
2474 * platform/network/Credential.cpp:
2475 (WebCore::Credential::Credential):
2476 * platform/network/Credential.h:
2477 * platform/network/mac/ResourceHandleMac.mm:
2478 (WebCore::ResourceHandle::receivedCredential):
2480 2009-11-23 Gavin Barraclough <barraclough@apple.com>
2482 Reviewed by Geoff Garen.
2484 Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
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.
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.
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.
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):
2519 2009-11-23 Chris Marrin <cmarrin@apple.com>
2521 Reviewed by Oliver Hunt.
2523 Add range checks to rendering calls in WebGL
2524 https://bugs.webkit.org/show_bug.cgi?id=31239
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:
2531 http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
2535 I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
2537 Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
2538 fast/canvas/webgl/drawElementssOutOfBounds.html
2540 * bindings/js/JSWebGLArrayCustom.cpp:
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):
2591 2009-11-23 Erik Arvidsson <arv@chromium.org>
2593 Reviewed by Eric Seidel.
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
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
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:
2614 2009-11-23 Simon Fraser <simon.fraser@apple.com>
2616 Reviewed by Dan Bernstein.
2618 DocumentMarkers need to be educated about transforms
2619 https://bugs.webkit.org/show_bug.cgi?id=31751
2621 Find highlight is incorrect with transforms
2622 <rdar://problem/6358394>
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.
2628 Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
2630 Test: editing/selection/transformed-selection-rects.html
2633 Frame::selectionTextRects() has a new parameter.
2636 (WebCore::Document::setRenderedRectForMarker):
2638 Pass the marker as a const reference.
2642 (WebCore::Range::textQuads):
2643 Add a new method, textQuads(), which returns a list of quads, respecting transforms.
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.
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):
2660 Pass DocumentMarkers as a const references.
2661 Convert the argument to setRenderedRectForMarker() into absolute coordinates.
2663 * rendering/RenderView.cpp:
2664 (WebCore::RenderView::selectionBounds):
2666 2009-11-23 Dirk Schulze <krit@webkit.org>
2668 Reviewed by Oliver Hunt.
2670 [Cairo] support blurred test-shadow
2671 [https://bugs.webkit.org/show_bug.cgi?id=31797]
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
2678 * platform/graphics/cairo/FontCairo.cpp:
2679 (WebCore::Font::drawGlyphs):
2681 2009-11-23 Jens Alfke <snej@chromium.org>
2683 Reviewed by Geoffrey Garen.
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
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()
2700 2009-11-23 Adam Langley <agl@google.com>
2702 Reviewed by Dmitry Titov.
2704 Chromium Linux: Limit the stroke width and mitre limit.
2706 Limit the stroke width and mitre limit that we'll pass into Skia to
2707 avoid overflowing Skia's uint16_t glyph widths.
2709 http://code.google.com/p/chromium/issues/detail?id=28250
2710 https://bugs.webkit.org/show_bug.cgi?id=31747
2712 * platform/graphics/skia/PlatformContextSkia.cpp:
2714 (PlatformContextSkia::setupPaintForStroking):
2716 2009-11-23 Alexey Proskuryakov <ap@apple.com>
2718 Reviewed by Oliver Hunt.
2720 https://bugs.webkit.org/show_bug.cgi?id=31812
2721 WebSocket code uses RefPtr::get() where it shouldn't
2723 No change in funcitonality, just coding style correction.
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):
2738 2009-11-23 Alexey Proskuryakov <ap@apple.com>
2742 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2743 (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
2744 is static, so it can't use member variables directly.
2746 2009-11-23 Alexey Proskuryakov <ap@apple.com>
2748 Reviewed by Brady Eidson.
2750 https://bugs.webkit.org/show_bug.cgi?id=31748
2751 Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
2753 * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
2754 they didn't carry useful information.
2756 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2757 (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
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
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
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.
2780 2009-11-23 Oliver Hunt <oliver@apple.com>
2782 Reviewed by Geoff Garen.
2784 Don't leak the CGImage we create when drawing a sub image.
2786 * platform/graphics/cg/ImageCG.cpp:
2787 (WebCore::BitmapImage::draw):
2789 2009-11-23 Adam Barth <abarth@webkit.org>
2791 Reviewed by Dimitri Glazkov.
2793 [V8] Don't crash when OOM in creating isolated world
2794 https://bugs.webkit.org/show_bug.cgi?id=31805
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.
2799 * bindings/v8/V8Proxy.cpp:
2800 (WebCore::V8Proxy::evaluateInIsolatedWorld):
2801 (WebCore::V8Proxy::evaluateInNewContext):
2802 (WebCore::V8Proxy::setInjectedScriptContextDebugId):
2803 * bindings/v8/V8Proxy.h:
2805 2009-11-23 Dirk Schulze <krit@webkit.org>
2807 Reviewed by Nikolas Zimmermann.
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
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
2820 The important fact on filter resolution is, that the output
2821 size is still the size given by the <filter> element.
2823 Tests: svg/filters/big-sized-filter-2.svg
2824 svg/filters/big-sized-filter.svg
2825 svg/filters/filterRes.svg
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
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
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
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
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
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
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
2896 * svg/graphics/SVGResourceFilter.h:
2897 (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
2898 (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
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.
2926 2009-11-23 Simon Hausmann <simon.hausmann@nokia.com>
2928 Reviewed by Kenneth Rohde Christiansen.
2930 [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
2931 the wrapped object died before the gc removed the instance.
2933 https://bugs.webkit.org/show_bug.cgi?id=31681
2935 Before using a cached instance, verify that its wrapped QObject is
2938 * bridge/qt/qt_instance.cpp:
2939 (JSC::Bindings::QtInstance::getQtInstance):
2940 * bridge/qt/qt_instance.h:
2941 (JSC::Bindings::QtInstance::hashKey):
2943 2009-11-22 Chris Fleizach <cfleizach@apple.com>
2945 Reviewed by Oliver Hunt.
2947 ARIA: support aria-flowto
2948 https://bugs.webkit.org/show_bug.cgi?id=31762
2950 Test: platform/mac/accessibility/aria-flowto.html
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:
2963 2009-11-22 Nikolas Zimmermann <nzimmermann@rim.com>
2965 Not reviewed. Build fix for WML enabled builds.
2966 Adopt WebCore API changes.
2968 * wml/WMLAElement.cpp:
2969 (WebCore::WMLAElement::defaultEventHandler):
2970 * wml/WMLInputElement.cpp:
2971 (WebCore::WMLInputElement::defaultEventHandler):
2973 2009-11-22 Pavel Feldman <pfeldman@chromium.org>
2975 Reviewed by Timothy Hatcher.
2977 Web Inspector: Introduce sidebar background on timeline panel in order
2978 to prevent it from flickering on scroll.
2980 https://bugs.webkit.org/show_bug.cgi?id=31789
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:
2989 2009-11-22 Pavel Feldman <pfeldman@chromium.org>
2991 Reviewed by Timothy Hatcher.
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
2997 https://bugs.webkit.org/show_bug.cgi?id=31784
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:
3065 2009-11-22 Chris Evans <cevans@chromium.org>
3067 Reviewed by Adam Barth.
3069 Disable access to file:/// directory listings
3070 https://bugs.webkit.org/show_bug.cgi?id=31329
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.
3078 Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
3080 * page/SecurityOrigin.cpp: Deny access to directory listings.
3081 (WebCore::SecurityOrigin::SecurityOrigin):
3082 (WebCore::SecurityOrigin::canRequest):
3084 2009-11-20 Joseph Pecoraro <joepeck@webkit.org>
3086 Reviewed by Timothy Hatcher.
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
3091 Handle the following when on a Mac:
3093 Ctrl+P = Previous (like Up arrow)
3094 Ctrl+N = Next (like Down arrow)
3096 No longer rerun autocompletion when just pushing a modifier key
3097 like Control, Alt, Shift, or Meta.
3099 Improved arrow key behavior with Multiline code in the Console, with the following behavior:
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.
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):
3115 2009-11-21 Jessie Berlin <jberlin@webkit.org>
3117 Reviewed by Timothy Hatcher.
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
3122 https://bugs.webkit.org/show_bug.cgi?id=19103
3124 * inspector/front-end/ResourcesPanel.js:
3125 (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
3126 Set the tooltip to be the resource's url.
3128 2009-11-21 Simon Fraser <simon.fraser@apple.com>
3130 Reviewed by Dan Bernstein.
3132 CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
3133 https://bugs.webkit.org/show_bug.cgi?id=31588
3135 In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
3136 so that findRule() and deleteRule() work with these keywords.
3138 * css/WebKitCSSKeyframesRule.cpp:
3139 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
3141 2009-11-21 Daniel Bates <dbates@webkit.org>
3143 Reviewed by Eric Seidel.
3145 https://bugs.webkit.org/show_bug.cgi?id=31647
3147 Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
3149 No functionality was changed. So, no new tests.
3151 * dom/KeyboardEvent.cpp:
3152 (WebCore::KeyboardEvent::~KeyboardEvent):
3153 * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
3154 (WebCore::KeyboardEvent::keyEvent):
3156 2009-11-20 Chris Fleizach <cfleizach@apple.com>
3158 Reviewed by Beth Dakin.
3160 WAI-ARIA: add support for aria-owns
3161 https://bugs.webkit.org/show_bug.cgi?id=31702
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.
3168 Test: platform/mac/accessibility/aria-owns.html
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:
3183 2009-11-20 Eric Carlson <eric.carlson@apple.com>
3185 Reviewed by Simon Fraser.
3187 <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
3189 * css/mediaControls.css:
3190 Define closed caption toggle button.
3192 * rendering/RenderMedia.cpp:
3193 (WebCore::RenderMedia::updateControls):
3194 Create closed caption toggle button in display order.
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
3202 2009-11-20 Joseph Pecoraro <joepeck@webkit.org>
3204 Reviewed by Timothy Hatcher.
3206 Web Inspector: Running code in the Console that ends with a
3207 single line comment no longer produces a parse error.
3209 * inspector/front-end/InjectedScript.js:
3210 (InjectedScript._evaluateOn):
3212 2009-11-20 Chris Fleizach <cfleizach@apple.com>
3214 Reviewed by Beth Dakin.
3216 WAI-ARIA: add support for 'math' role
3217 https://bugs.webkit.org/show_bug.cgi?id=31706
3219 * accessibility/AccessibilityObject.cpp:
3220 * accessibility/AccessibilityObject.h:
3221 * accessibility/mac/AccessibilityObjectWrapper.mm:
3223 2009-11-20 Yael Aharon <yael.aharon@nokia.com>
3225 Reviewed by Kenneth Rohde Christiansen.
3227 NPN_ReloadPlugins does not reload the page even if reloadPages is true.
3228 https://bugs.webkit.org/show_bug.cgi?id=30460
3230 Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
3231 It already refreshes plugins and reloads pages when necessary.
3233 Tests: plugins/reloadplugins-and-pages.html
3234 plugins/reloadplugins-no-pages.html
3236 * plugins/PluginInfoStore.cpp:
3237 (WebCore::refreshPlugins):
3239 2009-11-20 Oliver Hunt <oliver@apple.com>
3241 Reviewed by Dave Hyatt.
3243 <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
3245 Expose WebCore object serialization to WebKit.
3248 * bindings/js/SerializedScriptValue.cpp:
3249 (WebCore::SerializedScriptValue::~SerializedScriptValue):
3250 (WebCore::SerializedScriptValue::create):
3251 (WebCore::SerializedScriptValue::deserialize):
3252 * bindings/js/SerializedScriptValue.h:
3254 2009-11-20 Brian Weinstein <bweinstein@apple.com>
3256 Reviewed by Tim Hatcher.
3258 Fixes <http://webkit.org/b/31741>.
3259 Web Inspector: User Entered Data on the console should show up no matter what filters.
3261 Always show .console-user-command-result, no matter what the filter say
3262 we should do with the other classes.
3264 * inspector/front-end/inspector.css:
3266 2009-11-20 Brian Weinstein <bweinstein@apple.com>
3268 Reviewed by Tim Hatcher.
3270 Fixes <http://webkit.org/b/31700>.
3271 Web Inspector: isMac should be in one central location + Cached.
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.
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):
3291 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
3293 Removed .DS_Store accidentally added in last (r51245).
3295 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
3297 Reviewed by Timothy Hatcher.
3299 Web Inspector: Add Console Only Layout Mode
3300 https://bugs.webkit.org/show_bug.cgi?id=30282
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.
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):
3331 Miscellaneous changes and cleanup.
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
3347 Restore the panel when the inspector restarts.
3349 * inspector/InspectorController.cpp:
3350 (WebCore::InspectorController::setWindowVisible):
3351 (WebCore::InspectorController::specialPanelForJSName):
3352 * inspector/InspectorFrontend.cpp:
3353 (WebCore::InspectorFrontend::showPanel):
3358 * WebCore.vcproj/WebCore.vcproj:
3359 * inspector/front-end/WebKit.qrc:
3361 2009-11-20 Brian Weinstein <bweinstein@apple.com>
3363 Reviewed by Tim Hatcher.
3365 Fixes <http://webkit.org/b/31699>.
3366 Web Inspector: Should Cache Values of InspectorController.platform() and port().
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.
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):
3390 2009-11-20 Dirk Schulze <krit@webkit.org>
3392 Unreviewed build fix for filters enabled builds.
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):
3409 2009-11-20 Eric Carlson <eric.carlson@apple.com>
3411 Reviewed by Simon Fraser.
3413 <rdar://problem/7389945> QTKit based media engine should not claim to support
3414 fullscreen on Leopard
3416 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3417 (WebCore::MediaPlayerPrivate::supportsFullscreen):
3418 Only return true on SnowLeopard for now.
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.
3425 2009-11-18 Girish Ramakrishnan <girish@forwardbias.in>
3427 Reviewed by Simon Hausmann.
3429 Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
3430 Girish Ramakrishnan <girish@forwardbias.in>
3432 [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
3433 without a QWebView or when inside QGraphicsWebView.
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.
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.
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.
3452 https://bugs.webkit.org/show_bug.cgi?id=31183
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):
3465 2009-11-19 Joseph Pecoraro <joepeck@webkit.org>
3467 Reviewed by Timothy Hatcher.
3469 Web Inspector: Resync Resources Backend and Frontend
3470 https://bugs.webkit.org/show_bug.cgi?id=31705
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
3475 2009-11-19 Steve Block <steveblock@google.com>
3477 Reviewed by Darin Fisher.
3479 Android port lacks configuration in Platform.h and config.h.
3480 https://bugs.webkit.org/show_bug.cgi?id=31671
3482 Build change only. No new tests possible.
3484 * config.h: Modified. Added Android-specific configuration.
3486 2009-11-20 Roland Steiner <rolandsteiner@chromium.org>
3488 Reviewed by Darin Adler.
3490 Change default stylesheet to reset text indentation for ruby elements by default.
3491 (https://bugs.webkit.org/show_bug.cgi?id=31247)
3493 Test: fast/ruby/ruby-text-indent.html
3495 * css/html.css: reset text-indent on <ruby> and <rt> elements
3497 2009-11-19 Brian Weinstein <bweinstein@apple.com>
3499 Reviewed by Darin Adler.
3501 Fixes <http://webkit.org/b/22754>.
3502 Web Inspector: Keyboard shortcut for Element finder.
3504 Use Command + Shift + C as a shortcut for Node Search, to
3505 match the Firebug shortcut to do the same thing.
3507 * inspector/front-end/ElementsPanel.js:
3508 (WebInspector.ElementsPanel.prototype.handleKeyEvent):
3510 2009-11-19 Alexey Proskuryakov <ap@apple.com>
3512 Reviewed by Darin Adler.
3514 https://bugs.webkit.org/show_bug.cgi?id=31690
3515 Make SocketStreamHandleCFNet work on Windows
3517 * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
3519 * platform/network/ResourceHandle.h: Removed loaderRunLoop().
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.
3529 * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
3531 * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
3533 * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
3535 * platform/network/cf/SocketStreamHandleCFNet.cpp:
3536 (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
3537 inoperable main run loop.
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.
3546 2009-11-19 Avi Drissman <avi@chromium.org>
3548 Reviewed by Darin Adler.
3551 https://bugs.webkit.org/show_bug.cgi?id=27777