1 2009-08-31 Jon Honeycutt <jhoneycutt@apple.com>
3 Remove the workaround added in r47316.
5 Reviewed by Sam Weinig.
7 * accessibility/AXObjectCache.cpp:
8 (WebCore::AXObjectCache::AXObjectCache):
10 * accessibility/AXObjectCache.h:
11 Remove the Document argument to the AXObjectCache constructor and the
12 m_document member variable, and replace the no-parameter
13 handleFocusedUIElementChanged() with the two-parameter GTK function.
14 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
16 * accessibility/chromium/AXObjectCacheChromium.cpp:
17 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
19 * accessibility/gtk/AXObjectCacheAtk.cpp:
20 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
22 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24 Don't pass a null Document when constructing the AXObjectCache.
26 * accessibility/mac/AXObjectCacheMac.mm:
27 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
29 * accessibility/win/AXObjectCacheWin.cpp:
30 (WebCore::AXObjectCache::handleFocusedUIElementChanged):
31 Get the document from the RenderObject; m_document was removed.
34 (WebCore::Document::axObjectCache):
35 Don't pass the Document when constructing the AXObjectCache.
36 (WebCore::Document::setFocusedNode):
37 Pass the old and new focused RenderObjects when calling
38 handleFocusedUIElementChanged().
40 2009-09-01 Yury Semikhatsky <yurys@chromium.org>
42 Reviewed by Timothy Hatcher.
44 Check that InspectorDOMAgent and InspectorFrontend are not null
45 before accessing them in InspectorBackend. They may be null if
46 InspectorController is closed before an asynchronous operation is
49 https://bugs.webkit.org/show_bug.cgi?id=28800
51 * inspector/InspectorBackend.cpp:
52 (WebCore::InspectorBackend::getCookies):
53 (WebCore::InspectorBackend::getChildNodes):
54 (WebCore::InspectorBackend::setAttribute):
55 (WebCore::InspectorBackend::removeAttribute):
56 (WebCore::InspectorBackend::setTextNodeValue):
57 (WebCore::InspectorBackend::highlight):
58 (WebCore::InspectorBackend::nodeForId):
59 (WebCore::InspectorBackend::pushNodePathToFrontend):
60 (WebCore::InspectorBackend::addNodesToSearchResult):
61 (WebCore::InspectorBackend::selectDatabase):
62 (WebCore::InspectorBackend::selectDOMStorage):
63 (WebCore::InspectorBackend::inspectorDOMAgent):
64 (WebCore::InspectorBackend::inspectorFrontend):
65 * inspector/InspectorBackend.h:
67 2009-09-01 Brady Eidson <beidson@apple.com>
69 Reviewed by Sam Weinig.
71 Page Cache should support pages with frames
72 https://bugs.webkit.org/show_bug.cgi?id=13631
74 Things learned in the full task that this patch addresses:
75 - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that
76 needed to be managed separately.
77 - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
78 FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
79 will be guided by the CachedFrames themselves.
81 No new tests. (No change in behavior, current layout tests pass)
83 * history/CachedFrame.cpp:
84 (WebCore::CachedFrame::CachedFrame):
85 (WebCore::CachedFrame::~CachedFrame):
86 (WebCore::CachedFrame::clear): Only clear pointers out.
87 (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
88 occur simply by navigating back to a page with a CachedFrame.
89 * history/CachedFrame.h:
91 * history/CachedPage.cpp:
92 (WebCore::CachedPage::~CachedPage):
93 (WebCore::CachedPage::restore): Call clear() after restoring.
94 (WebCore::CachedPage::clear):
95 (WebCore::CachedPage::destroy):
96 * history/CachedPage.h:
98 * history/PageCache.cpp:
99 (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
100 instead of clearing them.
102 * loader/FrameLoader.cpp:
103 (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
104 (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
105 * loader/FrameLoader.h: Add the friending so CachedPage and CachedFrame can better guide the process.
106 Even though CachedFrame::restore() isn't used for now, it will be soon.
108 2009-09-01 Andrei Popescu <andreip@google.com>
110 Reviewed by David Levin.
112 Add a "lowMemoryNotification" method to the V8 ScriptController class.
113 This is needed in order to allow the host application (Android Web browser in this case)
114 to call the v8::V8::LowMemoryNotification() method added to V8 in
115 http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
117 https://bugs.webkit.org/show_bug.cgi?id=28776
120 * bindings/v8/ScriptController.cpp:
121 (WebCore::ScriptController::lowMemoryNotification):
122 * bindings/v8/ScriptController.h:
124 2009-09-01 Fumitoshi Ukai <ukai@chromium.org>
126 Reviewed by Adam Barth.
128 V8 Bindings for WebSocket API.
129 https://bugs.webkit.org/show_bug.cgi?id=28844
131 * bindings/v8/DOMObjectsInclude.h:
132 * bindings/v8/DerivedSourcesAllInOne.cpp:
133 * bindings/v8/V8DOMWrapper.cpp:
134 (WebCore::V8DOMWrapper::getTemplate):
135 (WebCore::V8DOMWrapper::convertToV8Object):
136 (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
137 * bindings/v8/V8DOMWrapper.h:
138 * bindings/v8/V8Index.cpp:
139 * bindings/v8/V8Index.h:
140 * bindings/v8/WorkerContextExecutionProxy.cpp:
141 * bindings/v8/custom/V8CustomBinding.h:
142 * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
144 2009-09-01 Peter Kasting <pkasting@google.com>
146 Unreviewed (build fix).
148 Missed a "." -> "->" conversion.
150 * platform/graphics/qt/ImageDecoderQt.cpp:
151 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
153 2009-09-01 Peter Kasting <pkasting@google.com>
155 Unreviewed (build fix).
157 Try to fix Qt build, take 2. The Qt code had what looks like a
158 broken virtual function override.
160 * platform/graphics/qt/ImageDecoderQt.cpp:
161 (WebCore::ImageDecoderQt::ReadContext::ReadContext):
162 (WebCore::ImageDecoderQt::setData):
163 * platform/graphics/qt/ImageDecoderQt.h:
165 2009-09-01 Adam Barth <abarth@webkit.org>
167 Reviewed by Sam Weinig.
169 Uninitialized variable in XSSAuditor
170 https://bugs.webkit.org/show_bug.cgi?id=28874
172 One ought to initialize variables before use even when it doesn't
173 matter. No behavior change.
176 (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
178 2009-09-01 Peter Kasting <pkasting@google.com>
180 Unreviewed (build fix).
184 * platform/graphics/ImageSource.cpp:
186 2009-08-28 Peter Kasting <pkasting@google.com>
188 Reviewed by Eric Seidel.
190 https://bugs.webkit.org/show_bug.cgi?id=27965
191 Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
194 * platform/graphics/ImageSource.cpp:
195 (WebCore::ImageSource::frameHasAlphaAtIndex):
196 * platform/graphics/qt/ImageSourceQt.cpp:
197 (WebCore::ImageSource::createFrameAtIndex):
198 (WebCore::ImageSource::frameHasAlphaAtIndex):
199 (WebCore::ImageSource::frameIsCompleteAtIndex):
201 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
203 Reviewed by Timothy Hatcher.
205 WebInspector: Make InjectedScript self-contained (move necessary
206 methods from utilities.js into InjectedScript).
208 https://bugs.webkit.org/show_bug.cgi?id=28871
210 * inspector/front-end/ElementsPanel.js:
211 (WebInspector.ElementsPanel.prototype.generateStylesheet):
212 * inspector/front-end/InjectedScript.js:
213 (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
214 (InjectedScript._ensureCommandLineAPIInstalled):
215 (InjectedScript.pushNodeToFrontend):
216 (InjectedScript.createProxyObject):
218 (Object.hasProperties):
220 (String.prototype.escapeCharacters):
221 * inspector/front-end/utilities.js:
223 2009-09-01 Pavel Feldman <pfeldman@chromium.org>
225 Reviewed by Timothy Hatcher.
227 WebInspector: console log message repeat count double.
229 https://bugs.webkit.org/show_bug.cgi?id=28856
231 * inspector/front-end/InjectedScript.js:
232 (InjectedScript._evaluateOn):
234 2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
236 Reviewed by Mark Rowe.
238 [Gtk] Fix DATALIST build
239 https://bugs.webkit.org/show_bug.cgi?id=28826
241 Add ENABLE_DATALIST to FEATURE_DEFINES.
245 2009-09-01 Cameron McCormack <cam@mcc.id.au>
247 Reviewed by Eric Seidel.
249 SVGSVGElement suspend methods argument/return types incorrect
250 https://bugs.webkit.org/show_bug.cgi?id=28860
252 Also fix the style of the argument names.
254 * svg/SVGSVGElement.cpp:
255 (WebCore::SVGSVGElement::suspendRedraw):
256 (WebCore::SVGSVGElement::unsuspendRedraw):
257 * svg/SVGSVGElement.h:
259 2009-09-01 Roland Steiner <rolandsteiner@google.com>
261 Reviewed by Eric Seidel.
263 Fix bug 28808: [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
264 (https://bugs.webkit.org/show_bug.cgi?id=28808)
266 The bug fix adds an explicit check for the validity of the path when it is
267 transformed into local coordinates.
268 This was the most suitable place I could find that didn't cause an inordinate
269 amount of refactoring. Also, it seems pertinent and may also catch other cases
270 that are not limited to clipping paths.
272 TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
274 * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
276 * platform/graphics/skia/PlatformContextSkia.cpp:
277 (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
279 2009-09-01 Yusuke Sato <yusukes@chromium.org>
281 Reviewed by Eric Seidel.
283 [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
284 https://bugs.webkit.org/show_bug.cgi?id=28742
286 Normalize (NFC) a TextRun when the run contains combining diacritical marks
287 so that Skia can pick a correct glyph without relying on GSUB table in a font.
288 This change is for Chromium Linux.
290 * platform/graphics/chromium/FontLinux.cpp:
291 (WebCore::TextRunWalker::getTextRun): Added.
292 (WebCore::TextRunWalker::getNormalizedTextRun): Added.
294 This function is called when the run contains U+0300..U+036F and converts characters in
295 the run to the combined form (NFC) using ICU.
297 2009-09-01 Vitaly Repeshko <vitalyr@chromium.org>
299 Reviewed by Dimitri Glazkov.
301 [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
302 V8Proxy::createWrapperFromCache.
303 https://bugs.webkit.org/show_bug.cgi?id=28848
305 * bindings/v8/V8DOMWrapper.cpp:
306 (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
307 function for document wrapping.
308 (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
310 * bindings/v8/V8DOMWrapper.h:
311 (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
312 path from V8DOMWrapper.cpp.
313 * bindings/v8/V8Proxy.cpp:
314 (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
315 * bindings/v8/V8Proxy.h:
316 (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
319 2009-09-01 Eric Seidel <eric@webkit.org>
321 No review, windows build fix only. Clearly I should have read the patch closer. :(
323 Allow excluding certain plugins from loading
324 https://bugs.webkit.org/show_bug.cgi?id=28677
326 * plugins/PluginDatabase.cpp:
327 (WebCore::PluginDatabase::refresh):
329 2009-09-01 Alexander Pavlov <apavlov@chromium.org>
331 Reviewed by Timothy Hatcher.
333 Implement conditional breakpoints in the Web Inspector backend
334 and add frontend JavaScript stubs.
335 https://bugs.webkit.org/show_bug.cgi?id=28846
337 * inspector/InspectorBackend.cpp:
338 (WebCore::InspectorBackend::profiles):
339 (WebCore::InspectorBackend::addBreakpoint):
340 (WebCore::InspectorBackend::updateBreakpoint):
341 * inspector/InspectorBackend.h:
342 * inspector/InspectorBackend.idl:
343 * inspector/JavaScriptDebugServer.cpp:
344 (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
345 (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
346 (WebCore::JavaScriptDebugServer::addBreakpoint):
347 (WebCore::JavaScriptDebugServer::breakpointInfo):
348 (WebCore::JavaScriptDebugServer::updateBreakpoint):
349 (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
350 (WebCore::JavaScriptDebugServer::removeBreakpoint):
351 (WebCore::JavaScriptDebugServer::hasBreakpoint):
352 (WebCore::JavaScriptDebugServer::clearBreakpoints):
353 * inspector/JavaScriptDebugServer.h:
354 (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
355 * inspector/front-end/Breakpoint.js:
356 (WebInspector.Breakpoint):
357 (WebInspector.Breakpoint.prototype.get id):
358 (WebInspector.Breakpoint.prototype.get condition):
359 (WebInspector.Breakpoint.prototype.set condition):
360 * inspector/front-end/BreakpointsSidebarPane.js:
361 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
362 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
363 * inspector/front-end/ScriptsPanel.js:
364 (WebInspector.ScriptsPanel.prototype.addScript):
366 2009-09-01 Marius Renn <damarvy@gmail.com>
368 Reviewed by Eric Seidel.
370 Added delegate to PluginDatabase to disable loading certain plugins.
371 This is useful when you want to load from the standard plugin
372 directory, but want to exclude certain plugins. Plugins may be
373 excluded early on by name, so that no plugin code is executed (which
374 may have caused a crash).
376 * plugins/PluginDatabase.cpp:
377 (WebCore::PluginDatabase::PluginDatabase):
378 (WebCore::PluginDatabase::refresh):
379 * plugins/PluginDatabase.h:
380 (WebCore::PluginDatabase::setClient):
381 * plugins/PluginDatabaseClient.h: Added.
382 (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
384 2009-08-31 Brady Eidson <beidson@apple.com>
386 Rubberstamped by Sam Weinig
388 * WebCore.base.exp: Removed an unneeded symbol export.
390 2009-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
392 Reviewed by Alexey Proskuryakov.
394 https://bugs.webkit.org/show_bug.cgi?id=28466
395 When downloading a file, two GET requests are sent to the HTTP server
397 Can't think of a way to test this.
399 * loader/ResourceLoader.cpp:
400 (WebCore::ResourceLoader::releaseResources): only nullify the
401 handle's client when it is the ResourceLoader, to support the case
402 in which a download API uses a different client
404 2009-08-31 Brian Weinstein <bweinstein@apple.com>
406 Reviewed by Darin Adler.
408 Text Fields and Text Areas are reported as read-only by inspect32.exe.
409 https://bugs.webkit.org/show_bug.cgi?id=28854
411 Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
412 and texts areas are read-only.
414 * accessibility/AccessibilityRenderObject.cpp:
415 (WebCore::AccessibilityRenderObject::isReadOnly):
416 (WebCore::AccessibilityRenderObject::canSetValueAttribute):
418 2009-08-31 Drew Wilson <atwilson@google.com>
420 Reviewed by Alexey Proskuryakov.
422 fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
423 https://bugs.webkit.org/show_bug.cgi?id=28795
425 Changed WorkerContext::close() to no longer stop the worker thread.
426 It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
428 * workers/AbstractWorker.cpp:
429 Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
430 * workers/DefaultSharedWorkerRepository.cpp:
431 (WebCore::SharedWorkerProxy::workerContextClosed):
432 Now shuts down the worker thread when notified that the context is closed.
433 (WebCore::SharedWorkerProxy::close):
434 Now handles being invoked when the context is already in the process of shutting down.
435 * workers/WorkerContext.cpp:
436 (WebCore::WorkerContext::close):
437 No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
438 * workers/WorkerContext.h:
439 (WebCore::WorkerContext::isClosing):
440 isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
441 * workers/WorkerMessagingProxy.cpp:
442 (WebCore::WorkerExceptionTask::performTask):
443 Error events should still be delivered even if the worker thread is closing.
444 Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
445 (WebCore::WorkerTerminateTask::create):
446 New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
447 (WebCore::WorkerTerminateTask::WorkerTerminateTask):
448 (WebCore::WorkerTerminateTask::performTask):
449 (WebCore::WorkerMessagingProxy::workerContextClosed):
450 Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
451 * workers/WorkerMessagingProxy.h:
452 WorkerMessagingProxy now overrides workerContextClosed().
453 * workers/WorkerRunLoop.cpp:
454 (WebCore::WorkerRunLoop::runInMode):
455 Now drops tasks on the floor if the WorkerContext is closing.
457 2009-08-31 Ojan Vafai <ojan@chromium.org>
459 Not reviewed (build fix)
461 Build fix for Chromium to match r49707.
463 * bindings/v8/ScriptCallFrame.cpp:
464 (WebCore::ScriptCallFrame::ScriptCallFrame):
465 * bindings/v8/ScriptSourceCode.h:
466 (WebCore::ScriptSourceCode::ScriptSourceCode):
467 * platform/KURLGoogle.cpp:
468 (WebCore::KURL::KURL):
471 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
473 Reviewed by Darin Adler.
475 https://bugs.webkit.org/show_bug.cgi?id=28858
476 Element.baseURI parses xml:base attribute incorrectly
478 Test: fast/dom/base-attribute-parsing.xhtml
480 * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
483 2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
485 Reverting http://trac.webkit.org/changeset/47904, because it caused
488 Test: fast/dom/Window/new-window-opener.html
490 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
492 Reviewed by Darin Adler.
494 https://bugs.webkit.org/show_bug.cgi?id=28852
495 Rename KURL single argument constructor to avoid confusion
497 * platform/KURL.h: The constructor that used to be single argument should now be invoked
498 as KURL(ParsedURLString, myString).
501 * bindings/js/JSDOMWindowCustom.cpp:
502 (WebCore::createWindow):
503 * bindings/js/ScriptCallFrame.cpp:
504 (WebCore::ScriptCallFrame::ScriptCallFrame):
505 * bindings/v8/NPV8Object.cpp:
506 (_NPN_EvaluateHelper):
507 * bindings/v8/custom/V8DOMWindowCustom.cpp:
508 (WebCore::createWindow):
509 * css/CSSCursorImageValue.cpp:
510 (WebCore::isSVGCursorIdentifier):
511 * css/CSSImageValue.cpp:
512 (WebCore::CSSImageValue::cachedImage):
513 * css/CSSImportRule.cpp:
514 (WebCore::CSSImportRule::insertedIntoParent):
516 (WebCore::StyleBase::baseURL):
518 (WebCore::Document::initSecurityContext):
520 (WebCore::Element::baseURI):
521 * editing/markup.cpp:
522 (WebCore::completeURLs):
523 * history/HistoryItem.cpp:
524 (WebCore::HistoryItem::url):
525 (WebCore::HistoryItem::originalURL):
526 * inspector/InspectorController.cpp:
527 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
528 * inspector/InspectorResource.cpp:
529 (WebCore::InspectorResource::createCached):
531 (WebCore::Cache::revalidateResource):
532 * loader/DocLoader.cpp:
533 (WebCore::DocLoader::requestResource):
534 * loader/DocumentLoader.cpp:
535 (WebCore::DocumentLoader::getSubresources):
536 * loader/FrameLoader.cpp:
537 (WebCore::FrameLoader::init):
538 (WebCore::FrameLoader::iconURL):
539 (WebCore::FrameLoader::scheduleLocationChange):
540 (WebCore::FrameLoader::redirectionTimerFired):
541 (WebCore::FrameLoader::loadURLIntoChildFrame):
542 (WebCore::FrameLoader::startRedirectionTimer):
543 * loader/appcache/ApplicationCache.cpp:
544 (WebCore::ApplicationCache::resourceForURL):
545 * loader/appcache/ApplicationCacheGroup.cpp:
546 (WebCore::ApplicationCacheGroup::startLoadingEntry):
547 (WebCore::ApplicationCacheGroup::addEntry):
548 * loader/appcache/ApplicationCacheStorage.cpp:
549 (WebCore::ApplicationCacheStorage::cacheGroupForURL):
550 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
551 (WebCore::ApplicationCacheStorage::loadCache):
552 (WebCore::ApplicationCacheStorage::manifestURLs):
553 * loader/archive/cf/LegacyWebArchive.cpp:
554 (WebCore::LegacyWebArchive::createResource):
555 (WebCore::LegacyWebArchive::create):
557 (WebCore::Loader::load):
558 * notifications/NotificationCenter.h:
559 (WebCore::NotificationCenter::createHTMLNotification):
561 (WebCore::KURL::KURL):
563 * platform/KURLHash.h:
564 * platform/chromium/ClipboardChromium.cpp:
565 (WebCore::ClipboardChromium::setData):
566 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
567 (WebCore::MediaPlayerPrivate::createQTMovie):
568 * platform/network/cf/ResourceErrorCF.cpp:
569 (WebCore::ResourceError::operator CFErrorRef):
570 * platform/network/cf/ResourceRequest.h:
571 (WebCore::ResourceRequest::ResourceRequest):
572 * platform/network/chromium/ResourceRequest.h:
573 (WebCore::ResourceRequest::ResourceRequest):
574 * platform/network/curl/ResourceHandleManager.cpp:
575 (WebCore::handleLocalReceiveResponse):
576 (WebCore::headerCallback):
577 * platform/network/curl/ResourceRequest.h:
578 (WebCore::ResourceRequest::ResourceRequest):
579 * platform/network/mac/ResourceErrorMac.mm:
580 (WebCore::ResourceError::operator NSError*):
581 * platform/network/mac/ResourceRequest.h:
582 (WebCore::ResourceRequest::ResourceRequest):
583 * platform/network/qt/ResourceRequest.h:
584 (WebCore::ResourceRequest::ResourceRequest):
585 * platform/network/soup/ResourceRequest.h:
586 (WebCore::ResourceRequest::ResourceRequest):
587 * platform/win/ClipboardWin.cpp:
588 (WebCore::filesystemPathFromUrlOrTitle):
589 (WebCore::ClipboardWin::setData):
590 * svg/graphics/SVGImage.cpp:
591 (WebCore::SVGImage::dataChanged):
592 * xml/XSLImportRule.cpp:
593 (WebCore::XSLImportRule::loadSheet):
594 * xml/XSLTProcessor.cpp:
595 (WebCore::docLoaderFunc):
596 Adapt to the change everywhere the single argument constructor was used. I did a very
597 cursory check of whether these locations were using this constructor properly, and didn't
598 notice any obvious mistakes. The new explicit name will hopefully suggest checking this
599 better when refactoring any such code.
601 2009-08-31 Beth Dakin <bdakin@apple.com>
603 Reviewed by Darin Adler.
605 Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3
606 Backgrounds and Borders] Add support for 2-keyword values for
609 This patch allows background-repeat to take two values by making
610 background-repeat just like background-position internally. There
611 is a little extra legwork for background-repeat because the spec
612 indicates that its computed value should be equivalent to how it
613 was specified. I keep track of the specified thing by setting the
614 implicit flag whenever background-repeat is defined with only one
615 value (since internally, we now store this as 2 values.)
617 Here we can't access the implicit flag, so for backwards-
618 compatibility's sake, we always return one value when that makes
620 * css/CSSComputedStyleDeclaration.cpp:
621 (WebCore::fillRepeatToCSSValue):
622 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
624 Here we check for the implicit flag and return one value when it is
626 * css/CSSMutableStyleDeclaration.cpp:
627 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
628 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
629 (WebCore::CSSMutableStyleDeclaration::cssText):
631 Add support for CSSPropertyBackgroundRepeatX and
632 CSSPropertyBackgroundRepeatY
634 (WebCore::CSSParser::parseValue):
635 (WebCore::CSSParser::parseFillShorthand):
636 (WebCore::CSSParser::parseFillRepeat):
637 (WebCore::CSSParser::parseFillProperty):
640 Get rid of mappings to RepeatXFill and RepeatYFill since we don't
641 need those parts of the EFillRepeat enum anymore.
642 * css/CSSPrimitiveValueMappings.h:
643 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
644 (WebCore::CSSPrimitiveValue::operator EFillRepeat):
646 Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
647 * css/CSSPropertyLonghand.cpp:
648 (WebCore::initShorthandMap):
650 Add background-repeat-x and -y.
651 * css/CSSPropertyNames.in:
653 Break repeat into x and y.
654 * css/CSSStyleSelector.cpp:
655 (WebCore::CSSStyleSelector::applyProperty):
656 (WebCore::CSSStyleSelector::mapFillRepeatX):
657 (WebCore::CSSStyleSelector::mapFillRepeatY):
658 * css/CSSStyleSelector.h:
660 There is no more RepeatXFill. Instead, look for
661 fillLayer->repeatX() == RepeatFill
662 * rendering/RenderBoxModelObject.cpp:
663 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
665 Break m_repeat into m_repeatX and m_repeatY
666 * rendering/style/FillLayer.cpp:
667 (WebCore::FillLayer::FillLayer):
668 (WebCore::FillLayer::operator=):
669 (WebCore::FillLayer::operator==):
670 (WebCore::FillLayer::fillUnsetProperties):
671 (WebCore::FillLayer::cullEmptyLayers):
672 * rendering/style/FillLayer.h:
673 (WebCore::FillLayer::repeatX):
674 (WebCore::FillLayer::repeatY):
675 (WebCore::FillLayer::isRepeatXSet):
676 (WebCore::FillLayer::isRepeatYSet):
677 (WebCore::FillLayer::setRepeatX):
678 (WebCore::FillLayer::setRepeatY):
679 (WebCore::FillLayer::clearRepeatX):
680 (WebCore::FillLayer::clearRepeatY):
681 (WebCore::FillLayer::initialFillRepeatX):
682 (WebCore::FillLayer::initialFillRepeatY):
684 Again, break backgroundRepeat into backgroundRepeatX and
686 * rendering/style/RenderStyle.h:
687 (WebCore::InheritedFlags::backgroundRepeatX):
688 (WebCore::InheritedFlags::backgroundRepeatY):
689 (WebCore::InheritedFlags::maskRepeatX):
690 (WebCore::InheritedFlags::maskRepeatY):
692 We don't need RepeatXFill or RepeatYFill. Now that we store two
693 values, they are represented by Repeat-NoRepeat and NoRepeat-
694 Repeat, respectively.
695 * rendering/style/RenderStyleConstants.h:
698 2009-08-31 Simon Fraser <simon.fraser@apple.com>
700 Reviewed by Dan Bernstein.
702 Compositing layer size needs to take into account software reflections on children.
703 https://bugs.webkit.org/show_bug.cgi?id=28837
705 When computing the bounds of a composited layer, take software-rendered
706 reflections into account.
708 Test: compositing/reflections/reflection-in-composited.html
710 * rendering/RenderLayerCompositor.cpp:
711 (WebCore::RenderLayerCompositor::calculateCompositedBounds):
713 2009-08-31 Mark Mentovai <mark@chromium.org>
715 Reviewed by Dave Hyatt.
717 https://bugs.webkit.org/show_bug.cgi?id=28614
719 Perform a layout prior to checking whether the scrollbar modes are
720 off, on, or automatic. The modes may change during layout.
722 * platform/ScrollView.cpp:
723 (WebCore::ScrollView::updateScrollbars):
725 2009-08-31 Patrick Mueller <Patrick_Mueller@us.ibm.com>
727 Reviewed by Timothy Hatcher.
729 Inspector Request Headers Should Show Data Sent With Request
730 https://bugs.webkit.org/show_bug.cgi?id=22920
732 Manual test added - see below.
734 * English.lproj/localizedStrings.js:
735 * inspector/InspectorResource.cpp:
736 (WebCore::InspectorResource::updateRequest):
737 (WebCore::InspectorResource::createScriptObject):
738 (WebCore::InspectorResource::updateScriptObject):
739 * inspector/InspectorResource.h:
740 * inspector/front-end/Resource.js:
741 (WebInspector.Resource):
742 * inspector/front-end/ResourceView.js:
743 (WebInspector.ResourceView):
744 (WebInspector.ResourceView.prototype._refreshURL):
745 (WebInspector.ResourceView.prototype._refreshQueryString):
746 (WebInspector.ResourceView.prototype._refreshFormData):
747 (WebInspector.ResourceView.prototype._refreshRequestPayload):
748 (WebInspector.ResourceView.prototype._refreshParms):
749 (WebInspector.ResourceView.prototype._toggleURLdecoding):
750 (WebInspector.ResourceView.prototype._getHeaderValue):
751 (WebInspector.ResourceView.prototype._refreshRequestHeaders):
752 * inspector/front-end/inspector.css:
753 * inspector/front-end/inspector.js:
754 (WebInspector.addResource):
755 (WebInspector.updateResource):
756 * manual-tests/inspector/display-form-data.html: Added.
758 2009-08-31 Pavel Feldman <pfeldman@chromium.org>
760 Reviewed by Timothy Hatcher.
762 WebInspector: pass call frames into the frontend as a part of
765 https://bugs.webkit.org/show_bug.cgi?id=28847
767 * inspector/InspectorController.cpp:
768 (WebCore::InspectorController::didPause):
769 * inspector/InspectorFrontend.cpp:
770 (WebCore::InspectorFrontend::pausedScript):
771 * inspector/InspectorFrontend.h:
772 * inspector/front-end/ScriptsPanel.js:
773 (WebInspector.ScriptsPanel.prototype.debuggerPaused):
774 * inspector/front-end/inspector.js:
775 (WebInspector.pausedScript):
777 2009-08-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
779 Reviewed by Ariya Hidayat.
781 [Qt] Un-blacklist Silverlight on Mac
783 Does not seem to crash anymore, probably due to how we now handle
784 drawing and event model handshake better.
786 * plugins/mac/PluginPackageMac.cpp:
787 (WebCore::PluginPackage::isPluginBlacklisted):
789 2009-08-31 Cameron McCormack <cam@mcc.id.au>
791 Reviewed by Eric Seidel.
793 https://bugs.webkit.org/show_bug.cgi?id=28827
794 SVGSVGElement.unsuspendRedraw() shouldn't throw
796 * svg/SVGSVGElement.cpp:
797 (WebCore::SVGSVGElement::unsuspendRedraw):
798 * svg/SVGSVGElement.h:
799 * svg/SVGSVGElement.idl:
801 2009-08-31 Kent Tamura <tkent@chromium.org>
803 Reviewed by Eric Seidel.
805 - Change the reutrn type of HTMLInputElement::list so that it
806 conforms to the standard.
807 - Add HTMLInputElement::dataList()
808 https://bugs.webkit.org/show_bug.cgi?id=28769
811 * html/HTMLInputElement.cpp:
812 (WebCore::HTMLInputElement::list):
813 (WebCore::HTMLInputElement::dataList):
814 (WebCore::HTMLInputElement::selectedOption):
815 * html/HTMLInputElement.h:
816 * html/HTMLInputElement.idl:
818 2009-08-31 Kwang Yul Seo <skyul@company100.net>
820 Reviewed by Eric Seidel.
822 Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
823 https://bugs.webkit.org/show_bug.cgi?id=28802
825 Remove ASSERT because the frame could be null if the
826 ResourceHandle is not associated with any frame, e.g. if we are
828 If the frame is not null but the page is null this must be an
829 attempted load from an onUnload handler, so let's just block it.
831 * platform/network/curl/ResourceHandleCurl.cpp:
832 (WebCore::ResourceHandle::start):
834 2009-08-31 Maxime Simon <simon.maxime@gmail.com>
836 Reviewed by Eric Seidel.
838 Build fix for platforms which don't enable DOM_STORAGE.
839 https://bugs.webkit.org/show_bug.cgi?id=28834
841 * bindings/js/ScriptController.cpp:
842 (WebCore::ScriptController::evaluate):
843 * bindings/v8/ScriptController.cpp:
844 (WebCore::ScriptController::evaluate):
846 2009-08-29 Adele Peterson <adele@apple.com>
848 Reviewed by Dan Bernstein.
850 Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
851 Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
853 Test: accessibility/aria-activedescendant-crash.html
855 * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
857 2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
859 Reviewed by Oliver Hunt.
861 Gtk Build broken for OSX Quartz
862 https://bugs.webkit.org/show_bug.cgi?id=28727
864 Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
865 port in Mac and Unix/Linux.
867 * plugins/PluginView.cpp:
868 (WebCore::PluginView::PluginView):
869 * plugins/PluginView.h:
870 * plugins/gtk/PluginViewGtk.cpp:
871 (WebCore::PluginView::setNPWindowIfNeeded):
872 (WebCore::PluginView::getValueStatic):
873 (WebCore::PluginView::getValue):
874 (WebCore::PluginView::init):
876 2009-08-28 Simon Fraser <simon.fraser@apple.com>
878 Reviewed by Dan Bernstein.
880 Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
881 https://bugs.webkit.org/show_bug.cgi?id=28754
883 For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
884 ancestor, since the layer x and y are relative to that ancestor. However, this could
885 skip over the ancestorLayer, thus giving the wrong result.
887 Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
888 and checking for ancestorLayer along the way. If found, compute offset of both to
889 the enclosingPositionedAncestor() and subtract.
891 This also fixes a positioning bug with abs. positioned elements in reflections,
892 so there is a new reflection test with a pixel result.
894 Tests: compositing/geometry/abs-position-inside-opacity.html
895 fast/reflections/abs-position-in-reflection.html
897 * rendering/RenderLayer.cpp:
898 (WebCore::isPositionedContainer):
899 (WebCore::RenderLayer::enclosingPositionedAncestor):
900 (WebCore::RenderLayer::enclosingTransformedAncestor):
901 (WebCore::RenderLayer::convertToLayerCoords):
903 2009-08-28 Simon Fraser <simon.fraser@apple.com>
905 Reviewed by Mark Rowe
907 Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
908 https://bugs.webkit.org/show_bug.cgi?id=27727
910 When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of
911 CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
912 because there is not a unique enum value for WebkitCSSTransformValue.
914 * bindings/objc/DOMCSS.mm:
917 2009-08-28 Peter Kasting <pkasting@google.com>
919 Reviewed by Jan Michael Alonzo.
921 https://bugs.webkit.org/show_bug.cgi?id=28308
922 Fix some warnings introduced by r47381.
924 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
925 (WebCore::convertCMYKToRGBA):
926 (WebCore::convertRGBToRGBA):
928 2009-08-28 Ada Chan <adachan@apple.com>
930 Reviewed by Adam Roben.
932 https://bugs.webkit.org/show_bug.cgi?id=21442
933 Make sure filesystemPathFromUrlOrTitle() returns a string with length
936 * platform/win/ClipboardWin.cpp:
937 (WebCore::filesystemPathFromUrlOrTitle):
939 2009-08-28 Dumitru Daniliuc <dumi@chromium.org>
941 Reviewed by Dimitri Glazkov.
943 Adding Chromium's VFS for Linux and Mac.
945 https://bugs.webkit.org/show_bug.cgi?id=28750
948 * platform/chromium/ChromiumBridge.h:
949 * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
950 (WebCore::SQLiteFileSystem::openDatabase):
951 (WebCore::SQLiteFileSystem::deleteDatabaseFile):
952 * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
953 * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
954 * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
955 * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
957 2009-08-28 Vitaly Repeshko <vitalyr@chromium.org>
959 Reviewed by Dimitri Glazkov.
961 [V8] Made bindings use Node::setOnEvent functions for Node descendants
962 instead of Node::setAttributeEventListener.
964 Node::setAttributeEventListener is an internal function and
965 doesn't do the forwarding to DOM window that is required for some
967 https://bugs.webkit.org/show_bug.cgi?id=28709
969 Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
971 * bindings/scripts/CodeGeneratorV8.pm:
972 Now generates EventListener accessors for Node descendants instead
973 of using custom callbacks.
974 * bindings/v8/V8DOMWrapper.cpp:
975 (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
976 * bindings/v8/V8DOMWrapper.h:
977 (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
979 * bindings/v8/V8Utilities.cpp:
980 (WebCore::createHiddenDependency):
981 (WebCore::removeHiddenDependency):
982 Changed signature to accept Handle instead of Local.
983 * bindings/v8/V8Utilities.h:
984 * bindings/v8/custom/V8CustomBinding.h:
985 * bindings/v8/custom/V8NodeCustom.cpp:
986 (WebCore::CALLBACK_FUNC_DECL):
987 Removed custom callbacks for EventListener accessors.
989 2009-08-28 Ben Murdoch <benm@google.com>
991 https://bugs.webkit.org/show_bug.cgi?id=28803
993 Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
995 * bindings/v8/custom/V8CustomVoidCallback.cpp:
996 (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
998 2009-08-28 Peter Kasting <pkasting@google.com>
1000 Not reviewed (build fix).
1002 * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
1003 (WebCore::ImageDecoder::create):
1004 (WebCore::ImageDecoderQt::ImageDecoderQt):
1005 * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
1007 2009-08-28 Peter Kasting <pkasting@google.com>
1009 Reviewed by Eric Seidel.
1011 https://bugs.webkit.org/show_bug.cgi?id=27965
1012 Move ImageDecoder creation function to a factory function on
1013 ImageDecoder. This is arguably where it makes the most sense anyway,
1014 and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
1017 * platform/graphics/ImageSource.cpp:
1018 * platform/graphics/qt/ImageDecoderQt.cpp:
1019 (WebCore::ImageDecoder::create):
1020 * platform/graphics/qt/ImageDecoderQt.h:
1021 * platform/graphics/qt/ImageSourceQt.cpp:
1022 (WebCore::ImageSource::setData):
1023 * platform/image-decoders/ImageDecoder.cpp:
1024 * platform/image-decoders/ImageDecoder.h:
1026 2009-08-28 Peter Kasting <pkasting@google.com>
1028 Reviewed by Eric Seidel.
1030 https://bugs.webkit.org/show_bug.cgi?id=28785
1031 Combine duplicated code from ImageDecoder*.cpp into the main
1034 * platform/image-decoders/ImageDecoder.cpp:
1035 (WebCore::RGBA32Buffer::RGBA32Buffer):
1036 (WebCore::RGBA32Buffer::clear):
1037 (WebCore::RGBA32Buffer::zeroFill):
1038 (WebCore::RGBA32Buffer::copyBitmapData):
1039 (WebCore::RGBA32Buffer::setSize):
1040 (WebCore::RGBA32Buffer::hasAlpha):
1041 (WebCore::RGBA32Buffer::setHasAlpha):
1042 (WebCore::RGBA32Buffer::setStatus):
1043 (WebCore::RGBA32Buffer::operator=):
1044 (WebCore::RGBA32Buffer::width):
1045 (WebCore::RGBA32Buffer::height):
1046 * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1047 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1048 * platform/image-decoders/wx/ImageDecoderWx.cpp:
1050 2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
1052 Reviewed by Holger Freyther.
1054 https://bugs.webkit.org/show_bug.cgi?id=25889
1055 [GTK] scrollbar policy for main frame is not implementable
1057 Override setScrollbarModes to correctly forward scrollbar modes
1058 policy changes to client code, via a new platform-specific method,
1059 scrollbarsPolicyDidChange.
1061 * page/ChromeClient.h:
1062 (WebCore::ChromeClient::scrollbarsPolicyDidChange):
1063 * platform/ScrollView.cpp:
1064 (WebCore::ScrollView::createScrollbar):
1065 * platform/ScrollView.h:
1066 * platform/gtk/ScrollViewGtk.cpp:
1067 (WebCore::ScrollView::setScrollbarModes):
1069 2009-08-28 Cédric Luthi <cedric.luthi@gmail.com>
1071 Reviewed by Tor Arne Vestbø
1073 [Qt/Mac] Un-blacklist the QuickTime plugin
1075 https://bugs.webkit.org/show_bug.cgi?id=28768
1077 Now that the drawing model is properly negotiated, there is no need the
1078 blacklist the QuickTime plugin anymore.
1080 This revealed a bug in PluginView::performRequest: it should not initiate a
1081 request if the plugin has been stopped, which is what happens when a plugin
1082 only supports the QuickDraw drawing model.
1084 * plugins/PluginView.cpp:
1085 * plugins/mac/PluginPackageMac.cpp:
1087 2009-08-28 Yury Semikhatsky <yurys@chromium.org>
1089 Reviewed by Timothy Hatcher.
1091 Set DOM agent document to 0 in InspectorController::close to
1092 make DOM agent remove DOM listeners from the inspected document.
1094 Replace windowVisible checks with m_frontend checks to as inspector
1095 window lives in a different process in Chromium while frontend proxy
1096 is in the inspected page process.
1098 https://bugs.webkit.org/show_bug.cgi?id=28800
1100 * inspector/InspectorController.cpp:
1101 (WebCore::InspectorController::inspect):
1102 (WebCore::InspectorController::addConsoleMessage):
1103 (WebCore::InspectorController::close):
1104 (WebCore::InspectorController::pruneResources):
1105 (WebCore::InspectorController::didCommitLoad):
1106 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1107 (WebCore::InspectorController::identifierForInitialRequest):
1108 (WebCore::InspectorController::willSendRequest):
1109 (WebCore::InspectorController::didReceiveResponse):
1110 (WebCore::InspectorController::didReceiveContentLength):
1111 (WebCore::InspectorController::didFinishLoading):
1112 (WebCore::InspectorController::didFailLoading):
1113 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1114 (WebCore::InspectorController::scriptImported):
1115 (WebCore::InspectorController::didOpenDatabase):
1116 (WebCore::InspectorController::didUseDOMStorage):
1117 (WebCore::InspectorController::addProfile):
1118 * inspector/InspectorController.h:
1120 2009-08-28 Mikhail Naganov <mnaganov@chromium.org>
1122 Reviewed by Timothy Hatcher.
1124 Remove dependency of SummaryBar on WebInspector.resourceCategories.
1126 https://bugs.webkit.org/show_bug.cgi?id=28801
1128 * inspector/front-end/ResourcesPanel.js:
1129 (WebInspector.ResourcesPanel):
1130 (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
1131 * inspector/front-end/SummaryBar.js:
1132 (WebInspector.SummaryBar):
1133 (WebInspector.SummaryBar.prototype.update):
1135 2009-08-28 Pavel Feldman <pfeldman@chromium.org>
1137 Not reviewed (patching in l18n change that was missing due to
1138 the git binary diff format).
1140 https://bugs.webkit.org/show_bug.cgi?id=28429
1142 * English.lproj/localizedStrings.js:
1144 2009-08-28 Adam Barth <abarth@webkit.org>
1146 Reviewed by Eric Seidel.
1148 Make XSSAuditor go fast
1149 https://bugs.webkit.org/show_bug.cgi?id=28667
1151 Make the XSSAuditor go faster by implementing two optimizations:
1153 1) We avoid canonicalizing scripts that are larger than the page's URL.
1154 This saves a bunch of time for large inline scripts.
1156 2) We memoize canonicalizing the page's URL because it's silly to
1157 canonicalize repeated for each inline event listener.
1159 These optimizations have a measurable affect on the intl1 page cycler.
1163 * page/XSSAuditor.cpp:
1164 (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
1165 (WebCore::XSSAuditor::canEvaluate):
1166 (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
1167 (WebCore::XSSAuditor::canCreateInlineEventListener):
1168 (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
1169 (WebCore::XSSAuditor::canLoadObject):
1170 (WebCore::XSSAuditor::canSetBaseElementURL):
1171 (WebCore::XSSAuditor::decodeURL):
1172 (WebCore::XSSAuditor::findInRequest):
1173 * page/XSSAuditor.h:
1175 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
1177 Unreviewed, build fix.
1179 Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
1180 fast/canvas/change-context.html. And it's alright to reach it.
1182 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1183 (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
1185 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
1187 Not reviewed. Build fix for http://trac.webkit.org/changeset/47840
1189 Peter's change forgot one m_decoder->
1191 * platform/graphics/ImageSource.cpp:
1192 (WebCore::ImageSource::frameSizeAtIndex):
1194 2009-08-27 Dimitri Glazkov <dglazkov@chromium.org>
1196 Unreviewed, build fix.
1198 [V8] Add NULL-check, since the context ain't changeable no more, and
1199 thus getContext could return 0.
1201 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1202 (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
1204 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
1206 Reviewed by Eric Seidel.
1208 dataTransfer.types() should include type "Files" when files are present in the clipboard.
1209 https://bugs.webkit.org/show_bug.cgi?id=28780
1211 Add dataTransfer type "Files" to the chromium port. Add eseidel's
1212 patch for same for the mac port.
1214 * platform/chromium/ClipboardChromium.cpp:
1216 2009-08-27 Chris Marrin <cmarrin@apple.com>
1218 Reviewed by Simon Fraser.
1220 Removed GL_ from all constants, and gl prefix from all calls
1221 https://bugs.webkit.org/show_bug.cgi?id=28773
1223 This was done for the external API in CanvasRenderingContext3D and
1224 the internal API in GraphicsContext3D.
1226 * html/canvas/CanvasRenderingContext3D.cpp:
1227 * html/canvas/CanvasRenderingContext3D.h:
1228 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1229 * html/canvas/CanvasRenderingContext3D.idl:
1230 * platform/graphics/GraphicsContext3D.h:
1231 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1233 2009-08-27 Jan Michael Alonzo <jmalonzo@webkit.org>
1235 Qt and Gtk build fixes. Not reviewed.
1237 Add CanvasRenderingContext3D.idl to the build scripts.
1242 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
1244 Reviewed by Darin Fisher.
1246 Release the storage mutex whenever leaving JavaScript execution.
1247 https://bugs.webkit.org/show_bug.cgi?id=28789
1249 http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
1250 required behavior. After we leave JavaScript, we must be sure the storage
1251 mutex has been released. At the end of evaluate(), if localStorage has been
1252 instantiated, tell it to release any locks that may be applicable.
1254 * bindings/js/ScriptController.cpp:
1255 (WebCore::ScriptController::evaluate):
1256 * bindings/v8/ScriptController.cpp:
1257 (WebCore::ScriptController::evaluate):
1259 2009-08-27 Alexey Proskuryakov <ap@apple.com>
1261 Reviewed by Oliver Hunt.
1263 https://bugs.webkit.org/show_bug.cgi?id=28753
1264 <rdar://problem/7173448> Excessive number of threads (and a crash)
1266 Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
1267 - when resolver is idle, the first few requests are sent immediately (they may or may not
1269 - if there are a few requests in flight already, coalesce all requests for one second;
1270 - to avoid pathological cases with lots of links to different sites on a page, only ask
1271 CFHost about a handful of names (dropping the rest).
1273 Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
1274 link, and these tend to have identical host name.
1276 * platform/network/cf/DNSCFNet.cpp:
1277 (WebCore::DNSResolveQueue::DNSResolveQueue):
1278 (WebCore::DNSResolveQueue::shared):
1279 (WebCore::DNSResolveQueue::add):
1280 (WebCore::DNSResolveQueue::decrementRequestCount):
1281 (WebCore::DNSResolveQueue::fired):
1282 (WebCore::clientCallback):
1283 (WebCore::DNSResolveQueue::resolve):
1284 (WebCore::prefetchDNS):
1286 2009-08-27 Chris Marrin <cmarrin@apple.com>
1288 Reviewed by Simon Fraser.
1290 Final patch for Canvas 3D support
1291 https://bugs.webkit.org/show_bug.cgi?id=28018
1293 This hooks everything up and provides a working implementation of
1294 Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
1295 passing the opaque context and texture pointers so a Canvas3DLayer can be
1296 created (more on that later). It also plumbs changes to the 3D canvas so
1297 that Canvas3DLayer can recomposite the results.
1299 A 3D Canvas element needs a RenderLayer and compositing layer to render.
1300 This is because it renders to an off-screen texture in the GPU and then
1301 hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
1302 render that texture as a 3D quad. This keeps everything in GPU memory to
1303 maximize performance. When a CanvasRenderingContext3D is created it
1304 forces a style recalc which creates the RenderLayer and compositing
1307 I repurposed an existing flag which was put in place for animation to accomplish
1308 this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from
1309 AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
1310 to do a complete style recalc, even though the style itself has not really
1313 This patch also fixes a couple of bugs discovered when testing with 3d-canvas
1314 turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
1315 This is needed when making a JS wrapper for the object so the prototype
1316 property can be set.
1318 Test: fast/canvas/change-context.html
1320 * WebCore.xcodeproj/project.pbxproj:
1321 * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
1322 (WebCore::JSCanvasRenderingContext3D::glDrawElements):
1323 * bindings/js/JSCanvasRenderingContextCustom.cpp:
1326 (WebCore::Element::recalcStyle):
1328 (WebCore::Node::setNeedsStyleRecalc):
1331 * html/HTMLCanvasElement.cpp:
1332 (WebCore::HTMLCanvasElement::getContext):
1333 (WebCore::HTMLCanvasElement::is3D):
1334 * html/HTMLCanvasElement.h:
1335 * html/canvas/CanvasBuffer.cpp:
1336 (WebCore::CanvasBuffer::create):
1337 (WebCore::CanvasBuffer::CanvasBuffer):
1338 (WebCore::CanvasBuffer::_deleteObject):
1339 * html/canvas/CanvasBuffer.h:
1340 * html/canvas/CanvasFramebuffer.cpp:
1341 (WebCore::CanvasFramebuffer::create):
1342 (WebCore::CanvasFramebuffer::CanvasFramebuffer):
1343 (WebCore::CanvasFramebuffer::_deleteObject):
1344 * html/canvas/CanvasFramebuffer.h:
1345 * html/canvas/CanvasObject.cpp:
1346 (WebCore::CanvasObject::CanvasObject):
1347 (WebCore::CanvasObject::~CanvasObject):
1348 (WebCore::CanvasObject::deleteObject):
1349 * html/canvas/CanvasObject.h:
1350 (WebCore::CanvasObject::context):
1351 * html/canvas/CanvasProgram.cpp:
1352 (WebCore::CanvasProgram::create):
1353 (WebCore::CanvasProgram::CanvasProgram):
1354 (WebCore::CanvasProgram::_deleteObject):
1355 * html/canvas/CanvasProgram.h:
1356 * html/canvas/CanvasRenderbuffer.cpp:
1357 (WebCore::CanvasRenderbuffer::create):
1358 (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
1359 (WebCore::CanvasRenderbuffer::_deleteObject):
1360 * html/canvas/CanvasRenderbuffer.h:
1361 * html/canvas/CanvasRenderingContext3D.cpp:
1362 (WebCore::CanvasRenderingContext3D::createBuffer):
1363 (WebCore::CanvasRenderingContext3D::createFramebuffer):
1364 (WebCore::CanvasRenderingContext3D::createTexture):
1365 (WebCore::CanvasRenderingContext3D::createProgram):
1366 (WebCore::CanvasRenderingContext3D::createRenderbuffer):
1367 (WebCore::CanvasRenderingContext3D::createShader):
1368 * html/canvas/CanvasRenderingContext3D.h:
1369 (WebCore::CanvasRenderingContext3D::graphicsContext3D):
1370 * html/canvas/CanvasShader.cpp:
1371 (WebCore::CanvasShader::create):
1372 (WebCore::CanvasShader::CanvasShader):
1373 (WebCore::CanvasShader::_deleteObject):
1374 * html/canvas/CanvasShader.h:
1375 * html/canvas/CanvasTexture.cpp:
1376 (WebCore::CanvasTexture::create):
1377 (WebCore::CanvasTexture::CanvasTexture):
1378 (WebCore::CanvasTexture::_deleteObject):
1379 * html/canvas/CanvasTexture.h:
1380 * page/DOMWindow.idl:
1381 * page/animation/AnimationBase.cpp:
1382 (WebCore::AnimationBase::setNeedsStyleRecalc):
1383 * page/animation/AnimationController.cpp:
1384 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1385 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
1386 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1387 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1388 (WebCore::AnimationController::cancelAnimations):
1389 * platform/graphics/GraphicsContext3D.h:
1390 (WebCore::GraphicsContext3D::platformGraphicsContext3D):
1391 (WebCore::GraphicsContext3D::platformTexture):
1392 * platform/graphics/GraphicsLayer.h:
1393 (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
1394 (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
1395 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1396 (WebCore::GraphicsContext3D::~GraphicsContext3D):
1397 (WebCore::GraphicsContext3D::reshape):
1398 * platform/graphics/mac/GraphicsLayerCA.h:
1399 (WebCore::GraphicsLayerCA::):
1400 * platform/graphics/mac/GraphicsLayerCA.mm:
1401 (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1402 (WebCore::GraphicsLayerCA::commitLayerChanges):
1403 (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
1404 (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
1405 (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
1406 * rendering/RenderHTMLCanvas.cpp:
1407 (WebCore::RenderHTMLCanvas::requiresLayer):
1408 * rendering/RenderHTMLCanvas.h:
1409 (WebCore::RenderHTMLCanvas::isCanvas):
1410 * rendering/RenderLayerBacking.cpp:
1411 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1412 (WebCore::RenderLayerBacking::canUseDirectCompositing):
1413 (WebCore::RenderLayerBacking::rendererContentChanged):
1414 * rendering/RenderLayerCompositor.cpp:
1415 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1416 (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
1417 * rendering/RenderLayerCompositor.h:
1418 * rendering/RenderObject.h:
1419 (WebCore::RenderObject::isCanvas):
1421 2009-08-27 Peter Kasting <pkasting@google.com>
1423 Reviewed by Eric Seidel.
1425 https://bugs.webkit.org/show_bug.cgi?id=28751
1426 Clean up ImageDecoder*.cpp a bit.
1428 * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
1429 order as in the header file. Also, since there's already an anonymous
1430 namespace in this file, use it to enclose the local helper functions.
1432 (WebCore::ImageDecoder::upperBoundScaledX):
1433 (WebCore::ImageDecoder::lowerBoundScaledX):
1434 (WebCore::ImageDecoder::scaledY):
1435 * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
1436 (WebCore::RGBA32Buffer::width): Style fix.
1437 (WebCore::RGBA32Buffer::height): Style fix.
1438 * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
1439 (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
1440 (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
1441 (WebCore::RGBA32Buffer::operator=): Simplify.
1442 * platform/image-decoders/wx/ImageDecoderWx.cpp:
1443 (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related. Use size_t for iterating over elements of a Vector.
1444 (WebCore::RGBA32Buffer::width): Style fix.
1445 (WebCore::RGBA32Buffer::height): Style fix.
1447 2009-08-27 Peter Kasting <pkasting@google.com>
1449 Reviewed by Eric Seidel.
1451 https://bugs.webkit.org/show_bug.cgi?id=28751
1452 Clean up ImageSource.* in preparation for more fixes on bug 27965.
1454 * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
1455 (WebCore::ImageSource::isSizeAvailable): Shorten.
1456 (WebCore::ImageSource::size): Shorten.
1457 (WebCore::ImageSource::frameSizeAtIndex): Shorten.
1458 (WebCore::ImageSource::repetitionCount): Shorten.
1459 (WebCore::ImageSource::frameIsCompleteAtIndex):
1460 * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
1462 2009-08-27 Peter Kasting <pkasting@google.com>
1464 Reviewed by Eric Seidel.
1466 https://bugs.webkit.org/show_bug.cgi?id=28785
1467 Add ImageDecoder.cpp to various build files so platforms will be able to
1468 use it. Move an ENABLE to not cover the whole file, in preparation for
1469 adding a bunch of code. Simplify #ifdefs in ImageDecoder.h to be "Skia
1470 vs. everyone else", which also gives new platforms a reasonable default
1475 * WebCore.vcproj/WebCore.vcproj:
1476 * WebCoreSources.bkl:
1477 * platform/image-decoders/ImageDecoder.cpp:
1479 * platform/image-decoders/ImageDecoder.h:
1480 (WebCore::RGBA32Buffer::getAddr):
1482 2009-08-27 Antti Koivisto <antti@apple.com>
1484 Reviewed by Dave Kilzer.
1486 https://bugs.webkit.org/show_bug.cgi?id=28784
1488 Add an exported method to flush pending repaints.
1491 * page/FrameView.cpp:
1492 (WebCore::FrameView::layoutIfNeededRecursive):
1493 (WebCore::FrameView::flushDeferredRepaints):
1496 2009-08-27 Noel Gordon <noel.gordon@gmail.com>
1498 Reviewed by Eric Seidel.
1500 [V8] Expose files from the pasteboard in drop events.
1501 https://bugs.webkit.org/show_bug.cgi?id=28782
1503 Update chromium port to expose dataTransfer.files() as per
1504 HTML5 drag drop (Aug 2009 edition).
1506 * platform/chromium/ClipboardChromium.cpp:
1508 2009-08-27 Yury Semikhatsky <yurys@chromium.org>
1510 Reviewed by Dmitry Glazkov.
1512 ScriptState now keeps explicit Handle of devtools front-end
1513 utility context instead of trying to retrieve it from inspected
1516 https://bugs.webkit.org/show_bug.cgi?id=28772
1518 * bindings/v8/ScriptController.cpp:
1519 (WebCore::ScriptController::ScriptController):
1520 * bindings/v8/ScriptController.h:
1521 * bindings/v8/ScriptObjectQuarantine.cpp:
1522 (WebCore::getQuarantinedScriptObject):
1523 * bindings/v8/ScriptScope.cpp:
1524 (WebCore::ScriptScope::ScriptScope):
1525 * bindings/v8/ScriptState.cpp:
1526 (WebCore::ScriptState::ScriptState):
1527 (WebCore::ScriptState::~ScriptState):
1528 (WebCore::scriptStateFromPage):
1529 * bindings/v8/ScriptState.h:
1530 (WebCore::ScriptState::context):
1531 * bindings/v8/ScriptValue.h:
1532 (WebCore::ScriptValue::~ScriptValue):
1533 * inspector/InspectorController.h:
1534 (WebCore::InspectorController::frontendScriptState):
1536 2009-08-27 Pavel Feldman <pfeldman@chromium.org>
1538 Reviewed by Timothy Hatcher.
1540 WebInspector: Console won't close.
1542 https://bugs.webkit.org/show_bug.cgi?id=28778
1544 * inspector/front-end/ElementsPanel.js:
1545 (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
1546 * inspector/front-end/utilities.js:
1547 (Node.prototype.isAncestor):
1549 2009-08-27 Eric Seidel <eric@webkit.org>
1551 Reviewed by Adam Barth.
1553 Fix a typo in files() causing image drags to have junk file arrays.
1554 https://bugs.webkit.org/show_bug.cgi?id=28755
1556 Test: editing/pasteboard/files-during-page-drags.html
1558 * platform/mac/ClipboardMac.mm:
1559 (WebCore::ClipboardMac::files):
1561 2009-08-27 Jeremy Orlow <jorlow@chromium.org>
1563 Not reviewed. Build fix for Chromium.
1565 * bindings/v8/DOMObjectsInclude.h:
1566 * bindings/v8/DerivedSourcesAllInOne.cpp:
1567 * bindings/v8/V8Index.cpp:
1568 * bindings/v8/V8Index.h:
1570 2009-08-27 Alexey Proskuryakov <ap@apple.com>
1574 * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
1576 2009-08-26 Alexey Proskuryakov <ap@apple.com>
1578 Reviewed by Adele Peterson.
1580 https://bugs.webkit.org/show_bug.cgi?id=28758
1581 <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
1583 Tests: fast/events/pageshow-pagehide-on-back-cached.html
1584 fast/events/pageshow-pagehide-on-back-uncached.html
1585 fast/events/pageshow-pagehide.html
1587 * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
1588 (this function is called both when a document goes away, and when it goes to b/f cache).
1590 * page/DOMWindow.cpp:
1591 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
1592 (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
1593 that can be installed on Window object.
1594 (WebCore::DOMWindow::onpagehide): Ditto.
1595 (WebCore::DOMWindow::setOnpagehide): Ditto.
1596 (WebCore::DOMWindow::onpageshow): Ditto.
1597 (WebCore::DOMWindow::setOnpageshow): Ditto.
1599 * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
1600 that isn't being restored from cache.
1602 * dom/PageTransitionEvent.cpp: Added.
1603 (WebCore::PageTransitionEvent::PageTransitionEvent):
1604 (WebCore::PageTransitionEvent::~PageTransitionEvent):
1605 (WebCore::PageTransitionEvent::initPageTransitionEvent):
1606 * dom/PageTransitionEvent.h: Added.
1607 (WebCore::PageTransitionEvent::create):
1608 (WebCore::PageTransitionEvent::isPageTransitionEvent):
1609 (WebCore::PageTransitionEvent::persisted):
1610 * dom/PageTransitionEvent.idl: Added.
1611 Add event class implementation.
1613 * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
1614 inline listener definition (note that adding listeners to document.body programmatically
1615 is not supported, matching Firefox).
1618 (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
1619 (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
1621 (WebCore::Document::createEvent): Ditto.
1623 * dom/Document.h: Added dispatchPageTransitionEvent.
1625 * DerivedSources.make:
1629 * WebCore.vcproj/WebCore.vcproj:
1630 * WebCore.xcodeproj/project.pbxproj:
1631 * WebCoreSources.bkl:
1632 * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
1633 * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
1636 * html/HTMLAttributeNames.in:
1638 * page/DOMWindow.idl:
1639 Do what it takes to add a new event type.
1641 2009-08-27 Pavel Feldman <pfeldman@chromium.org>
1643 Reviewed by NOBODY (build fix).
1645 Adding missing file from previous commit.
1647 https://bugs.webkit.org/show_bug.cgi?id=28740
1649 * inspector/front-end/SummaryBar.js: Added.
1650 (WebInspector.SummaryBar):
1651 (WebInspector.SummaryBar.prototype.get calculator):
1652 (WebInspector.SummaryBar.prototype.set calculator):
1653 (WebInspector.SummaryBar.prototype.reset):
1654 (WebInspector.SummaryBar.prototype.update):
1655 (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
1656 (WebInspector.SummaryBar.prototype._drawSwatch):
1657 (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
1658 (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1659 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1660 (WebInspector.SummaryBar.prototype._fadeOutRect):
1661 (WebInspector.SummaryBar.prototype._makeLegendElement):
1663 2009-08-27 Mikhail Naganov <mnaganov@chromium.org>
1665 Reviewed by Timothy Hatcher.
1667 Factor out Factor out summary bar from Resources panel.
1669 https://bugs.webkit.org/show_bug.cgi?id=28740
1672 * WebCore.vcproj/WebCore.vcproj:
1673 * inspector/front-end/ResourcesPanel.js:
1674 (WebInspector.ResourcesPanel.prototype.reset):
1675 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
1676 (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
1677 (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
1678 * inspector/front-end/SummaryBar.js: Added.
1679 (WebInspector.SummaryBar):
1680 (WebInspector.SummaryBar.prototype.get calculator):
1681 (WebInspector.SummaryBar.prototype.set calculator):
1682 (WebInspector.SummaryBar.prototype.reset):
1683 (WebInspector.SummaryBar.prototype.update):
1684 (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
1685 (WebInspector.SummaryBar.prototype._drawSwatch):
1686 (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
1687 (WebInspector.SummaryBar.prototype._drawSummaryGraph):
1688 (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
1689 (WebInspector.SummaryBar.prototype._fadeOutRect):
1690 (WebInspector.SummaryBar.prototype._makeLegendElement):
1691 * inspector/front-end/WebKit.qrc:
1692 * inspector/front-end/inspector.css:
1693 * inspector/front-end/inspector.html:
1695 2009-08-26 Mikhail Naganov <mnaganov@chromium.org>
1697 Reviewed by Timothy Hatcher.
1699 Start adding heap profiler to Inspector (hidden behind a flag.)
1701 https://bugs.webkit.org/show_bug.cgi?id=28429
1703 * English.lproj/localizedStrings.js:
1704 * inspector/front-end/ProfilesPanel.js:
1705 (WebInspector.ProfilesPanel):
1706 (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1707 (WebInspector.ProfilesPanel.prototype.reset):
1708 (WebInspector.ProfilesPanel.prototype.addProfile):
1709 (WebInspector.ProfilesPanel.prototype._updateInterface):
1710 (WebInspector.ProfilesPanel.prototype._snapshotClicked):
1711 * inspector/front-end/inspector.css:
1712 * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
1714 2009-08-27 Pavel Feldman <pfeldman@chromium.org>
1716 Reviewed by Timothy Hatcher.
1718 WebInspector: Metrics sidebar editing is broken.
1720 https://bugs.webkit.org/show_bug.cgi?id=28434
1722 * inspector/front-end/MetricsSidebarPane.js:
1723 (WebInspector.MetricsSidebarPane.prototype.update):
1725 2009-08-27 Darin Fisher <darin@chromium.org>
1727 Reviewed by Dimitri Glazkov.
1729 https://bugs.webkit.org/show_bug.cgi?id=28767
1731 Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
1732 KURL.cpp. This makes the XSSAuditor tests pass when using KURLGoogle.
1734 * platform/KURLGoogle.cpp:
1735 (WebCore::decodeURLEscapeSequences):
1737 2009-08-27 Ariya Hidayat <ariya.hidayat@nokia.com>
1739 Reviewed by Tor Arne Vestbø.
1741 [Qt] Build fix, missing functions after r47763.
1743 * platform/qt/Localizations.cpp:
1744 (WebCore::localizedMediaControlElementString):
1745 (WebCore::localizedMediaControlElementHelpText):
1746 (WebCore::localizedMediaTimeDescription):
1748 2009-08-26 Dumitru Daniliuc <dumi@chromium.org>
1750 Reviewed by Adam Barth.
1752 Removing trailing whitespaces from all storage classes.
1754 https://bugs.webkit.org/show_bug.cgi?id=28075
1756 * storage/ChangeVersionWrapper.cpp:
1757 * storage/Database.cpp:
1758 * storage/Database.h:
1759 * storage/DatabaseDetails.h:
1760 * storage/DatabaseThread.cpp:
1761 * storage/DatabaseTracker.cpp:
1762 * storage/DatabaseTracker.h:
1763 * storage/LocalStorageTask.cpp:
1764 * storage/LocalStorageTask.h:
1765 * storage/LocalStorageThread.cpp:
1766 * storage/LocalStorageThread.h:
1767 * storage/OriginQuotaManager.cpp:
1768 * storage/OriginUsageRecord.cpp:
1769 * storage/OriginUsageRecord.h:
1770 * storage/SQLError.h:
1771 * storage/SQLResultSetRowList.h:
1772 * storage/SQLStatement.cpp:
1773 * storage/SQLStatement.h:
1774 * storage/SQLStatementCallback.h:
1775 * storage/SQLStatementErrorCallback.h:
1776 * storage/SQLTransaction.cpp:
1777 * storage/SQLTransaction.h:
1778 * storage/SQLTransactionCallback.h:
1779 * storage/SQLTransactionErrorCallback.h:
1780 * storage/Storage.cpp:
1781 * storage/Storage.h:
1782 * storage/StorageArea.h:
1783 * storage/StorageAreaImpl.cpp:
1784 * storage/StorageAreaImpl.h:
1785 * storage/StorageAreaSync.cpp:
1786 * storage/StorageAreaSync.h:
1787 * storage/StorageEvent.cpp:
1788 * storage/StorageEvent.h:
1789 * storage/StorageMap.cpp:
1790 * storage/StorageMap.h:
1791 * storage/StorageNamespaceImpl.cpp:
1792 * storage/StorageSyncManager.cpp:
1793 * storage/StorageSyncManager.h:
1795 2009-08-26 Dave Hyatt <hyatt@apple.com>
1797 Reviewed by Anders Carlsson.
1799 https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
1801 Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen. We need
1802 to do this in order for overflow information to be properly recomputed.
1804 * rendering/style/RenderStyle.cpp:
1805 (WebCore::RenderStyle::diff):
1807 2009-08-26 Eric Carlson <eric.carlson@apple.com>
1809 Reviewed by Simon Fraser.
1811 HTMLMediaElement sometimes loses events
1812 https://bugs.webkit.org/show_bug.cgi?id=28762
1813 <rdar://problem/7172437>
1815 A media element triggers the resource selection algorithm ifÂ
1816 play() is called when the networkState attribute is NETWORK_EMPTY, but
1817 it also immediately queues 'play' and either 'waiting' or 'playing' events.
1818 One of the steps in preparing to load is to flush pending events, so thoseÂ
1819 events were lost if the load timer fired quickly enough. Fixed by deleting
1820 pending events before scheduling the load timer.
1822 Test: media/audio-play-event.html
1824 * html/HTMLMediaElement.cpp:
1825 (WebCore::HTMLMediaElement::scheduleLoad):
1826 Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of
1827 pending events is flushed immediately.
1828 (WebCore::HTMLMediaElement::scheduleNextSourceChild):
1829 New, start the load timer without flushing pending events.
1830 (WebCore::HTMLMediaElement::load):
1831 Call prepareForLoad();
1832 (WebCore::HTMLMediaElement::prepareForLoad):
1833 New, load setup code moved from loadInternal.
1834 (WebCore::HTMLMediaElement::loadInternal):
1835 Moved some setup code to prepareForLoad so it can be invoked immediately before
1836 arming the load timer.
1837 (WebCore::HTMLMediaElement::setNetworkState):
1838 Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
1840 * html/HTMLMediaElement.h:
1841 Declare scheduleNextSourceChild.
1843 2009-08-26 Peter Kasting <pkasting@google.com>
1845 Reviewed by Eric Seidel.
1847 https://bugs.webkit.org/show_bug.cgi?id=28751
1848 Switch ICO decoder from a Vector of raw pointers to a Vector of
1849 OwnPtrs now that that is possible. Makes code slightly simpler.
1851 * platform/image-decoders/ico/ICOImageDecoder.cpp:
1852 (WebCore::ICOImageDecoder::decodeAtIndex):
1853 (WebCore::ICOImageDecoder::processDirectory):
1854 * platform/image-decoders/ico/ICOImageDecoder.h:
1856 2009-08-26 Dave Hyatt <hyatt@apple.com>
1858 Reviewed by Dan Bernstein.
1860 https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
1861 Make sure vertical overflow is still computed across self-painting layers, even though it isn't
1862 propagated to parents.
1864 Added fast/repaint/rel-positioned-inline-with-overflow.html
1866 * rendering/InlineFlowBox.cpp:
1867 (WebCore::InlineFlowBox::computeVerticalOverflow):
1869 2009-08-26 David Levin <levin@chromium.org>
1871 Reviewed by Darin Fisher.
1873 ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
1874 https://bugs.webkit.org/show_bug.cgi?id=28735
1876 Renaming the method to imply its wider implications of affecting cookies
1877 over any protocol that supports them.
1879 No change in functionality so no new tests.
1882 * loader/DocumentThreadableLoader.cpp:
1883 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1884 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1885 (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1886 * platform/network/ResourceRequestBase.cpp:
1887 (WebCore::ResourceRequestBase::adopt):
1888 (WebCore::ResourceRequestBase::copyData):
1889 (WebCore::ResourceRequestBase::allowCookies):
1890 (WebCore::ResourceRequestBase::setAllowCookies):
1891 (WebCore::equalIgnoringHeaderFields):
1892 * platform/network/ResourceRequestBase.h:
1893 (WebCore::ResourceRequestBase::ResourceRequestBase):
1894 * platform/network/cf/ResourceRequestCFNet.cpp:
1895 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1896 (WebCore::ResourceRequest::doUpdateResourceRequest):
1897 * platform/network/mac/ResourceRequestMac.mm:
1898 (WebCore::ResourceRequest::doUpdateResourceRequest):
1899 (WebCore::ResourceRequest::doUpdatePlatformRequest):
1900 * platform/network/soup/ResourceRequestSoup.cpp:
1901 (WebCore::ResourceRequest::updateFromSoupMessage):
1903 2009-08-26 Dan Bernstein <mitz@apple.com>
1905 Reviewed by Dave Hyatt.
1907 Made RenderInline::clippedOverflowRectForRepaint() actually include
1910 Test: fast/repaint/inline-overflow.html
1912 * rendering/RenderInline.cpp:
1913 (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
1914 the bounding box of all lines’ visible overflow boxes (under the
1915 assumption that the first and last lines determine the top and
1916 bottom, respectively).
1917 (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
1918 linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
1919 * rendering/RenderInline.h:
1921 2009-08-26 John Gregg <johnnyg@google.com>
1923 Reviewed by David Levin.
1925 minor style correction and include fix for notifications
1926 https://bugs.webkit.org/show_bug.cgi?id=28745
1928 No change in behavior, so no tests.
1930 * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
1931 * notifications/Notification.cpp: change enum style to InterCaps
1932 (WebCore::Notification::Notification):
1933 * notifications/NotificationPresenter.h:
1934 (WebCore::NotificationPresenter::):
1936 2009-08-25 Drew Wilson <atwilson@google.com>
1938 Reviewed by David Levin.
1940 postMessage() spec now supports sending arrays of ports
1941 https://bugs.webkit.org/show_bug.cgi?id=26902
1943 Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
1945 No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
1947 * WebCore.xcodeproj/project.pbxproj:
1948 Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
1949 * dom/MessageEvent.cpp:
1950 Updated APIs to support passing MessagePortArrays.
1951 (WebCore::MessageEvent::MessageEvent):
1952 (WebCore::MessageEvent::initMessageEvent):
1953 (WebCore::MessageEvent::messagePort):
1954 * dom/MessageEvent.h:
1955 (WebCore::MessageEvent::create):
1956 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1957 (WebCore::MessageEvent::ports):
1958 * dom/MessagePort.cpp:
1959 (WebCore::MessagePort::postMessage):
1960 (WebCore::MessagePort::dispatchMessages):
1961 (WebCore::MessagePort::disentanglePorts):
1962 Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
1963 (WebCore::MessagePort::entanglePorts):
1964 Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
1965 * dom/MessagePort.h:
1966 * dom/MessagePortChannel.cpp:
1967 EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
1968 (WebCore::MessagePortChannel::EventData::create):
1969 (WebCore::MessagePortChannel::EventData::EventData):
1970 * dom/MessagePortChannel.h:
1971 (WebCore::MessagePortChannel::EventData::channels):
1972 * page/DOMWindow.cpp:
1973 (WebCore::PostMessageTimer::PostMessageTimer):
1974 (WebCore::PostMessageTimer::event):
1975 (WebCore::DOMWindow::postMessage):
1976 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1978 * workers/DedicatedWorkerContext.cpp:
1979 (WebCore::DedicatedWorkerContext::postMessage):
1980 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1981 (WebCore::DedicatedWorkerContext::dispatchMessage):
1982 * workers/DedicatedWorkerContext.h:
1983 * workers/Worker.cpp:
1984 (WebCore::Worker::postMessage):
1985 Now accepts a MessagePortArray parameter instead of a single MessagePort.
1986 (WebCore::Worker::dispatchMessage):
1988 * workers/WorkerContextProxy.h:
1989 * workers/WorkerMessagingProxy.cpp:
1990 Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
1991 (WebCore::MessageWorkerContextTask::create):
1992 (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
1993 (WebCore::MessageWorkerContextTask::performTask):
1994 (WebCore::MessageWorkerTask::create):
1995 (WebCore::MessageWorkerTask::MessageWorkerTask):
1996 (WebCore::MessageWorkerTask::performTask):
1997 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1998 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1999 * workers/WorkerMessagingProxy.h:
2000 * workers/WorkerObjectProxy.h:
2001 Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.
2003 2009-08-26 Fumitoshi Ukai <ukai@chromium.org>
2005 Reviewed by Alexey Proskuryakov.
2007 SocketStreamHandle interface for WebSocket API
2008 https://bugs.webkit.org/show_bug.cgi?id=28037
2010 Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
2011 Other build systems will be updated once the code is functional.
2012 Tests will be landed once this code is complete and functional.
2015 * WebCore.xcodeproj/project.pbxproj:
2016 * platform/network/SocketStreamErrorBase.cpp: Added.
2017 * platform/network/SocketStreamErrorBase.h: Added.
2018 * platform/network/SocketStreamHandleBase.cpp: Added.
2019 * platform/network/SocketStreamHandleBase.h: Added.
2020 * platform/network/SocketStreamHandleClient.h: Added.
2021 * platform/network/cf/SocketStreamError.h: Added.
2022 * platform/network/cf/SocketStreamHandle.h: Added.
2023 * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
2024 * platform/network/soup/SocketStreamError.h: Added.
2025 * platform/network/soup/SocketStreamHandle.h: Added.
2026 * platform/network/soup/SocketStreamHandleSoup.cpp: Added.
2028 2009-08-26 Mads Ager <ager@chromium.org>
2030 Reviewed by Dimitri Glazkov.
2032 [V8] setTimeout does not convert non-string argument to string
2033 https://bugs.webkit.org/show_bug.cgi?id=28739
2035 Convert non-string argument to setTimeout to string in the V8
2038 * bindings/v8/custom/V8DOMWindowCustom.cpp:
2039 (WebCore::V8Custom::WindowSetTimeoutImpl):
2041 2009-08-25 Oliver Hunt <oliver@apple.com>
2043 Reviewed by Gavin Barraclough.
2045 [ES5] Implement getOwnPropertyDescriptor
2046 https://bugs.webkit.org/show_bug.cgi?id=28724
2048 Implement the WebCore side of getOwnPropertyDescriptor. This
2049 requires a custom implementation of getOwnPropertyDescriptor
2050 for every class with a custom implementation of getOwnPropertySlot.
2052 The bindings generator has been updated to generate appropriate
2053 versions of getOwnPropertyDescriptor for the general case where
2054 a custom getOwnPropertyDescriptor is not needed. ES5 is vague
2055 about how getOwnPropertyDescriptor should work in the context of
2056 "host" functions with polymorphic [[GetOwnProperty]], so it seems
2057 okay that occasionally we "guess" what attributes -- eg. determining
2058 whether a property is writable.
2060 Test: fast/js/getOwnPropertyDescriptor.html
2062 * bindings/js/JSDOMWindowCustom.cpp:
2063 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2064 * bindings/js/JSDOMWindowShell.cpp:
2065 (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
2066 * bindings/js/JSDOMWindowShell.h:
2067 * bindings/js/JSHTMLAppletElementCustom.cpp:
2068 (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
2069 * bindings/js/JSHTMLEmbedElementCustom.cpp:
2070 (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
2071 * bindings/js/JSHTMLObjectElementCustom.cpp:
2072 (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
2073 * bindings/js/JSHistoryCustom.cpp:
2074 (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
2075 * bindings/js/JSLocationCustom.cpp:
2076 (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
2077 * bindings/js/JSNamedNodesCollection.cpp:
2078 (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
2079 * bindings/js/JSNamedNodesCollection.h:
2080 * bindings/js/JSPluginElementFunctions.cpp:
2081 (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
2082 * bindings/js/JSPluginElementFunctions.h:
2083 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2084 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
2085 * bindings/js/JSQuarantinedObjectWrapper.h:
2086 * bindings/js/JSWorkerContextCustom.cpp:
2087 (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
2088 * bindings/scripts/CodeGeneratorJS.pm:
2089 * bridge/objc/objc_runtime.h:
2090 * bridge/objc/objc_runtime.mm:
2091 (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
2093 (JSC::Bindings::Instance::getOwnPropertyDescriptor):
2094 * bridge/runtime_array.cpp:
2095 (JSC::RuntimeArray::getOwnPropertyDescriptor):
2096 * bridge/runtime_array.h:
2097 * bridge/runtime_method.cpp:
2098 (JSC::RuntimeMethod::getOwnPropertyDescriptor):
2099 * bridge/runtime_method.h:
2100 * bridge/runtime_object.cpp:
2101 (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
2102 * bridge/runtime_object.h:
2104 2009-08-26 Vincent Untz <vuntz@gnome.org>
2106 Reviewed by Xan Lopez.
2108 GObject checks for NULL (and not 0) in g_object_get, so use that
2109 as we were already doing elsewhere to make the compiler happy.
2111 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2112 (WebCore::MediaPlayerPrivate::hasAudio):
2114 2009-08-26 Alpha Lam <hclam@chromium.org>
2116 Reviewed by David Levin.
2118 RenderThemeMac.mm has incorrect casting for media control element.
2119 https://bugs.webkit.org/show_bug.cgi?id=28730
2121 MediaControlMuteButtonElement was incorrectly casted to
2122 MediaControlPlayButtonElement. This is corrected in this patch.
2124 No new tests because this is code cleanup and is already covered by existing
2127 * rendering/RenderThemeMac.mm:
2128 (WebCore::RenderThemeMac::paintMediaMuteButton):
2130 2009-08-26 Robert Sesek <rsesek@chromium.org>
2132 Reviewed by Eric Seidel.
2134 [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
2135 https://bugs.webkit.org/show_bug.cgi?id=28670
2137 Change the condition regarding the key modifier check for non-contiguous
2138 selection on a multi-value list from just PLATFORM(MAC) to
2139 PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).
2141 No new tests. This patch only changes the condition on which a certain mouse
2142 event modifier key is used.
2144 * dom/SelectElement.cpp:
2145 (WebCore::SelectElement::listBoxDefaultEventHandler):
2147 2009-08-25 Eric Carlson <eric.carlson@apple.com>
2149 Reviewed by Dan Bernstein
2151 r47744 causes media/video-controls-with-mutation-event-handler.html to crash
2152 https://bugs.webkit.org/show_bug.cgi?id=28732
2154 * rendering/MediaControlElements.cpp:
2155 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
2156 Don't call setAttribute from the construtor, any registered mutation event
2157 listener will cause a crash.
2159 * rendering/RenderMedia.cpp:
2160 (WebCore::RenderMedia::createVolumeSlider):
2161 Set the maxAttr here instead of in the constructor.
2163 2009-08-25 Dmitry Titov <dimich@chromium.org>
2165 Reviewed by Brady Eidson.
2167 Timers from cached pages fire instantly rather than the after the specified timeout delay
2168 https://bugs.webkit.org/show_bug.cgi?id=28683
2170 Test: fast/dom/Window/timer-resume-on-navigation-back.html
2172 * history/CachedPage.cpp:
2173 (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
2174 it should be done only once in FrameLoader::open(cachedFrame)
2175 * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
2176 (WebCore::DOMTimer::DOMTimer): Ditto.
2177 (WebCore::DOMTimer::suspend): Ditto.
2178 (WebCore::DOMTimer::resume): Ditto.
2179 * page/DOMTimer.h: Ditto.
2181 2009-08-25 Eric Carlson <eric.carlson@apple.com>
2183 Reviewed by Simon Fraser.
2185 Setting the volume of a media element has no effect if called too early
2186 https://bugs.webkit.org/show_bug.cgi?id=28731
2188 * manual-tests/audio-volume.html:
2191 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2192 (WebCore::MediaPlayerPrivate::setVolume):
2193 (WebCore::MediaPlayerPrivate::setRate):
2194 Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
2195 volume as soon as the movie has been created.
2197 2009-08-25 David Levin <levin@chromium.org>
2199 Reviewed by Maciej Stachowiak.
2201 DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
2202 https://bugs.webkit.org/show_bug.cgi?id=28728
2204 Test: This code path is exercised while running xhr layout tests in chromium.
2206 * loader/DocumentThreadableLoader.cpp:
2207 (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
2208 back synchronously, the loader is 0, so the assert is changed to allow for that.
2209 (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
2210 done before SubresourceLoader::create finishes, so ensure that any previous loader
2211 -- from a preflight request -- is cleared before calling SubresourceLoader::create.
2213 2009-08-25 Mark Rowe <mrowe@apple.com>
2215 Stop installing IDL files in to the framework.
2217 * WebCore.xcodeproj/project.pbxproj:
2219 2009-08-25 Kent Tamura <tkent@chromium.org>
2221 Reviewed by Eric Seidel.
2223 Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
2224 https://bugs.webkit.org/show_bug.cgi?id=27756
2226 Tests: fast/forms/input-list.html
2227 fast/forms/input-selectedoption.html
2229 * html/HTMLAttributeNames.in:
2230 * html/HTMLInputElement.cpp:
2231 (WebCore::HTMLInputElement::parseMappedAttribute):
2232 (WebCore::HTMLInputElement::list):
2233 (WebCore::HTMLInputElement::selectedOption):
2234 * html/HTMLInputElement.h:
2235 * html/HTMLInputElement.idl:
2237 2009-08-25 Eric Carlson <eric.carlson@apple.com>
2239 Reviewed by Oliver Hunt.
2241 <video> and <audio> controller should be accessible (edit)
2242 https://bugs.webkit.org/show_bug.cgi?id=28081
2244 Test: accessibility/media-element.html
2249 * WebCore.vcproj/WebCore.vcproj:
2250 * WebCore.xcodeproj/project.pbxproj:
2251 * WebCoreSources.bkl:
2252 Add AccessibilityMediaControls.cpp/.h
2254 * accessibility/AXObjectCache.cpp:
2255 * accessibility/AXObjectCache.h:
2256 (WebCore::AXObjectCache::getOrCreate):
2257 Create AccessibilityMediaControl. Update Copyright
2259 * accessibility/AccessibilityMediaControls.cpp:
2260 * accessibility/AccessibilityMediaControls.h:
2263 * accessibility/AccessibilityObject.cpp:
2264 * accessibility/AccessibilityObject.h:
2265 Add isMediaTimeline. Update Copyright.
2267 * accessibility/AccessibilitySlider.h:
2268 Make constructor protected instead of private so AccessibilityMediaTimeline can
2271 * accessibility/mac/AccessibilityObjectWrapper.mm:
2272 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2273 Add NSAccessibilityValueDescriptionAttribute to range attributes.
2274 (-[AccessibilityObjectWrapper subrole]):
2275 Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
2278 add isMediaControlElement.
2280 * page/mac/WebCoreViewFactory.h:
2281 * platform/LocalizedStrings.h:
2282 * platform/mac/LocalizedStringsMac.mm:
2283 (WebCore::localizedMediaControlElementString):
2284 (WebCore::localizedMediaControlElementHelpText):
2285 (WebCore::localizedMediaTimeDescription):
2286 New, return localized media controller strings.
2288 * platform/gtk/LocalizedStringsGtk.cpp:
2289 (WebCore::mediaElementLoadingStateText):
2290 (WebCore::mediaElementLiveBroadcastStateText):
2291 Move inside of "#if ENABLE(VIDEO)"
2292 (WebCore::localizedMediaControlElementString):
2293 (WebCore::localizedMediaControlElementHelpText):
2294 (WebCore::localizedMediaTimeDescription):
2296 * rendering/MediaControlElements.cpp:
2297 (WebCore::MediaControlElement::MediaControlElement):
2298 Initialize m_displayType.
2299 (WebCore::MediaControlElement::MediaControlElement):
2300 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
2302 (WebCore::MediaControlInputElement::MediaControlInputElement):
2303 Set m_displayType based on pseudo style ID.
2304 (WebCore::MediaControlInputElement::MediaControlInputElement):
2305 rename local "o" to "object".
2306 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
2307 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
2308 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
2309 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
2310 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
2311 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2312 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
2313 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2314 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2315 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2316 Update for MediaControlInputElement constructor change.
2317 (WebCore::MediaControlTimeDisplayElement::formatTime):
2318 New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
2319 (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
2320 New, set text to current time.
2321 * rendering/MediaControlElements.h:
2323 * rendering/RenderMedia.cpp:
2324 (WebCore::RenderMedia::updateControls):
2325 Create controls in tab order.
2326 (WebCore::RenderMedia::formatTime):
2327 Moved to MediaControlTimeDisplayElement::formatTime.
2328 (WebCore::RenderMedia::updateTimeDisplay):
2329 Call MediaControlTimeDisplayElement::setCurrentValue.
2330 * rendering/RenderMedia.h:
2332 2009-08-25 Jian Li <jianli@chromium.org>
2334 Reviewed by David Levin.
2336 [V8] Fix Canvas layout test failures in Chromium build.
2337 https://bugs.webkit.org/show_bug.cgi?id=28720
2339 The previous fix r47757 does not handle the V8 object conversion correctly.
2341 * bindings/v8/custom/V8DocumentCustom.cpp:
2342 (WebCore::CALLBACK_FUNC_DECL):
2343 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2344 (WebCore::CALLBACK_FUNC_DECL):
2346 2009-08-25 Jian Li <jianli@chromium.org>
2348 Reviewed by David Levin.
2350 [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
2351 https://bugs.webkit.org/show_bug.cgi?id=28717
2353 * bindings/v8/DOMObjectsInclude.h:
2354 * bindings/v8/DerivedSourcesAllInOne.cpp:
2355 * bindings/v8/V8Index.cpp:
2356 * bindings/v8/V8Index.h:
2357 * bindings/v8/custom/V8DocumentCustom.cpp:
2358 (WebCore::CALLBACK_FUNC_DECL):
2359 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2360 (WebCore::CALLBACK_FUNC_DECL):
2362 2009-08-25 Alpha Lam <hclam@chromium.org>
2364 Reviewed by David Levin.
2366 [chromium] Implement media volume slider for chromium
2367 https://bugs.webkit.org/show_bug.cgi?id=28715
2369 Provided the implementation of the volume slider and its container for
2370 chromium port. With this change there will be a usable volume control
2371 slider for chromium theme.
2373 No new tests since this is covered by existing media layout tests.
2375 * css/mediaControlsChromium.css: CSS style for the volume slider.
2376 * rendering/RenderThemeChromiumSkia.cpp:
2377 (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
2378 (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
2379 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
2380 (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
2381 (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
2382 (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
2384 2009-08-25 Chris Marrin <cmarrin@apple.com>
2386 Reviewed by Simon Fraser.
2388 Missed checking in 2 Canvas3D files
2389 https://bugs.webkit.org/show_bug.cgi?id=28018
2391 * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
2392 * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
2394 2009-08-25 Mads Ager <ager@chromium.org>
2396 Reviewed by Adam Barth.
2398 [V8] Exception from JavaScript propagates to main script
2399 https://bugs.webkit.org/show_bug.cgi?id=26433
2401 Make sure that exceptions thrown both at compile time and at
2402 runtime in javascript URLs are isolated from the main script.
2404 Test: fast/dom/javascript-url-exception-isolation.html
2406 * bindings/v8/V8Proxy.cpp:
2407 (WebCore::V8Proxy::evaluate):
2409 2009-08-25 Chris Marrin <cmarrin@apple.com>
2411 Reviewed by Simon Fraser.
2413 Added all new Canvas3D files to the build
2414 https://bugs.webkit.org/show_bug.cgi?id=28018
2416 This also hooks up CanvasRenderingContext as the common base class for
2417 CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
2418 of logic throughout to support the new CanvasRenderingContext3D object.
2419 But nothing is hooked up yet.
2421 * DerivedSources.make:
2423 * WebCore.vcproj/WebCore.vcproj:
2424 * WebCore/GNUmakefile.am:
2425 * WebCore/WebCore.gypi:
2426 * WebCore/WebCoreSources.bkl:
2427 * WebCore.xcodeproj/project.pbxproj:
2428 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2429 (WebCore::JSCanvasRenderingContext2D::strokeStyle):
2430 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
2431 (WebCore::JSCanvasRenderingContext2D::fillStyle):
2432 (WebCore::JSCanvasRenderingContext2D::setFillStyle):
2433 (WebCore::JSCanvasRenderingContext2D::setFillColor):
2434 (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2435 (WebCore::JSCanvasRenderingContext2D::strokeRect):
2436 (WebCore::JSCanvasRenderingContext2D::drawImage):
2437 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2438 (WebCore::JSCanvasRenderingContext2D::setShadow):
2439 (WebCore::JSCanvasRenderingContext2D::createPattern):
2440 (WebCore::JSCanvasRenderingContext2D::putImageData):
2441 (WebCore::JSCanvasRenderingContext2D::fillText):
2442 (WebCore::JSCanvasRenderingContext2D::strokeText):
2443 * bindings/js/JSDOMBinding.cpp:
2444 (WebCore::isObservableThroughDOM):
2445 * bindings/js/JSDocumentCustom.cpp:
2446 * bindings/js/JSHTMLCanvasElementCustom.cpp:
2447 (WebCore::JSHTMLCanvasElement::markChildren):
2449 (WebCore::Document::getCSSCanvasContext):
2451 * html/HTMLCanvasElement.cpp:
2452 (WebCore::HTMLCanvasElement::getContext):
2453 (WebCore::HTMLCanvasElement::willDraw):
2454 (WebCore::HTMLCanvasElement::reset):
2455 (WebCore::HTMLCanvasElement::paint):
2456 (WebCore::HTMLCanvasElement::is3D):
2457 (WebCore::HTMLCanvasElement::context3D):
2458 (WebCore::HTMLCanvasElement::texture3D):
2459 * html/HTMLCanvasElement.h:
2460 (WebCore::HTMLCanvasElement::renderingContext):
2461 * html/canvas/CanvasObject.cpp:
2462 (WebCore::CanvasObject::~CanvasObject):
2463 * html/canvas/CanvasRenderingContext.idl:
2464 * html/canvas/CanvasRenderingContext2D.cpp:
2465 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2466 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2467 * html/canvas/CanvasRenderingContext2D.h:
2468 (WebCore::CanvasRenderingContext2D::is2d):
2469 * html/canvas/CanvasRenderingContext2D.idl:
2470 * html/canvas/CanvasRenderingContext3D.cpp:
2471 * html/canvas/CanvasRenderingContext3D.idl:
2473 2009-08-25 Dan Bernstein <mitz@apple.com>
2475 Reviewed by Anders Carlsson.
2477 REGRESSION (r47630): fast/repaint/background-generated.html is failing
2478 https://bugs.webkit.org/show_bug.cgi?id=28704
2480 * rendering/RenderBoxModelObject.cpp:
2481 (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
2482 * rendering/style/FillLayer.cpp:
2483 (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
2484 * rendering/style/FillLayer.h:
2485 (WebCore::FillSize::FillSize): Changed assignment to initialization and
2486 removed redundant assignment to size.
2488 2009-08-25 Yusuke Sato <yusukes@chromium.org>
2490 Reviewed by Darin Fisher.
2492 [Chromium] Complex text doesn't show up with text stroking
2493 https://bugs.webkit.org/show_bug.cgi?id=28707
2495 Skip the NULL check of m_hdc if Windows GDI is not in use.
2497 * platform/graphics/chromium/FontChromiumWin.cpp:
2498 (WebCore::Font::drawComplexText):
2500 2009-08-25 Alpha Lam <hclam@chromium.org>
2502 Reviewed by David Levin.
2504 Media controls panel does not have a volume control slider
2505 https://bugs.webkit.org/show_bug.cgi?id=28241
2507 Introduced "-webkit-media-controls-volume-slider",
2508 "-webkit-media-controls-volume-slider-container" and the supporting
2509 implementation. Also added appearances of "media-volume-slider" and
2510 "media-volume-slider-container".
2512 The implementation of the controls are in WebCore::MediaControlElements.
2513 Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
2515 No new tests since this change doesn't have theme implementation and the
2516 volume slider is disabled by default.
2518 * accessibility/AccessibilitySlider.cpp:
2519 (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
2520 * css/CSSPrimitiveValueMappings.h:
2521 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
2522 * css/CSSSelector.cpp:
2523 (WebCore::CSSSelector::extractPseudoType): ditto.
2524 * css/CSSSelector.h:
2525 (WebCore::CSSSelector::): ditto.
2526 * css/CSSStyleSelector.cpp:
2527 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
2528 * css/CSSValueKeywords.in: ditto.
2529 * css/mediaControls.css: Makes the volume slider disabled by default.
2530 * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
2532 * rendering/MediaControlElements.cpp:
2533 (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
2534 (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
2535 Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
2536 (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
2537 (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
2538 (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
2539 (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
2540 (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
2541 * rendering/MediaControlElements.h:
2542 (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
2543 (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
2544 * rendering/RenderMedia.cpp:
2545 (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
2546 (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
2547 (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
2548 (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
2549 (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
2550 (WebCore::RenderMedia::forwardEvent):
2551 Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
2552 * rendering/RenderMedia.h:
2553 Added definition for RenderMedia::updateVolumeSliderContainer().
2554 * rendering/RenderMediaControls.cpp:
2555 (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
2556 * rendering/RenderSlider.cpp:
2557 (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
2558 (WebCore::RenderSlider::thumbRect): ditto.
2559 (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
2560 (WebCore::RenderSlider::setValueForPosition): ditto.
2561 (WebCore::RenderSlider::positionForOffset): ditto.
2562 (WebCore::RenderSlider::currentPosition): ditto.
2563 (WebCore::RenderSlider::trackSize): ditto.
2564 * rendering/RenderTheme.cpp:
2565 (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
2566 (WebCore::RenderTheme::paint): Paints volume control parts using theme.
2567 * rendering/RenderTheme.h:
2568 (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
2569 (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
2570 (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
2571 * rendering/style/RenderStyleConstants.h:
2572 (WebCore::): Constants for volume control parts.
2574 2009-08-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2576 Reviewed by Ariya Hidayat.
2578 [Qt/Mac] Use CONFIG+=build_all only when building libraries
2580 If no configuration is specified when building WebKit we pass the
2581 debug_and_release option to QMake which results in Makefiles for
2582 both configurations being generated.
2584 Previously we built both of these configurations by default, for
2585 all targets (both the QtWebKit framework/dyldlib and the various
2586 executables such as QtLauncher and tests). This makes sense for
2587 the libraries, which get the _debug suffix and can be loaded on
2588 demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
2589 ended up building the same executable twice.
2591 We now only build one instance of each executable, and since this
2592 is a developer build we build the debug-version. Passing either
2593 --debug or --release to build-webkit will override this, and
2594 even in the default case the release version can still be built
2595 by running 'make release' in the the build directory of each
2600 2009-08-25 Xan Lopez <xlopez@igalia.com>
2602 Reviewed by Jan Alonzo.
2604 https://bugs.webkit.org/show_bug.cgi?id=28690
2605 Build failure in webkitgtk+-1.1.3
2607 Do not use deprecated function to unref a pixbuf.
2609 * platform/gtk/CursorGtk.cpp:
2610 (WebCore::Cursor::Cursor):
2612 2009-08-24 Hironori Bono <hbono@chromium.org>
2614 Reviewed by Adam Barth.
2616 Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
2617 <https://bugs.webkit.org/show_bug.cgi?id=27827>.
2619 Because of the lack of mappings from GDK key-codes to WebKit key-codes,
2620 Chromium cannot send valid key-codes to JavaScript when a user types
2621 function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
2623 To write layout tests for this issue, added mappings from function-key
2624 names to platform-specific key-codes to EventSendingController objects
2625 so that eventSender.keyDown() can send function-key events without using
2626 platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
2627 is only for Mac. So this change adds this new test to Skipped tests for other
2628 platforms to prevent this change from crashing the build trees.)
2630 Test: fast/events/keydown-function-keys.html
2632 * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
2633 to WebKit key-code for function keys.
2634 (WebCore::windowsKeyCodeForKeyEvent):
2636 2009-08-24 Antti Koivisto <antti@apple.com>
2638 Reviewed by Simon Fraser.
2640 https://bugs.webkit.org/show_bug.cgi?id=28698
2641 Avoid unnecessary transformations for the window resizer rect.
2643 * platform/Scrollbar.cpp:
2644 (WebCore::Scrollbar::setFrameRect):
2646 2009-08-24 Alexey Proskuryakov <ap@apple.com>
2648 Reviewed by Anders Carlsson.
2650 <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
2651 (DNS prefetching support)
2653 * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
2654 thread on Windows, because there isn't one on main one.
2656 2009-08-24 Alexey Proskuryakov <ap@apple.com>
2658 Reviewed by Darin Adler.
2660 https://bugs.webkit.org/show_bug.cgi?id=28374
2661 Cross-scheme requests should not be blocked by appcache rules
2663 Test: http/tests/appcache/different-scheme.html
2665 * loader/appcache/ApplicationCacheHost.cpp:
2666 (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
2667 Resources with different schemes can never be loaded from appcache.
2669 2009-08-24 Alexey Proskuryakov <ap@apple.com>
2671 Reviewed by Darin Adler and Sam Weinig.
2673 https://bugs.webkit.org/show_bug.cgi?id=28688
2674 REGRESSION(r24994): Cannot create a frame with a javascript URL
2676 Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
2678 * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
2679 * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
2680 * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
2681 * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
2682 Omit the checks if there is no document in frame yet.
2684 2009-08-24 Nate Chapin <japhet@chromium.org>
2686 Reviewed by Eric Seidel.
2688 Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
2689 RenderStyle being accessed.
2691 https://bugs.webkit.org/show_bug.cgi?id=28681
2694 (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
2696 2009-08-24 Dan Bernstein <mitz@apple.com>
2698 Reviewed by Simon Fraser.
2700 <rdar://problem/5743105> Long freezing during loading and selecting text
2702 https://bugs.webkit.org/show_bug.cgi?id=14918
2704 * rendering/RenderView.cpp:
2705 (WebCore::RenderView::setSelection): Added calls to
2706 beginDeferredRepaints() and endDeferredRepaints() around the
2707 invalidation of the selection, in order to better coalesce multiple
2710 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2712 Reviewed by Timothy Hatcher.
2714 WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
2716 https://bugs.webkit.org/show_bug.cgi?id=28680
2718 * inspector/front-end/ElementsPanel.js:
2719 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
2720 * inspector/front-end/ElementsTreeOutline.js:
2721 (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
2722 * inspector/front-end/treeoutline.js:
2723 (TreeOutline.prototype.getCachedTreeElement):
2724 (TreeOutline.prototype.findTreeElement):
2725 * inspector/front-end/utilities.js:
2729 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2731 Reviewed by Timothy Hatcher.
2733 WebInspector: Do expand local scope when hitting the break
2735 https://bugs.webkit.org/show_bug.cgi?id=28678
2737 * inspector/front-end/ScopeChainSidebarPane.js:
2738 (WebInspector.ScopeChainSidebarPane.prototype.update):
2740 2009-08-24 Ada Chan <adachan@apple.com>
2742 Reviewed by Steve Falkenburg.
2744 Make sure we use the current FrameView's frame rect when
2745 going back to a cached page.
2747 https://bugs.webkit.org/show_bug.cgi?id=28659
2749 * loader/FrameLoader.cpp:
2750 (WebCore::FrameLoader::open):
2752 2009-08-24 Cameron McCormack <cam@mcc.id.au>
2754 Reviewed by Darin Adler.
2756 Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
2757 https://bugs.webkit.org/show_bug.cgi?id=28673
2759 Test: svg/dom/text-rotate-live.html
2761 * svg/SVGNumberList.cpp:
2762 (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
2765 2009-08-24 Simon Fraser <simon.fraser@apple.com>
2767 Reviewed by NOBODY (build fix)
2769 Turn off ENABLE_3D_CANVAS in the xconfig files.
2771 * Configurations/FeatureDefines.xcconfig:
2773 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2775 Reviewed by Timothy Hatcher.
2777 WebInspector: Only expand local scope when hitting the break
2779 https://bugs.webkit.org/show_bug.cgi?id=28678
2781 * inspector/front-end/ScopeChainSidebarPane.js:
2782 (WebInspector.ScopeChainSidebarPane.prototype.update):
2784 2009-08-24 Dan Bernstein <mitz@apple.com>
2786 Reviewed by Simon Fraser.
2788 background-size fails to parse if a single length/percentage/auto is followed by a comma
2789 https://bugs.webkit.org/show_bug.cgi?id=28674
2791 * css/CSSParser.cpp:
2792 (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
2793 which is set to false when this method consumes a comma. Moved
2794 handling of 'contain' and 'cover' from parseFillProperty into this
2796 (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
2797 processing the next value, and pass allowComma to parseFillSize.
2800 2009-08-17 Martin Robinson <martin.james.robinson@gmail.com>
2802 Reviewed by Gustavo Noronha.
2804 [GTK] Support for cursors that are images
2805 https://bugs.webkit.org/show_bug.cgi?id=28346
2807 Added support for cursors which are images for CursorGtk. Added
2808 a manual test for this.
2810 * manual-tests/gtk/cursor-image.html: Added.
2811 * manual-tests/gtk/resources/redcursor.cur: Added.
2812 * platform/gtk/CursorGtk.cpp:
2813 (WebCore::Cursor::Cursor):
2815 2009-08-24 Zan Dobersek <zandobersek@gmail.com>
2817 Reviewed by Gustavo Noronha.
2819 [GTK] Integrate GStreamer video with the graphics backend
2820 https://bugs.webkit.org/show_bug.cgi?id=16356
2822 Improves GStreamer backend implementation of MediaPlayerPrivate class.
2824 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2825 (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
2826 error for different GStreamer errors to MediaPlayerPrivate.
2827 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
2828 initialization boolean to a better place.
2829 (WebCore::MediaPlayerPrivate::play):
2830 (WebCore::MediaPlayerPrivate::pause):
2831 (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
2832 consider the source as stream if duration query failed.
2833 (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
2835 (WebCore::MediaPlayerPrivate::seek): Return if error occured.
2836 (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
2837 function doesn't seem to be used anywhere in WebCore.
2838 (WebCore::MediaPlayerPrivate::paused):
2839 (WebCore::MediaPlayerPrivate::seeking):
2840 (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
2841 (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
2842 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
2843 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
2844 (WebCore::MediaPlayerPrivate::bytesLoaded):
2845 (WebCore::MediaPlayerPrivate::totalBytesKnown):
2846 (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
2847 (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
2848 after seek ended with a successful change
2849 (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
2850 (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
2851 (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
2852 (WebCore::MediaPlayerPrivate::getSupportedTypes):
2853 (WebCore::MediaPlayerPrivate::supportsType):
2854 (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
2855 (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
2857 (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
2858 do not set playbin's audio sink.
2859 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2860 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2861 (webkit_video_sink_idle_func): Use C++ casts, decrease reference count of async
2862 queue at the end of the idle function.
2863 (webkit_video_sink_render): Increase reference count of async queue.
2864 (webkit_video_sink_stop): Remove any idle functions with the sink as data.
2866 2009-08-23 Chris Marrin <cmarrin@apple.com>
2868 Reviewed by Simon Fraser.
2870 Remaining new files for Canvas3D
2871 https://bugs.webkit.org/show_bug.cgi?id=28018
2873 * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
2874 * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
2875 * html/canvas/CanvasByteArray.h: Added.
2876 * html/canvas/CanvasByteArray.idl: Added.
2877 * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
2878 * html/canvas/CanvasNumberArray.h: Added.
2879 * html/canvas/CanvasNumberArray.idl: Added.
2881 2009-08-24 Pavel Feldman <pfeldman@chromium.org>
2883 Reviewed by Timothy Hatcher.
2885 WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
2887 https://bugs.webkit.org/show_bug.cgi?id=28408
2889 * inspector/front-end/CallStackSidebarPane.js:
2890 (WebInspector.CallStackSidebarPane.prototype.update):
2891 * inspector/front-end/ConsoleView.js:
2892 (WebInspector.ConsoleView.prototype.doEvalInWindow):
2893 (WebInspector.ConsoleTextMessage):
2894 * inspector/front-end/DOMAgent.js:
2895 (WebInspector.DOMAgent.prototype.get domWindow):
2896 (InspectorController.openInInspectedWindow):
2897 (InspectorController.getCallFrames):
2898 (InspectorController.evaluateInCallFrame):
2899 * inspector/front-end/ElementsPanel.js:
2900 (WebInspector.ElementsPanel.prototype.reset):
2901 (WebInspector.ElementsPanel.prototype.generateStylesheet):
2902 * inspector/front-end/InjectedScript.js:
2903 (InjectedScript.evaluate):
2904 (InjectedScript._evaluateOn):
2905 (InjectedScript.openInInspectedWindow):
2906 (InjectedScript.getCallFrames):
2907 (InjectedScript.evaluateInCallFrame):
2908 (InjectedScript._callFrameForId):
2909 (InjectedScript._objectForId):
2910 (InjectedScript.CallFrameProxy):
2911 (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
2912 * inspector/front-end/ObjectPropertiesSection.js:
2913 (WebInspector.ObjectPropertiesSection.prototype._update):
2914 * inspector/front-end/ObjectProxy.js:
2915 (WebInspector.ObjectPropertyProxy):
2916 * inspector/front-end/ResourcesPanel.js:
2917 (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
2918 * inspector/front-end/ScopeChainSidebarPane.js:
2919 (WebInspector.ScopeChainSidebarPane):
2920 (WebInspector.ScopeChainSidebarPane.prototype.update):
2921 (WebInspector.ScopeVariableTreeElement.prototype.onattach):
2922 (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
2923 (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
2924 * inspector/front-end/ScriptsPanel.js:
2925 (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
2926 (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
2927 (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
2928 (WebInspector.ScriptsPanel.prototype.debuggerPaused):
2930 2009-08-24 Kent Tamura <tkent@chromium.org>
2932 Reviewed by Eric Seidel.
2934 Add support for the placeholder attribute and DOM property of the textarea element.
2935 https://bugs.webkit.org/show_bug.cgi?id=21248
2937 A DOM node for an INPUT element doesn't have a flag for placeholder
2938 visibility anymore. This patch also fixes a bug that a renderer
2939 doesn't reflect a corresponding DOM value change.
2941 Tests: fast/forms/textarea-placeholder-dom-property.html
2942 fast/forms/textarea-placeholder-pseudo-style.html
2943 fast/forms/textarea-placeholder-set-attribute.html
2944 fast/forms/textarea-placeholder-set-value.html
2946 * css/html.css: Add the default style for placeholder of textarea.
2947 * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
2948 (WebCore::InputElement::dispatchFocusEvent):
2949 (WebCore::InputElement::dispatchBlurEvent):
2950 (WebCore::InputElement::placeholderShouldBeVisible):
2951 (WebCore::InputElement::updatePlaceholderVisibility):
2952 (WebCore::InputElement::setValueFromRenderer):
2953 (WebCore::InputElementData::InputElementData):
2954 * dom/InputElement.h:
2955 * html/HTMLInputElement.cpp:
2956 (WebCore::HTMLInputElement::dispatchFocusEvent):
2957 (WebCore::HTMLInputElement::dispatchBlurEvent):
2958 (WebCore::HTMLInputElement::setValue):
2959 (WebCore::HTMLInputElement::placeholderShouldBeVisible):
2960 * html/HTMLInputElement.h:
2961 (WebCore::HTMLInputElement::updatePlaceholderVisibility):
2962 * html/HTMLTextAreaElement.cpp:
2963 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2964 (WebCore::HTMLTextAreaElement::setValue):
2965 (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
2966 (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
2967 (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
2968 (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
2969 * html/HTMLTextAreaElement.h:
2970 * html/HTMLTextAreaElement.idl:
2971 * rendering/RenderTextControl.cpp:
2972 (WebCore::RenderTextControl::RenderTextControl):
2973 (WebCore::RenderTextControl::styleDidChange):
2974 (WebCore::RenderTextControl::setInnerTextStyle):
2975 (WebCore::RenderTextControl::updatePlaceholderVisibility):
2976 * rendering/RenderTextControl.h:
2977 * rendering/RenderTextControlMultiLine.cpp:
2978 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
2979 (WebCore::RenderTextControlMultiLine::nodeAtPoint):
2980 (WebCore::RenderTextControlMultiLine::updateFromElement):
2981 (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2982 (WebCore::RenderTextControlMultiLine::textBaseStyle):
2983 * rendering/RenderTextControlMultiLine.h:
2984 * rendering/RenderTextControlSingleLine.cpp:
2985 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2986 (WebCore::RenderTextControlSingleLine::textBaseStyle):
2987 (WebCore::RenderTextControlSingleLine::updateFromElement):
2988 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2989 * rendering/RenderTextControlSingleLine.h:
2990 * wml/WMLInputElement.cpp:
2991 (WebCore::WMLInputElement::dispatchFocusEvent):
2992 (WebCore::WMLInputElement::dispatchBlurEvent):
2993 (WebCore::WMLInputElement::setValue):
2994 (WebCore::WMLInputElement::placeholderShouldBeVisible):
2996 2009-08-23 Dirk Schulze <krit@webkit.org>
2998 Reviewed by Mark Rowe.
3000 Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
3001 into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
3002 files. They are needed there after r47688.
3005 * svg/SVGComponentTransferFunctionElement.h:
3006 * svg/SVGFELightElement.h:
3007 * svg/SVGFEMergeNodeElement.h:
3008 * svg/SVGFilterPrimitiveStandardAttributes.h:
3010 2009-08-23 Gustavo Noronha Silva <gns@gnome.org>
3012 Unreviewed, build fix for make distcheck on GTK+.
3014 * GNUmakefile.am: Added files needed for the build.
3015 * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
3017 * bindings/js/JSEventTarget.cpp: Dito.
3018 * dom/Document.cpp: Dito.
3019 * loader/FrameLoader.cpp: Dito.
3021 2009-08-23 Joseph Pecoraro <joepeck@webkit.org>
3023 Reviewed by Timothy Hatcher.
3025 Inspector: Throws an Error on "null"
3026 https://bugs.webkit.org/show_bug.cgi?id=28665
3028 * inspector/front-end/InjectedScript.js:
3029 (InjectedScript.evaluate):
3031 2009-08-23 Pavel Feldman <pfeldman@chromium.org>
3033 Reviewed by Timothy Hatcher.
3035 Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
3037 https://bugs.webkit.org/show_bug.cgi?id=28666
3039 * inspector/front-end/InjectedScript.js:
3040 (InjectedScript.getProperties):
3041 (InjectedScript.createProxyObject):
3043 2009-08-22 Martin Robinson <martin.james.robinson@gmail.com>
3045 Reviewed by Xan Lopez.
3047 [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
3048 https://bugs.webkit.org/show_bug.cgi?id=28345
3050 When doing the conversion between cairo_surface_t* and GdkPixbuf*
3051 account for the differences in the respective formats' in-memory
3054 * platform/graphics/gtk/ImageGtk.cpp:
3055 (WebCore::getCairoSurfacePixel):
3056 (WebCore::getGdkPixbufPixel):
3057 (WebCore::BitmapImage::getGdkPixbuf):
3059 2009-08-22 Darin Adler <darin@apple.com>
3061 Reviewed by Oliver Hunt.
3063 Make DOM classes start with a reference count of 1, like all other RefCounted
3065 Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
3066 HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
3067 HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
3069 * DerivedSources.make: Fix error seen every time we build by escaping the $
3070 in the build rule, since you have to use $$ for that in make.
3072 * WebCore.base.exp: Updated.
3074 * bindings/objc/DOM.mm:
3075 Added now-needed include of SVGNames.h.
3077 * dom/Document.cpp: Added now-needed include of SVGNames.h.
3078 (WebCore::Document::createElement): Use create instead of new.
3081 (WebCore::Element::Element): Added ConstructionType argument so the caller
3082 can determine whether this starts with a reference count of either 0 or 1.
3083 Later we will remove this again once they are all 1.
3084 (WebCore::Element::create): Added.
3086 * dom/Element.h: Added create and made constructor protected.
3088 * dom/StyledElement.cpp:
3089 (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
3090 * dom/StyledElement.h: Made many functions protected or private, including
3093 * dom/make_names.pl: Use create to create the base elements HTMLElement,
3094 SVGElement, and WMLElement.
3096 * editing/CreateLinkCommand.cpp:
3097 (WebCore::CreateLinkCommand::doApply): Use create instead of new.
3098 * editing/UnlinkCommand.cpp:
3099 (WebCore::UnlinkCommand::doApply): Ditto.
3101 * html/HTMLAnchorElement.cpp:
3102 (WebCore::HTMLAnchorElement::create): Added.
3103 * html/HTMLAnchorElement.h: Made constructor protected and added create.
3104 Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
3106 * html/HTMLAppletElement.cpp:
3107 (WebCore::HTMLAppletElement::create): Added.
3108 * html/HTMLAppletElement.h: Made constructor private and added create.
3110 * html/HTMLAreaElement.cpp:
3111 (WebCore::HTMLAreaElement::create): Added.
3112 * html/HTMLAreaElement.h: Made constructor private and added create.
3114 * html/HTMLElement.cpp:
3115 (WebCore::HTMLElement::create): Added.
3116 * html/HTMLElement.h: Made constructor protected and added create.
3117 Made other functions protected and private. Also added inline
3118 definition of constructor.
3120 * html/HTMLEmbedElement.cpp:
3121 (WebCore::HTMLEmbedElement::create): Added.
3122 * html/HTMLEmbedElement.h: Made constructor private and added create.
3123 Made other functions private.
3125 * html/HTMLFrameElement.cpp:
3126 (WebCore::HTMLFrameElement::create): Added.
3127 (WebCore::HTMLFrameElement::parseMappedAttribute):
3128 * html/HTMLFrameElement.h: Made constructor private and added create.
3129 Made other functions private.
3131 * html/HTMLFrameElementBase.h: Made functions protected and private.
3133 * html/HTMLFrameOwnerElement.cpp:
3134 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
3135 CreateElement so reference count starts at 1.
3137 * html/HTMLFrameOwnerElement.h: Made functions protected and private.
3139 * html/HTMLIFrameElement.cpp:
3140 (WebCore::HTMLIFrameElement::create): Added.
3141 * html/HTMLIFrameElement.h: Made constructor private and added create.
3142 Made other functions private.
3144 * html/HTMLObjectElement.cpp:
3145 (WebCore::HTMLObjectElement::create): Added.
3146 (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
3147 into a for loop and tweaked formatting.
3149 * html/HTMLObjectElement.h: Made constructor private and added create.
3150 Made other functions private.
3152 * html/HTMLPlugInElement.h: Made constructor protected.
3153 Made other functions protected and private.
3155 * html/HTMLPlugInImageElement.h: Made constructor and another function
3158 * html/HTMLTagNames.in: Removed createWithNew from all classes that
3159 now have create functions. Moved conditional noscript to a separate
3162 * html/HTMLViewSourceDocument.cpp:
3163 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
3164 (WebCore::HTMLViewSourceDocument::addLink): Ditto.
3165 * page/DragController.cpp:
3166 (WebCore::documentFragmentFromDragData): Ditto.
3168 * svg/SVGElement.cpp:
3169 (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
3170 so reference count still starts at 0. Will change this class later.
3171 (WebCore::SVGElement::create): Added.
3172 * svg/SVGElement.h: Added create, made constructor protected, and
3173 made other functions protected and private. Removed unneeded
3176 * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
3179 * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
3180 Made functions private.
3182 * wml/WMLElement.cpp:
3183 (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
3184 so reference count still starts at 0. Will change this class later.
3185 (WebCore::WMLElement::create): Added.
3186 * wml/WMLElement.h: Added create and made constructor protected.
3188 * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
3190 2009-08-22 Adele Peterson <adele@apple.com>
3192 Reviewed by Anders Carlsson.
3194 Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
3196 Custom scrollbars normally get detached when a document gets detached. In this case, a crash was happening when the document had gone into the page cache
3197 and then was getting destroyed without proper scrollbar teardown. This change makes custom scrollbars get detached when the document enters the cache.
3199 I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.
3201 * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.
3202 They'll get reattached when the document comes out of the page cache.
3203 * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
3205 2009-08-22 David Hyatt <hyatt@apple.com>
3207 Reviewed by Dan Bernstein.
3209 Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
3210 the bottom of their parent blocks. The old code prevented all collapsing, but all CSS2.1 states is that:
3211 "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
3213 The implication is that the bottom margin can still collapse, and the block-inside-inline form of
3214 fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
3215 on it to get comparable results.
3217 Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
3219 * rendering/RenderBlock.cpp:
3220 (WebCore::RenderBlock::MarginInfo::MarginInfo):
3221 (WebCore::RenderBlock::collapseMargins):
3222 (WebCore::RenderBlock::clearFloatsIfNeeded):
3223 (WebCore::RenderBlock::handleBottomOfBlock):
3224 * rendering/RenderBlock.h:
3225 (WebCore::RenderBlock::MarginInfo::clearMargin):
3226 (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
3228 2009-08-22 Chris Fleizach <cfleizach@apple.com>
3230 Reviewed by Darin Adler.
3232 Need to implement ARIA role="listitem" and role="list"
3233 https://bugs.webkit.org/show_bug.cgi?id=28606
3235 Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
3237 * accessibility/AXObjectCache.cpp:
3238 (WebCore::AXObjectCache::getOrCreate):
3239 * accessibility/AccessibilityList.cpp:
3240 (WebCore::AccessibilityList::isUnorderedList):
3241 * accessibility/AccessibilityRenderObject.cpp:
3242 (WebCore::RoleEntry::):
3244 2009-08-21 Dan Bernstein <mitz@apple.com>
3246 Reviewed by Darin Adler.
3248 Clean up fill image geometry calculation
3249 https://bugs.webkit.org/show_bug.cgi?id=28652
3251 * rendering/RenderBoxModelObject.cpp:
3252 (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
3253 calculateBackgroundSize() to this. Replaced separate scaledWidth and
3254 scaledHeight parameters with a single scaledSize parameter. Renamed
3255 parameters and local variables.
3256 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
3257 to use CSS3 Backgrounds and Borders terminology in comments and
3258 local variable names. Renamed, clarified and consolidated some local
3260 * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
3262 2009-08-22 Chris Marrin <cmarrin@apple.com>
3264 Unreviewed, build fix.
3266 Backing out http://trac.webkit.org/changeset/47669
3268 * html/canvas/CanvasRenderingContext2D.cpp:
3269 * html/canvas/CanvasRenderingContext2D.h:
3271 2009-08-22 Dimitri Glazkov <dglazkov@chromium.org>
3273 Unreviewed, build fix.
3275 Backing out http://trac.webkit.org/changeset/47671 in preparation of
3276 rolling out http://trac.webkit.org/changeset/47669.
3278 2009-08-22 Dimitri Glazkov <dglazkov@chromium.org>
3280 Reviewed by Anders Carlsson.
3282 Build fix, add CanvasRenderingContext to build systems.
3283 https://bugs.webkit.org/show_bug.cgi?id=28018
3285 * DerivedSources.make: Added CanvasRenderinContext.
3286 * GNUmakefile.am: Ditto.
3287 * WebCore.gypi: Ditto.
3288 * WebCore.pro: Ditto.
3289 * WebCore.xcodeproj/project.pbxproj: Ditto.
3290 * WebCoreSources.bkl: Ditto.
3292 2009-08-21 Chris Marrin <cmarrin@apple.com>
3294 Reviewed by Oliver Hunt.
3296 New files implementing GL buffer wrappers, and support to make them platform independent
3297 https://bugs.webkit.org/show_bug.cgi?id=28018
3299 * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
3300 * html/canvas/CanvasBuffer.h: Added.
3301 * html/canvas/CanvasBuffer.idl: Added.
3302 * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
3303 * html/canvas/CanvasFramebuffer.h: Added.
3304 * html/canvas/CanvasFramebuffer.idl: Added.
3305 * html/canvas/CanvasObject.h: Expose m_context
3306 * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
3307 * html/canvas/CanvasProgram.h: Added.
3308 * html/canvas/CanvasProgram.idl: Added.
3309 * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
3310 * html/canvas/CanvasRenderbuffer.h: Added.
3311 * html/canvas/CanvasRenderbuffer.idl: Added.
3312 * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
3313 * html/canvas/CanvasRenderingContext3D.h:
3314 * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
3315 * html/canvas/CanvasShader.h: Added.
3316 * html/canvas/CanvasShader.idl: Added.
3317 * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
3318 * html/canvas/CanvasTexture.h: Added.
3319 * html/canvas/CanvasTexture.idl: Added.
3320 * platform/graphics/GraphicsContext3D.cpp: Removed.
3321 * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
3322 * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
3324 2009-08-21 Darin Adler <darin@apple.com>
3326 * WebCore.vcproj/build-generated-files.sh:
3327 * make-generated-sources.sh:
3328 Removed obsolete code to set up CREATE_HASH_TABLE.
3330 2009-08-21 Adele Peterson <adele@apple.com>
3332 Reviewed by Mark Rowe.
3334 <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled
3336 * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile):
3337 No need to open the file with write access. Only read access is needed.
3339 2009-08-21 Alexey Proskuryakov <ap@apple.com>
3341 Reviewed by Darin Adler.
3343 <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
3345 Also fixes leaks seen on appcache tests.
3347 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
3348 something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
3349 to call, and we do not think that the leak occurs there anyway.
3351 2009-08-21 Dmitry Titov <dimich@chromium.org>
3353 Reviewed by David Levin.
3355 https://bugs.webkit.org/show_bug.cgi?id=28650
3356 Remove cross-thread code from CrossOriginPreflightResultCache.
3357 Removed mutexes, atomic initializer and string copy.
3359 No new tests, the worker tests cover this.
3361 * loader/CrossOriginPreflightResultCache.cpp:
3362 (WebCore::addToAccessControlAllowList):
3363 (WebCore::CrossOriginPreflightResultCache::shared):
3364 (WebCore::CrossOriginPreflightResultCache::appendEntry):
3365 (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
3366 (WebCore::CrossOriginPreflightResultCache::empty):
3367 * loader/CrossOriginPreflightResultCache.h:
3369 2009-08-21 Michelangelo De Simone <micdesim@gmail.com>
3371 Reviewed by Jan Alonzo.
3373 Buildfix after http://trac.webkit.org/changeset/47655.
3375 * html/HTMLFormControlElement.h:
3377 2009-08-19 Joseph Pecoraro <joepeck@webkit.org>
3379 Reviewed by Timothy Hatcher.
3381 Inspector: Improve Cookie DataGrid to Show Hidden Data
3382 https://bugs.webkit.org/show_bug.cgi?id=28269
3384 Removed Custom Bindings
3386 * bindings/js/JSInspectorBackendCustom.cpp:
3387 * bindings/v8/custom/V8CustomBinding.h:
3388 * bindings/v8/custom/V8InspectorBackendCustom.cpp:
3389 * inspector/InspectorBackend.cpp:
3391 Made Non-Custom Bindings in the Backend
3393 (WebCore::InspectorBackend::getCookies):
3394 (WebCore::InspectorBackend::deleteCookie):
3395 * inspector/InspectorBackend.h:
3396 * inspector/InspectorBackend.idl:
3397 * inspector/InspectorController.cpp:
3398 (WebCore::InspectorController::deleteCookie):
3399 * inspector/InspectorController.h:
3401 Build the Cookie ScriptObjects, handles using document.cookie in
3402 case the platform hasn't implemented raw cookie access.
3404 * inspector/InspectorDOMAgent.cpp:
3405 (WebCore::InspectorDOMAgent::getCookies):
3406 (WebCore::InspectorDOMAgent::buildObjectForCookie):
3407 (WebCore::InspectorDOMAgent::buildArrayForCookies):
3408 * inspector/InspectorDOMAgent.h:
3410 Complete the Asynchronous Calls
3412 * inspector/InspectorFrontend.cpp:
3413 (WebCore::InspectorFrontend::didGetCookies):
3414 * inspector/InspectorFrontend.h:
3416 Asynchronous Functions to get Cookie Data
3418 * inspector/front-end/DOMAgent.js:
3419 (WebInspector.Cookies.getCookiesAsync):
3420 (WebInspector.Cookies.buildCookiesFromString): fallback behavior
3422 Refactor to use the Asynchronous Functions
3424 * inspector/front-end/CookieItemsView.js:
3425 (WebInspector.CookieItemsView):
3426 (WebInspector.CookieItemsView.prototype.get statusBarItems):
3427 (WebInspector.CookieItemsView.prototype.update.callback):
3428 (WebInspector.CookieItemsView.prototype.update):
3429 (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
3430 (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
3432 Cleaned/Commented Related Code
3434 (InspectorController.searchCanceled):
3435 * inspector/front-end/InjectedScript.js:
3436 * platform/Cookie.h:
3437 * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
3439 2009-08-21 Michelangelo De Simone <micdesim@gmail.com>
3441 Reviewed by Adele Peterson.
3443 https://bugs.webkit.org/show_bug.cgi?id=28145
3444 Add support for novalidate/formnovalidate attribute, from HTML5 specs:
3445 http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
3447 Tests: fast/forms/formnovalidate-attribute.html
3448 fast/forms/novalidate-attribute.html
3450 * html/HTMLAttributeNames.in: added novalidate, formnovalidate
3451 * html/HTMLButtonElement.idl: formnovalidate attribute exposed
3452 * html/HTMLFormControlElement.cpp:
3453 (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
3454 (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
3455 * html/HTMLFormControlElement.h:
3456 * html/HTMLFormElement.cpp:
3457 (WebCore::HTMLFormElement::novalidate): attribute getter
3458 (WebCore::HTMLFormElement::setNovalidate): attribute setter
3459 * html/HTMLFormElement.h:
3460 * html/HTMLFormElement.idl: novalidate attribute exposed
3461 * html/HTMLInputElement.idl: formNoValidate attribute exposed
3463 2009-08-21 Dan Bernstein <mitz@apple.com>
3465 Reviewed by Beth Dakin.
3467 Rendering changes to complete
3468 [CSS3 Backgrounds and Borders] Add support for the "contain" value for
3470 https://bugs.webkit.org/show_bug.cgi?id=27573
3472 [CSS3 Backgrounds and Borders] Add support for the "cover" value for
3474 https://bugs.webkit.org/show_bug.cgi?id=27574
3476 Test: fast/backgrounds/size/contain-and-cover.html
3478 * rendering/RenderBoxModelObject.cpp:
3479 (WebCore::RenderBoxModelObject::calculateBackgroundSize):
3480 * rendering/RenderObject.cpp:
3481 (WebCore::mustRepaintFillLayers):
3483 2009-08-21 Michelangelo De Simone <micdesim@gmail.com>
3485 Reviewed by Adele Peterson.
3487 https://bugs.webkit.org/show_bug.cgi?id=27452
3488 Add support for checkValidity() method and invalid event, from HTML5
3490 http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
3492 Tests: fast/events/invalid-001.html
3493 fast/events/invalid-002.html
3494 fast/events/invalid-003.html
3495 fast/events/invalid-004.html
3496 fast/events/invalid-005.html
3497 fast/forms/checkValidity-001.html
3498 fast/forms/checkValidity-002.html
3499 fast/forms/checkValidity-003.html
3500 fast/forms/checkValidity-004.html
3502 * dom/Document.idl: oninvalid event handler
3503 * dom/Element.idl: ditto
3504 * dom/EventNames.h: added invalid event
3506 (WebCore::Node::oninvalid): ditto
3507 (WebCore::Node::setOninvalid): ditto
3509 * html/HTMLAttributeNames.in: oninvalid attribute
3510 * html/HTMLButtonElement.idl: added checkValidity() method
3511 * html/HTMLElement.cpp:
3512 (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
3513 * html/HTMLFieldSetElement.idl: added checkValidity() method
3514 * html/HTMLFormControlElement.cpp:
3515 (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
3517 * html/HTMLFormControlElement.h:
3518 * html/HTMLFormElement.cpp:
3519 (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
3521 * html/HTMLFormElement.h: checkValidity() definition
3522 * html/HTMLFormElement.idl: added checkValidity() method
3523 * html/HTMLInputElement.idl: added checkValidity() method
3524 * html/HTMLSelectElement.idl: added checkValidity() method
3525 * html/HTMLTextAreaElement.idl: added checkValidity() method
3526 * page/DOMWindow.cpp:
3527 (WebCore::DOMWindow::oninvalid): oninvalid event handler
3528 (WebCore::DOMWindow::setOninvalid): ditto
3529 * page/DOMWindow.h: ditto
3530 * page/DOMWindow.idl: ditto
3532 2009-08-21 Beth Dakin <bdakin@apple.com>
3534 Reviewed by Dan Bernstein.
3536 The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3
3537 Backgrounds and Borders] Add support for the "round" value for
3540 https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and
3541 Borders] Add support for the "space" value for background-repeat
3543 * css/CSSParser.cpp:
3544 (WebCore::CSSParser::parseFillProperty):
3545 * css/CSSPrimitiveValueMappings.h:
3546 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3547 (WebCore::CSSPrimitiveValue::operator EFillRepeat):
3548 * css/CSSValueKeywords.in:
3549 * rendering/style/FillLayer.h:
3550 * rendering/style/RenderStyleConstants.h:
3553 2009-08-21 Chris Marrin <cmarrin@apple.com>
3555 Reviewed by Oliver Hunt.
3557 New files for Canvas 3D feature
3558 https://bugs.webkit.org/show_bug.cgi?id=28018
3560 This is all the new files for implementing Canvas 3D. None of them are hooked up and
3561 are not even included in the build yet. This incorporates the reviews from Simon
3562 and Ollie for these files.
3564 * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
3565 * html/CanvasObject.cpp: Added. Base class for all GL object containers
3566 * html/CanvasObject.h: Added.
3567 * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
3568 * html/CanvasRenderingContext.h: Added.
3569 * html/CanvasRenderingContext.idl: Added.
3570 * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext()
3571 * html/CanvasRenderingContext3D.h: Added.
3572 * html/CanvasRenderingContext3D.idl: Added.
3573 * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine
3574 * platform/graphics/GraphicsContext3D.h: Added.
3575 * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas
3576 * platform/graphics/mac/Canvas3DLayer.mm: Added.
3577 * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based)
3579 2009-08-21 Ryosuke Niwa <rniwa@webkit.org>
3583 Another Windows build fix.
3585 * editing/ApplyStyleCommand.cpp:
3586 (WebCore::diffTextDecorations):
3588 2009-08-21 David Hyatt <hyatt@apple.com>
3590 Reviewed by Simon Fraser.
3592 https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
3593 line box shrinking quirk. Make sure outlines don't extend outside the lineTop and lineBottom
3594 of the root line box.
3596 Covered by existing tests.
3598 * rendering/RenderBlock.cpp:
3599 (WebCore::RenderBlock::addFocusRingRects):
3600 * rendering/RenderInline.cpp:
3601 (WebCore::RenderInline::addFocusRingRects):
3602 (WebCore::RenderInline::paintOutline):
3604 2009-08-21 Ryosuke Niwa <rniwa@webkit.org>
3610 * editing/ApplyStyleCommand.cpp:
3611 (WebCore::setTextDecorationProperty): Made it static
3612 (WebCore::diffTextDecorations): Made it static
3614 2009-08-21 Ryosuke Niwa <rniwa@webkit.org>
3616 Reviewed by Eric Seidel.
3618 execCommand("Underline") uses CSS even when styleWithCSS has been turned off
3619 https://bugs.webkit.org/show_bug.cgi?id=23892
3621 This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
3622 WebKit does not use CSS to decorate texts when styleWithCSS is set to false.
3624 * css/CSSValueList.cpp:
3625 (WebCore::CSSValueList::copy): Added.
3626 * css/CSSValueList.h: Added copy.
3627 * editing/ApplyStyleCommand.cpp:
3628 (WebCore::StyleChange::applyUnderline):
3629 (WebCore::StyleChange::applyLineThrough):
3630 (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
3631 (WebCore::StyleChange::init): Ditto.
3632 (WebCore::StyleChange::extractTextStyles): Handles text decorations.
3633 (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
3634 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.
3636 2009-08-21 Joseph Pecoraro <joepeck@webkit.org>
3638 Reviewed by Timothy Hatcher.
3640 Inspector: Rename "Databases" Panel as "Storage"
3641 https://bugs.webkit.org/show_bug.cgi?id=28620
3643 Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.
3645 * inspector/InspectorController.cpp:
3646 (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
3647 * inspector/InspectorController.h:
3648 (WebCore::InspectorController::):
3649 * inspector/InspectorFrontend.cpp:
3650 (WebCore::InspectorFrontend::showPanel):
3652 Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
3653 any DatabasesPanel constructors and appropriate function names.
3655 * inspector/front-end/DOMStorageDataGrid.js:
3656 (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
3657 (WebInspector.DOMStorageDataGrid.prototype._startEditing):
3658 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
3659 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
3660 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
3661 * inspector/front-end/DOMStorageItemsView.js:
3662 (WebInspector.DOMStorageItemsView.prototype.update):
3663 * inspector/front-end/DatabaseQueryView.js:
3664 (WebInspector.DatabaseQueryView.prototype._queryFinished):
3665 * inspector/front-end/DatabaseTableView.js:
3666 (WebInspector.DatabaseTableView.prototype._queryFinished):
3667 * inspector/front-end/inspector.js:
3668 (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage"
3669 (WebInspector.showStoragePanel):
3670 (WebInspector.selectDatabase):
3671 (WebInspector.selectDOMStorage):
3672 (WebInspector.addDatabase):
3673 (WebInspector.addDOMStorage):
3675 Renamed some files and Updated Accordingly.
3677 * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
3678 * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
3679 * inspector/front-end/WebKit.qrc: use new file names
3680 * inspector/front-end/inspector.css: use new images name and class names
3681 * inspector/front-end/inspector.html: use new file name
3682 * WebCore.gypi: use new file names
3684 Miscellaneous Updates.
3686 * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
3688 2009-08-21 Maxime Simon <simon.maxime@gmail.com>
3690 Reviewed by Oliver Hunt.
3692 [Haiku] Adding three font-specific files to WebCore:
3693 FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
3694 https://bugs.webkit.org/show_bug.cgi?id=28131
3696 * platform/graphics/haiku/FontCacheHaiku.cpp: Added.
3697 (WebCore::FontCache::platformInit):
3698 (WebCore::FontCache::getFontDataForCharacters):
3699 (WebCore::FontCache::getSimilarFontPlatformData):
3700 (WebCore::FontCache::getLastResortFallbackFont):
3701 (WebCore::FontCache::createFontPlatformData):
3702 (WebCore::FontCache::getTraitsInFamily):
3703 * platform/graphics/haiku/FontHaiku.cpp: Added.
3704 (charUnicodeToUTF8HACK):
3705 (WebCore::Font::canReturnFallbackFontsForComplexText):
3706 (WebCore::Font::drawGlyphs):
3707 (WebCore::Font::drawComplexText):
3708 (WebCore::Font::floatWidthForComplexText):
3709 (WebCore::Font::selectionRectForComplexText):
3710 (WebCore::Font::offsetForPositionForComplexText):
3711 * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added.
3712 (WebCore::SimpleFontData::platformInit):
3713 (WebCore::SimpleFontData::platformCharWidthInit):
3714 (WebCore::SimpleFontData::platformDestroy):
3715 (WebCore::SimpleFontData::smallCapsFontData):
3716 (WebCore::SimpleFontData::containsCharacters):
3717 (WebCore::SimpleFontData::determinePitch):
3718 (WebCore::SimpleFontData::platformWidthForGlyph):
3720 2009-08-21 Philippe Beauchamp <philippe.beauchamp@gmail.com>
3722 Reviewed by Adam Roben.
3724 Middle click panning icon is offset by 3 pixels
3725 https://bugs.webkit.org/show_bug.cgi?id=28611
3727 * platform/ScrollView.cpp:
3728 panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
3729 * platform/win/CursorWin.cpp:
3730 (WebCore::middlePanningCursor):
3731 Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
3733 2009-08-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
3735 Reviewed by Eric Seidel.
3737 [Qt] Remove inspector resources for Symbian
3738 https://bugs.webkit.org/show_bug.cgi?id=28610
3740 Based on an idea from Simon Hausmann.
3744 2009-08-21 Joseph Pecoraro <joepeck@webkit.org>
3746 Reviewed by Eric Seidel.
3748 Inspector: Remove Unused Variable
3749 https://bugs.webkit.org/show_bug.cgi?id=28616
3751 * inspector/front-end/Resource.js:
3752 (WebInspector.Resource.prototype._checkWarning):
3754 2009-08-21 Joseph Pecoraro <joepeck@webkit.org>
3756 Reviewed by Timothy Hatcher.
3758 Inspector: Console Array Formatter Shows Extra Properties
3759 https://bugs.webkit.org/show_bug.cgi?id=28615
3761 * inspector/front-end/ConsoleView.js:
3762 (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
3764 2009-08-21 Beth Dakin <bdakin@apple.com>
3766 Reviewed by Dan Bernstein.
3768 The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3
3769 Backgrounds and Borders] Add support for the "contain" value for
3772 https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and
3773 Borders] Add support for the "cover" value for background-size
3775 Return contain or cover when appropriate, and otherwise do what we
3777 * css/CSSComputedStyleDeclaration.cpp:
3778 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3780 Accept contain and cover as valid values for background-size.
3781 * css/CSSParser.cpp:
3782 (WebCore::CSSParser::parseFillProperty):
3784 Handle setting the size and the sizeLength if appropriate.
3785 * css/CSSStyleSelector.cpp:
3786 (WebCore::CSSStyleSelector::mapFillSize):
3788 Added new keywords contain and cover.
3789 * css/CSSValueKeywords.in:
3791 Use just sizeLength instead of size to match old behavior.
3792 * page/animation/AnimationBase.cpp:
3793 (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
3794 * rendering/RenderBoxModelObject.cpp:
3795 (WebCore::RenderBoxModelObject::calculateBackgroundSize):
3796 * rendering/RenderObject.cpp:
3797 (WebCore::mustRepaintFillLayers):
3799 The variable m_sizeType is an EBackgroundSize, and m_sizeLength is
3800 a LengthSize (the equivalent of what m_size used to be). I got rid
3801 of m_sizeSet and made isSizeSet() dynamic. I also defined a new
3802 struct, FillSize that can be used to set or get m_size and
3803 m_sizeLength both at once.
3804 * rendering/style/FillLayer.cpp:
3805 (WebCore::FillLayer::FillLayer):
3806 (WebCore::FillLayer::operator=):
3807 (WebCore::FillLayer::operator==):
3808 (WebCore::FillLayer::fillUnsetProperties):
3809 * rendering/style/FillLayer.h:
3810 (WebCore::FillSize::FillSize):
3811 (WebCore::FillSize::operator==):
3812 (WebCore::FillSize::operator!=):
3813 (WebCore::FillLayer::sizeLength):
3814 (WebCore::FillLayer::size):
3815 (WebCore::FillLayer::isSizeSet):
3816 (WebCore::FillLayer::setSizeType):
3817 (WebCore::FillLayer::setSizeLength):
3818 (WebCore::FillLayer::setSize):
3819 (WebCore::FillLayer::clearSize):
3820 (WebCore::FillLayer::initialFillSizeType):
3821 (WebCore::FillLayer::initialFillSizeLength):
3822 (WebCore::FillLayer::initialFillSize):
3824 This is all boiler-plate stuff to adjust to the new size() vs.
3825 sizeType() vs. sizeLength() distinction.
3826 * rendering/style/RenderStyle.h:
3827 (WebCore::InheritedFlags::backgroundSizeType):
3828 (WebCore::InheritedFlags::backgroundSizeLength):
3829 (WebCore::InheritedFlags::maskSize):
3830 (WebCore::InheritedFlags::setBackgroundSize):
3831 (WebCore::InheritedFlags::setBackgroundSizeLength):
3832 (WebCore::InheritedFlags::setMaskSize):
3834 Definition for EBackgroundSizeType.
3835 * rendering/style/RenderStyleConstants.h:
3838 2009-08-21 Ariya Hidayat <ariya.hidayat@nokia.com>
3840 Not reviewed, build fix after r47580.
3842 [Qt] Adjust the files.
3844 * inspector/front-end/WebKit.qrc:
3846 2009-08-20 Chris Fleizach <cfleizach@apple.com>
3848 Reviewed by Darin Adler.
3850 Enable various "grouping" ARIA roles
3851 https://bugs.webkit.org/show_bug.cgi?id=28486
3853 Test: platform/mac/accessibility/aria-grouping-roles.html
3855 * accessibility/AccessibilityObject.h:
3856 * accessibility/AccessibilityRenderObject.cpp:
3857 * accessibility/mac/AccessibilityObjectWrapper.mm:
3858 * page/mac/WebCoreViewFactory.h:
3859 * platform/LocalizedStrings.h:
3860 * platform/mac/LocalizedStringsMac.mm:
3862 2009-08-20 David Levin <levin@chromium.org>
3864 Unreviewed trivial comment fix.
3866 Update a bug link in a comment due to bugzilla amnesia.
3868 * loader/CachedResource.cpp:
3869 (WebCore::CachedResource::setResourceToRevalidate):
3871 2009-08-20 Albert J. Wong <ajwong@chromium.org>
3873 Reviewed by David Levin.
3875 HTML5 media elements do not fire waiting events correctly
3876 https://bugs.webkit.org/show_bug.cgi?id=28335
3878 Fire the waiting event before seeking, and fix a case where firing of
3879 the seeked event is missed when the ready state is changed during
3882 Added video-waiting-seeking.html into manual tests because not
3883 all platforms allow seeking into non-buffered ranges.
3885 * html/HTMLMediaElement.cpp:
3886 (WebCore::HTMLMediaElement::setReadyState): add support for
3887 waiting event when seeking.
3888 (WebCore::HTMLMediaElement::finishSeek): send seeked event
3889 whenever seeking finishes.
3890 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
3892 * html/HTMLMediaElement.h:
3893 * manual-tests/video-waiting-seeking.html: Added.
3895 2009-08-20 Dan Bernstein <mitz@apple.com>
3897 Reviewed by John Sullivan.
3900 <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
3901 the console with certain content
3903 If the border box is empty, simply avoid painting instead of trying to
3904 clip to the empty path.
3906 * rendering/RenderBoxModelObject.cpp:
3907 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3908 * rendering/RenderReplaced.cpp:
3909 (WebCore::RenderReplaced::paint):
3910 * rendering/RenderWidget.cpp:
3911 (WebCore::RenderWidget::paint):
3913 2009-08-20 Jeremy Orlow <jorlow@chromium.org>
3915 Build fix. Forgot a svn add for a patch I landed. :-(
3917 * storage/SQLTransactionClient.cpp: Added.
3918 (WebCore::SQLTransactionClient::didCommitTransaction):
3919 (WebCore::SQLTransactionClient::didExecuteStatement):
3920 (WebCore::SQLTransactionClient::didExceedQuota):
3921 * storage/SQLTransactionClient.h: Added.
3923 2009-08-20 Dumitru Daniliuc <dumi@chromium.org>
3925 Reviewed by Dimitri Glazkov.
3927 Added a client to SQLTransaction. In addition to being a place to
3928 get notifications about certain events in a transaction, it is
3929 also an abstraction layer that allows us to plug in different
3930 implementations for each port for how transactions interract with
3931 the main DB. For example, WebCore's default implementation will
3932 make direct calls to DatabaseTracker's methods. At the same time,
3933 Chromium's implementation will send IPCs to the browser process
3934 whenever a transaction needs something from the main DB.
3936 All storage tests pass.
3938 https://bugs.webkit.org/show_bug.cgi?id=27967
3943 * WebCore.vcproj/WebCore.vcproj:
3944 * WebCore.xcodeproj/project.pbxproj:
3945 * WebCoreSources.bkl:
3946 * storage/Database.cpp:
3947 (WebCore::Database::transactionClient):
3948 * storage/Database.h:
3949 * storage/DatabaseThread.cpp:
3950 (WebCore::DatabaseThread::DatabaseThread):
3951 * storage/DatabaseThread.h:
3952 (WebCore::DatabaseThread::transactionClient):
3953 * storage/SQLTransaction.cpp:
3954 (WebCore::SQLTransaction::runCurrentStatement):
3955 (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
3956 (WebCore::SQLTransaction::postflightAndCommit):
3957 * storage/SQLTransactionClient.cpp: Added.
3958 * storage/SQLTransactionClient.h: Added.
3960 2009-08-20 Brian Weinstein <bweinstein@apple.com>
3962 Reviewed by Steve Falkenburg.
3964 Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
3965 Auto scroll speed is faster than in IE, Firefox.
3967 Changed pan scrolling speed to match Firefox's algorithm.
3969 * rendering/RenderLayer.cpp:
3970 (WebCore::adjustedScrollDelta):
3971 (WebCore::RenderLayer::panScrollFromPoint):
3973 2009-08-20 Stephen White <senorblanco@chromium.org>
3975 Reviewed by Eric Seidel.
3977 Fix for assert in Chromium page cycler: drawRect() was re-using
3978 an SkPaint, but not resetting it before calling
3979 PlatformGraphicsSkia::setupPaintForFilling() a second time. This
3980 CL fixes drawRect(), and re-enables the assert.
3981 http://bugs.webkit.org/show_bug.cgi?id=28172
3982 http://crbug.com/19797
3984 Covered by Chromium page cycler tests.
3986 * platform/graphics/skia/PlatformContextSkia.cpp:
3987 (PlatformContextSkia::drawRect):
3988 (PlatformContextSkia::setupPaintCommon):
3990 2009-08-20 Anders Carlsson <andersca@apple.com>
3992 Reviewed by Dan Bernstein.
3994 <rdar://problem/7159016> Popup menus don't disappear when you click outside the window.
3996 Revert r47535 which introduced this.
3998 * platform/win/PopupMenuWin.cpp:
3999 (WebCore::PopupMenu::show):
4000 (WebCore::PopupWndProc):
4002 2009-08-20 David Levin <levin@chromium.org>
4004 Reviewed by Alexey Proskuryakov.
4006 Crashes on sites with lots of images
4007 https://bugs.webkit.org/show_bug.cgi?id=28473
4009 The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
4010 CachedResource is still referring to it, so it may get deleted before
4011 Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.
4014 (WebCore::Cache::revalidateResource): Added assert to verify the resource
4015 being revalidated is physically in the cache.
4016 (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
4017 resource to the revalidated resource. This allows for proper lifetime management of the
4018 revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
4019 (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
4020 process of being validated (or else they can get added twice: Once through the normal mechanism
4021 and then again during revalidateResource).
4023 * loader/CachedResource.cpp:
4024 (WebCore::CachedResource::CachedResource):
4025 (WebCore::CachedResource::isSafeToMakePurgeable):
4026 Changed m_isBeingRevalidated to m_proxyResource to allow finding out
4027 who the validating resource (or proxy) is.
4029 (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
4030 being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
4032 (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
4033 and added a comment about the assert.
4034 (WebCore::CachedResource::clearResourceToRevalidate):
4035 Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.
4036 * loader/CachedResource.h:
4037 (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
4038 is still being referred to by it and the code it robust to this being switched to a new proxy
4039 resource without it being cleared first.
4040 (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.
4042 2009-08-20 Xiaomei Ji <xji@chromium.org>
4044 Reviewed by Eric Seidel.
4046 Fix "Chromium RTL autocomplete popup is not layout correctly".
4047 https://bugs.webkit.org/show_bug.cgi?id=27889
4049 The complete fix of the issue consists 2 parts: the patch in webkit
4050 and the patch in Chromium's own code.
4052 This webkit patch only affects Chromium autofill. It
4053 1. introduces a new flag in WebCore::PopupContainerSettings to
4054 distinguish whether the width of the drop-down should be restricted
4056 For autofill, the width of the drop-down is restricted to
4057 be the same as that of the input field (the new flag is set in
4058 Chromium's own code). But width is not restricted for <select> (same as before).
4059 2. introduce a new flag in WebCore::PopContainerSettings to
4060 indicate what heuristics to use when displaying text in drop-down menu.
4061 For autofill, use drop-down item's directionality to display drop-down items.
4062 Previously, drop-down item is displayed in the its first strong
4063 directional character's directionality.
4064 (drop-down item's directionality is set in Chromium's own code.
4065 It is set the same as the directionality of the element.
4066 For autofill, it is the same directionality as that of the input field.)
4067 For <select>, still use the text's first strong directional character's
4068 directionality to display the text.
4071 Since the patch only affects the chromium client, not webcore part or
4072 other clients. No automatic tests is possible.
4074 * manual-tests/autofill-popup-width-and-item-direction.html: Added.
4075 * platform/chromium/PopupMenuChromium.cpp:
4077 (WebCore::PopupListBox::paintRow): If list box width is restricted and
4078 an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses.
4079 (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
4080 * platform/chromium/PopupMenuChromium.h:
4081 (WebCore::PopupItem::PopupItem): style change.
4082 (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to
4083 distinguish whether to restrict width of list box and
4084 in what directionality to display the text in drop-down.
4086 2009-08-20 Brian Weinstein <bweinstein@apple.com>
4088 Reviewed by Adele Peterson.
4090 Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>.
4091 Pan Scrolling can scroll while showing the middlePanScroll icon.
4093 Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState.
4094 In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
4095 of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
4096 set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
4097 the off by one error.
4099 * rendering/RenderLayer.cpp:
4100 (WebCore::RenderLayer::panScrollFromPoint):
4102 2009-08-20 David Hyatt <hyatt@apple.com>
4104 Reviewed by Dan Bernstein.
4106 Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
4109 * rendering/RenderBlock.cpp:
4110 (WebCore::RenderBlock::layoutBlockChildren):
4111 (WebCore::RenderBlock::layoutBlockChild):
4112 * rendering/RenderBlock.h:
4114 2009-08-20 Brian Weinstein <bweinstein@apple.com>
4116 Reviewed by Adam Roben.
4118 Made subframeForHitTargetNode a public static method, so WebView can call it
4121 * page/EventHandler.cpp:
4122 (WebCore::subframeForHitTestResult):
4123 (WebCore::EventHandler::subframeForTargetNode):
4124 * page/EventHandler.h:
4126 2009-08-20 Brent Fulgham <bfulgham@webkit.org>
4128 Rubberstamped by Kevin Ollivier.
4130 Check for null bundle before attempting to use it.
4132 * platform/network/curl/ResourceHandleManager.cpp:
4133 (WebCore::certificatePath): Add null check on return of
4134 CFBundleGetBundleWithIdentifier.
4136 2009-08-20 David Hyatt <hyatt@apple.com>
4138 Reviewed by Dan Bernstein.
4140 https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.
4142 Added fast/repaint/inline-block-overflow.html and updated another test.
4144 * rendering/InlineFlowBox.cpp:
4145 (WebCore::InlineFlowBox::placeBoxesHorizontally):
4146 (WebCore::InlineFlowBox::computeVerticalOverflow):
4147 Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
4148 replaced element. Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
4149 RenderBox has not been updated to the new values yet.
4151 * rendering/RenderLineBoxList.cpp:
4152 (WebCore::RenderLineBoxList::paint):
4153 Don't use the root line box's overflow. Use the actual line box overflow values instead. In the case of an inline
4154 with a layer, our overflow didn't propagate to the root line, so we always need to use our values.
4156 * rendering/RenderPartObject.cpp:
4157 (WebCore::RenderPartObject::layout):
4158 * rendering/RenderReplaced.cpp:
4159 (WebCore::RenderReplaced::layout):
4160 Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
4161 value around if a box-shadow goes away.
4163 2009-08-20 Dmitry Titov <dimich@chromium.org>
4165 Another attempt to fix Chromium build.
4167 * WebCore.gypi: now use the correct name of the image file.
4169 2009-08-20 Dan Bernstein <mitz@apple.com>
4171 Make the Windows build even fixeder
4173 * platform/graphics/win/GraphicsContextCGWin.cpp:
4174 (WebCore::GraphicsContextPlatformPrivate::flush):
4176 2009-08-20 Dmitry Titov <dimich@chromium.org>
4178 Not reviewed, Chromium build fix.
4180 * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)
4182 2009-08-20 Dan Bernstein <mitz@apple.com>
4184 Windows build fix after the last change
4186 * platform/graphics/win/GraphicsContextCGWin.cpp:
4187 (WebCore::GraphicsContext::GraphicsContext):
4188 (WebCore::GraphicsContext::releaseWindowsContext):
4189 (WebCore::GraphicsContext::drawWindowsBitmap):
4191 2009-08-20 Dan Bernstein <mitz@apple.com>
4193 Reviewed by Geoffrey Garen.
4195 Replace many manually-released CFTypeRefs with RetainPtrs
4196 https://bugs.webkit.org/show_bug.cgi?id=28498
4198 * platform/graphics/cg/ColorCG.cpp:
4199 (WebCore::createCGColor):
4200 * platform/graphics/cg/GradientCG.cpp:
4201 (WebCore::Gradient::platformGradient):
4202 * platform/graphics/cg/GraphicsContextCG.cpp:
4203 (WebCore::GraphicsContext::platformContext):
4204 (WebCore::GraphicsContext::applyStrokePattern):
4205 (WebCore::GraphicsContext::applyFillPattern):
4206 (WebCore::GraphicsContext::setPlatformShadow):
4207 (WebCore::GraphicsContext::setURLForRect):
4208 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
4209 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4210 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
4211 * platform/graphics/cg/ImageBufferCG.cpp:
4212 (WebCore::ImageBuffer::ImageBuffer):
4213 * platform/graphics/cg/ImageCG.cpp:
4214 (WebCore::BitmapImage::checkForSolidColor):
4215 (WebCore::Image::drawPattern):
4216 * platform/graphics/cg/ImageSourceCG.cpp: